Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-04-17Patch from GSR that a) fixes a whole bunch of GPL/BL licenseChris Want
blocks that were previously missed; and b) greatly increase my ohloh stats!
2007-11-04New driver option for the poor suffering riggers:Ton Roosendaal
"Rotation Difference" This option, for Bones, allows the angle between two Bones to be the driver for another Ipo channel. This angle now is hardcoded based on the Bone-space orientation (without parenting rotation). Thanks to nathan for poking and test!
2007-08-21* Curve tilt interpolation typesMatt Ebb
Just a quickie feature I needed here at work- the previous linear interpolation of tilt in curves can give nasty pinching problems when trying to do flowing curves like a ribbon. This commit lets you choose the interpolation type, between Linear, Cardinal, and BSpline. The code was already set up for it pretty easily, mainly needed to make the choice visible to the user. Example: http://mke3.net/blender/devel/etc/tilt_interp_types.png Works on selected curve 'lines', menu in 'curve tools' panel in edit mode.
2007-08-08Added comments documenting a few variables in the DNA_curve_types.h structsJoshua Leung
2007-07-19== SDNA - Code Comments ==Joshua Leung
Added a few comments about various Animation-System Related structs. Hopefully, these will be helpful for people trying to get familiar with the code.
2007-04-25== Action Editor ==Joshua Leung
In the Action Editor, sliders are now drawn beside IPO-Curve and Constraint Channels and for the active Action Channel when the 'Show Sliders' option in the View menu is turned on. This behaves like for shapekeys. You can change the limits of the sliders by either Ctrl-Clicking or NKEY over the name of the relevant IPO-Curve channel. Also, documented the IPO-curve struct a bit. There are a few variables there that I'm not sure what they are used for.
2007-02-14Bugfix, email report.Ton Roosendaal
Copying texture space from Mesh to Curve crashed. Bad code. cleaned up.
2006-11-06Merged Google Summer of Code sculptmode/multires/retopo tools.Nicholas Bishop
From the tracker: https://projects.blender.org/tracker/index.php?func=detail&aid=5018&group_id=9&atid=127
2006-08-13* Shrink/Fatten for bevelled curvesMatt Ebb
This is a much faster and easier way to give a bevelled curve a taper, without using taper curves. Each point on a curve now has a 'radius' value that you can shrink and fatten using Alt S, which will influence the taper when the curve is bevelled (either with a bevob, or with front/back turned off and a bevel dept set). Alt S shrinks and fattens the selected points in an interactive transform, and you can set an absolute radius for selected points with 'Set Radius' in the curve specials menu. See demo: http://mke3.net/blender/etc/curve_shrinkfatten-h264.mov This can be a quick way to create revolved surfaces (eg. http://mke3.net/blender/etc/wineglass-h264.mov ) and it would be very interesting to use this radius value in other tools, such as a 'freehand curve' tool that would let you draw a curve freehand, with the radius affected by pen pressure, or even using the radius at each point to control curve guides for particles more precisely, rather than the continous maxdist.
2006-05-02Added some comments on what vec in BezTriple contains.Kent Mein
(Provided by harkyman) I also added comments explaining what the Blank lines with # where for above a couple of structures. (compiler ignores them and they specifiy to makesdna that that structure can be ignored) Kent
2006-04-30Pydrivers: Ipo Drivers controlled by Python expressionsWillian Padovani Germano
wiki with info: http://mediawiki.blender.org/index.php/BlenderDev/PyDrivers (there are two sample .blends in the patch tracker entry, last link in the wiki page) Notes: In usiblender.c I just made Python exit before the main library gets freed. I found a situation with pydrivers where py's gc tried to del objects on exit and their ID's were not valid anymore (so sigsegv). Ton needs to check the depsgraph part. For now pydrivers can reference their own object, something normal ipodrivers can't. This seems to work fine and is quite useful, but if tests prove the restriction is necessary, we just need to uncomment a piece of code in EXPP_interface.c, marked with "XXX". Thanks Ton for the ipodrivers code and adding the hooks for the py part and Martin for the "Button Python Evaluation" patch from which I started this one. Anyone interested, please check the wiki, the .blends (they have README's) and tell me about any issue.
2006-02-08Upgraded max limit for faces in render. Up to now, quads were zbufferedTon Roosendaal
as triangles, with a tag bit to denote which triangle was which part of the quad. That was hardcoded bit 0x800000, which allows a maximum of about 8 million quads... I've made this a nice #define, set to be 16 times larger. So, now the facejunkies can go up to 128 Million faces, were it not that this will eat up a load of memory! I only have 1 Gig in this machine. A test with 9M vertices and 7.5M quads eats up 912 MB of memory already. If this becomes a real issue, I know tricks how to make the vertices 20 bytes smaller, and faces 4 bytes, which would in the above case save about 200 MB. Not much... but probably worth the try? A much better method is of course 'bucketing' the renderdata per tile. It's a spec of the render recode, but not a quicky to add. Also: bug fix in curve code. There was a short counter still, crashing on large curves with resol set to 1024 :)
2006-02-07Wanted feature for curves: a render-time resolution. This option isTon Roosendaal
located under the 'def resolu' button. If not zero, it assigns this resolution to a curve on render. Also copies with ctrl+c menu.
2005-11-17Another Orange sneak-in feature: SoftBody support for Curves & Surfaces.Ton Roosendaal
Well, it already worked a bit, but without weight options or edge stiffness. You now can set the weights using the "Properties" Panel in the 3D Window (allows multiple selections too) or with Wkey in Edit Mode. Bezier curves have this too. NOTE: Lattice SoftBody Goal created yesterday won't work anymore! I've had to recode weight support for Nurbs Points, using a new weight variable... this because the existing W variable was in use for Nurbs already. Also Lattices have this new Weight variable, so the code is nice uniform. Sorry for the artists who already created complex Lattices... :) NOTE2: Surface Objects don't support edge stiffness yet NOTE3: I've removed ancient screen coordinates from the Bezier struct, which makes - even with added weight and padding - the struct smaller! Demo file: http://download.blender.org/demo/test/2.40/softbody_curve_lattice.blend
2005-10-30Two half working commits!Ton Roosendaal
- Python Drivers In Ipo Window "transform properties" Panel, added the buttons, and the initial handling (now only printing text). Willian makes it work! - Better Matrix to Eul, code submitted by Brecht. No time yet to do it really nice (like a Mat3ToEulCompat(mat, eul, eulc))
2005-10-24Autohandles in Ipo Window still could overshoot. Added a new clamping toTon Roosendaal
ensure the handles never result in a curve that goes beyond the neighbour control points. http://www.blender.org/cms/Animation_Curve_Handle.717.0.html
2005-10-03Version 1.0 of IpoDrivers.Ton Roosendaal
First note that this is new functionality, unfinished, and only for testing and feedback purposes. I'll list below what works, and what will need work still. This text is also in cms: http://www.blender.org/cms/Ipo_Drivers.680.0.html An IpoDriver is like an IpoCurve, but instead of a Bezier curve, it allows to connect a property of other Objects as input for the "channel". For example, IpoDrivers can be used to have a Shape Key being "driven" by the rotation of a Bone. Or the RGB colors of a Material get driven by the XYZ location of an Object. Editing of Drivers happens in the IpoWindow. Here you can notice that the channels (right hand window) now have an "active" channel indicator. To add a Driver, you have to use the "Transform Properties" Panel (Nkey). Here you can add or remove a Driver to the active channel, and use the buttons to fill in what kind of relationship you want to establish. Driver Objects Note that any Ipo Channel can become driven now, but that only Object transformation or Pose Bone transformation can be used to become a Driver now. At this moment, only the local transformation is taken into account. For Objects that means the location/rotation/scale value without Parent transform (as shown in "Transform Properties" Panel for Objects). For Pose Bones it means that only the Pose transform (changes of rest position) is Driver information (also as shown in Transform Property Panel in Pose Mode). Mapping of Drivers When an Ipo Channel is "driven", the mapping is by default one-to-one. It is only restricted by already built-in limits for Channels, like for Material the "R" value can only range from 0.0 to 1.0. Also note that when mapping rotations, the actual rotation values in Ipos are scaled down with a factor 10.0. (180 degrees actually has in the Ipo system a value of 18.0). This is an ancient year zero convention in Blender... it is a bit hidden, because the ruler (vertical as well as horizontal) displays the virtual values correctly. Only the Properties panel shows the actual value. When you draw an IpoCurve in a Driven channel, this curve will define the mapping between the Driver output (horizontal) and Driven input (vertical, as usual). A nice new option to use is "Insert one-to-one curve" (press I-key, or in pulldown menu). This will also zoom the display in exactly to fill the window, allowing easy edit. If you use this option with degrees, it will map 180 degree rotation to a range of 1.0 unit. Live updates Since the Drivers are integrated in the Ipo system, they will always be updated whenever an Ipo is evaluated. This happens at least on frame changes. For interactive feedback, updates while transforming objects were added in these cases: - Driven Object Ipos, by other Objects or Pose Bones - Driven Shape Key Ipos, by other Objects or Pose Bones You can also insert Drivers on Action Ipos, but these are only evaluated on frame change now. Todo - Drivers can also get a text button, allowing a 1 line Python script to be executed. - Make UI for it a bit less hidden... maybe with visualization in 3D? - Allowing global transform coordinates as Driver too. Issues - renaming Bones won't rename drivers - (file) appending the Ipo won't append the linked driver Objects
2005-08-29More text object fancyness, and fixes:Alexander Ewering
- "Flush" is now split into two seperate Alignment modes "Flush" and "Justify": - Justify does exactly the same as a normal word processor's justify function does, and in addition, it uses *whitespace* instead of *character spacing* (kerning) to fill lines. Much more readable. - Flush is pretty much the old Blender "Flush" mode - and as such it uses character spacing to fill lines. Just as Justify, this only works with at least one textframe. - Underlining for text objects. Not a lot to explain. New button "U" in the editbuttons, and CTRL-U as hotkey toggle underlining for newly entered characters or for the selection, just like CTRL-B/CTRL-I do for bold/italic. Underline height (thickness) and Underline position (vertical) can be set in the editbuttons. Implemented as CU_POLY polygon curves. - The B, U and i buttons (and the corresponding CTRL-B/U/I keystrokes) have been fixed to only affect *one* attribute at a time. Formerly, hitting CTRL-B when no other style was active, on a text portion with italics text, for example, would kill the italics and just apply bold. Now, these attributes always add or substract only, but do not replace the style. - In the past, there were bugs with material indices uninitialized, and thus crashes in the renderer with illegal material indices. Even though I assume they have been fixed, I've put in a check that checks (hah) if the material index of a character is illegal (bigger than ob->totcol), and then sets it to zero, and spits out a warning on stderr. If you see such warnings, please report and link to the .blend. - Bugfix: All alignment modes only worked if there were at least *two* lines of text in the text object. Fixed There's now a regression test file for text objects, please add to the corresponding repository: http://blender.instinctive.de/downloads/release/demo/text-regression.blend.gz
2005-08-14 - added make_orco_curf, even does keys!Daniel Dunbar
- removed {lattice,curve}_modifier functions - changed render code to use displist for curve rendering instead of making its own. required adding a bevelSplitFlag field to DispList. I also fixed the bevel face splitting which did not work correctly in many situations. - changed so all curve data creation happens in makeDispListCurveTypes, includes making bevel list and filling polys - changed render code to use displist for surface rendering - removed Curve.orco variable, built as needed now - removed stupid BLI_setScanFill* functions... why use a function argument when you can use a global and two functions! Why indeed. (this fixed crash when reloading a file with filled curves and toggling editmode) - bug fix, setting curve width!=1 disabled simple bevel for no apparent reason - cleaned up lots and lots of curve/displist code (fun example: "if(dl->type==DL_INDEX3 || dl->type==DL_INDEX3)"). Hmmm! - switched almost all lattice calls to go through lattice_deform_verts, only exception left is particles - added DBG_show_shared_render_faces function in render, just helps to visualize which verts are shared while testing (no user interface). - renamed some curve bevel buttons and rewrote tooltips to be more obvious - made CU_FAST work without dupfontbase hack Also by the way I wrote down some notes on how curve code works, nothing spiffy but it is at: http://wiki.blender.org/bin/view.pl/Blenderdev/CurveNotes
2005-06-18Attempt at providing the best possible flexibility and usefulness withAlexander Ewering
"Flush": - There are now two modes, "Flush" and "Justify". Justify only flushes a line when it is *terminated* either by wordwrap or by Enter. - "Flush" *always* flushes the line, also when it's still being entered. This mode can be used for things like this: http://pub.intrr.org/flush.png ..while "Justify" would not flush the second line. - Fixed "Flush" squeezing all characters on the same spot if the textframe was set to 0 width
2005-06-18Initial commit for new text object.Alexander Ewering
Important notes: - Full compatibility with old text objects not fully restored (word spacing will be 0.0, need to set it manually to 1.0), will either need version upgrade to 238 or a hack. Will check. - lorem.c (about to be committed) contains BF copyright notice, but as BF did not exist a few hundred years ago, probably best to remove it :) - If you notice any cross-platform issues (especially beloved windows), please report - A few tiny warnings left, I will fix those issues still. The rest has been said already - so have fun testing. And please do! === Reminder: === Documentation at http://blender.instinctive.de/docs/textobject.txt ===
2005-02-11Little warming-up getting-feet-wet coding project. :)Ton Roosendaal
Much wanted feature, to have paths with children having fixed distance offsets from each other, for example to animate a train with wagons. Solved it with Path option (Editing buttons curve) "PathDist Offs" which interprets time-offsets of children as blender-unit offsets. The entire animation system still works, but offsets are calculated based on distance, even with a CurvePath without motion (speed curve horizontal). http://download.blender.org/demo/test/pathdist.blend Thanks to Bassam for kicking my ass!
2004-12-11Fixes, after bug report Stefano:Ton Roosendaal
- Dupli-Frames objects didn't render correct with Motion Blur (they moved!) - VertexKey on Bezier paths didn't animate the 'twist' rotation. This did work for Nurbs paths. Plus; removed Nabla slider from Stucci, it doesn't work for that texture.
2004-09-14Lot of code... 2 new features:Ton Roosendaal
1) Curve deform http://www.blender3d.org/cms/Curve_Deform.392.0.html Works simple as expected, but keep track of the rotation axis in F7 buttons (Track X Y Z) Only Mesh deform supported now. Code changes: - centralized deformation calls in curve_modifiers() mesh_modifiers() etcetera. Here also other effects can be added like wave. Now the evaluation order is fixed, but should become optional. It also doesnt use the Displist anymore as deform-input. That latter part is unfinished yet. This code also is used for Hooks and will be needed for softbody - made convention stricter that displists are being checked on in drawobject(), this to prevent routines to make new displists recursively (like armature does). Now a freedisplist() is sufficient to signal that a new displaylist should be made. 2) Object Hooks http://www.blender3d.org/cms/Object_Hooks.391.0.html Support for Hooks is added to Mesh, Lattice, Curve and Surface objects. For Armatures this would require some more work & research. Main goal for this feature is to provide quick & simple access to the underlying geometry in Objects on Object level, supporting hierarchies and Ipos etc.
2004-08-29Feature for Curve objects in Blender; 'tapering'.Ton Roosendaal
Next to the "BevOb" button you now have a "TaperOb" button to give a name of a curve object which defines the width of extrusion of the 'BevObj' along the curve. The TaperOb curve typically is horizontal, where the height denotes the width. Important rules; - Only the firste curve in TaperObj is evaluated - the first width is left, last width is right - it scales the width of normal extrusions based on evaluating the taper curve; which means sharp corners in taper curve won't be easily visible (That latter feature could be improved by extrusing based on the points in the taper curve; this is a *lot* more work)
2004-07-26added a commentStephen Swaney
2004-07-09Quite a large one this time... but now we have:Ton Roosendaal
Edges in Mesh - adds automatic when you use creases. For other situations; call the void make_edges(Mesh *me) in mesh.c. Of course, once in editmode the edges are automatically recreated. - in F9 buttons you can add/remove edges too - both for Mesh and DisplistMesh, so it speeds up drawing quite some in wireframe - render for edges can't work... edges have no material nor tface nor col.. so here still the faces are rendered in wire Creases in Subsurf - based on the code by Chris McFarlen - main changes is that now edges are used, saving quite some data in file - use SHIFT+E in editmode to set edges-sharpness. values go from 0-1 - in F9 buttons you can set draw-crease mode. It draws now blended from wire color to edge-select color (as provided in Theme) Known issue: setting sharpness on 1 cube (subdiv 2) gives weird results with some values... Chris, can you check? Further; code cleanups, changing 0 in NULL when needed, no warnings, etc etc
2004-03-24add comment to BezTriple struct.Stephen Swaney
2004-03-14 - replaced AUTOSPACE define with {ME_,CU_,MB_}AUTOSPACE,Daniel Dunbar
different objects shouldn't share flags this way (still sharing of other mesh flags in renderer... ickity pickity, but I'm not fixing now) - removed some unnecessary uses of DNA_mesh_types.h
2003-04-27More translations of c comments, now also include files!Ton Roosendaal
2002-12-27Removed the config.h thing from the .h's in the source dir.Kent Mein
So we should be all set now :) Kent -- mein@cs.umn.edu
2002-11-25Did all of the .h's in sourceKent Mein
(adding) #ifdef HAVE_CONFIG_H #include <config.h> #endif also the Makefile.in's were from previous patch adding the system depend stuff to configure.ac Kent -- mein@cs.umn.edu
2002-10-30fixed spacing in the headers to get rid of some warnings and some otherKent Mein
little minor spacing issues.
2002-10-12Initial revisionv2.25Hans Lambermont