Order of freeing of Blender database is important, but the past year(s)
new database entries were added in wrong places, so freeing could go in
wrong order. In this case it was Groups being freed before Objects. But
there are more errors...
It only shows really in Windows, since it's the OS that is sensitive for
writing data in freed memory. For other OSes it doesn't make Blender more
stable, only mem-frees happened, no mem-allocs.
Compositing, depenency fix, so nodes execute only when really changed.
(Error was in nodes that don't get buffers as input, but only values. These
nodes flooded "execute" events through the node tree.)
Moved function used for 'Visual' keyframing, to live with the rest of the
API calls I added for Pose-Mode bone snapping. Now, it is in a more
'releasable' state.
- Bugfix #5714
New option "Save changed images" didn't respect relative file names
- Bugfix #5621
New camera (shiftx, shifty) was missing in IpoWindow as animatable option
Vertex color node worked only if VCol Paint/Light was enabled. Fixed
that, and removed the vertex color node making it part of the geometry
node instead.
Also, preview.blend had black vertex colors for the sphere, so set them
to white like the other primitives.
Rewrote the core-function responsible for ipo-cleaning. Now, it is in a less
wacko form. What is still not done is the conversion of a bunch of points
describing an arc to an arc defined by the handles of the keyframes on
either side of the arc. That will have to wait for the next development cycle.
This rewrite fixes two big bugs with the code:
* All but first curve got hidden aften cleaning
* Cleaning a curve with only two verts resulted in only one vert, even though
the values were not the same.
Changes to CustomData:
Some functions would only return the current active layer, added extra variants that take an index to select the level (modeled after CustomData_get_layer_n.)
Still todo:
* UVs are being interpolated linearly, should probably offer Catmull-Clark subdivision like Subsurf modifier.
* Vertex Colors still don't support multiple customdata layers.
* Editing UV data on levels other than 1 should be disabled in the interface (same for weights)
(Empty space will get OSA options, that I add tomorrow or so)
- Removed a lot of old unused variables in renderdata. Also meant I had
to remove this from python API... please check if this gives valid
scripts?
- Cleaned up bad formatted code for FFMPG buttons (spaces instead of tabs)
copy system with rigidbody constraint will link new constraints to new objects (instead of old)
fps from blender will be used when baking (left shift/ctrl/alt + P)
Crash leaving editmode related to vertex groups. I couldn't reproduce this,
but suspect somehow multiple deformvert layers were created. Added some
extra checks to avoid that now.
IK Locks/Limits were applied to bones in IK-chains even when the IK
constraint for the chain had an influence value of 0.
I've added a check to see if the ik-constraint found has any influence
over a chain, before the chain is made available for ik-solving.
* Added patch 5251 X/Y Offset to Split Viewer node, by Juho
(with some modifications from the patch version).
Also various small tweaks to compositor drawing & buttons.
* Added a new top-level add menu category for compositing nodes: Distort
It currently contains Translate, Rotate, Scale, Flip, Displace and Map UV
Also did some cleaning up of the ordering of add node menu items to be a
bit better organised.
Adding missing define for displace node (Matt can change the number when he gets back, this is just to fix compilation)
Removing "#pragma mark" from node.c. IIRC, that's XCode leaving crap around, so be sure to remove them when you commit (it outputs warnings on other compilers).
* Displace Node
Displaces an input image's pixels based on an input vector mask. This can be
useful for a lot of things, like hot air distortion, quick-and-dirty compo
refraction, compositing live footage behind refracting objects, and more!
The amount of displacement in the X and Y directions is determined by:
* The value of the mask's channels
- (red) channel 1's value determines displacement along the positive or
negative X axis
- (green) channel 2's value determines displacement along the positive or
negative Y axis
If both the channel's values are equal (i.e. a greyscale image) the input
image will be displaced equally in both X and Y directions, also according to:
* The X scale and Y scale buttons
- These act as multipliers to increase or decrease the strength of the
displacement along their respective axes. They need to be set to non-zero
values for the node to have any effect.
Because of this, you can use the displace node in two ways, with a greyscale
mask(easy to paint, or take from a procedural texture), or with a vector
channel or RGB image, such as a normal pass, which will displace the pixels
based on the normal direction.
A quick practical example:
http://mke3.net/blender/etc/displace-desert-h264.movhttp://mke3.net/blender/etc/displace-desert.blend.zip
And some techie examples:
Using a greyscale mask
http://mke3.net/blender/etc/displace-bw-h264.movhttp://mke3.net/blender/etc/displace-bw.png
Using a vector mask
http://mke3.net/blender/etc/displace-vec-h264.movhttp://mke3.net/blender/etc/displace-vec.png
weightpaint_envelope_assign - can update active vgroup only
weightpaint_normalize - fixups
BKE_plugin_types - made the max length 32 ratehr then 16 so you can fill the text space in pupBlock
Now, when only one axis toggle is on and click on it, all of the other
toggles will not be turned on.
For this to work, I've moved the version patches in the drawing/evaluation
code for this constraint to the file-reading code.