When a curve guide animates, it doesn't correctly work on dynamic particles.
This because the guides work on a fixed starting position (the birth of
particle) and then defines a full path for the entire particle. It is clear
this was only coded with static particles in mind...
Nevertheless, I've added a line of code to at least put the curve guide
on correct location for the moment a particle gets born.
Report moved to the todo tracker; this should be a spec for particle recode
Wave Modifier defaulted to Y waves, even when both X and Y buttons were
disabled. That case isn't very useful, nevertheless... if buttons allows it
then it should just work!
Sequence renders, calling scenes with compositing, didn't execute composite
correctly. Confusement caused by the rule that a "Render" handle has same
name as Scene, which gives conflict for the case when a Scene has
sequencing with Scene strips with its own scene in it.
The previous solution for that conflict caused composite not to work. This
commit solves that, but it is still hackish. Main reason is the still
bad global G.scene, in use by compositor.
In compositor you can mix RGBA and Value buffers freely, but with one
exception... the Composite (output) node!
This solves a crash when connecting a Alpha socket to RGBA input in
Composite node.
Depsgraph fix: the signal DAG_object_flush_update() should flush changes in
'data' to all object users of that data, not only in current scene.
Error was that switching scenes sometimes showed invalid derivedmesh data,
with bezerk drawing.
Boolean modifier allowed to be added after subsurf, but it doesn't support
that. Added "eModifierTypeFlag_RequiresOriginalData" flag to prevent this
from happening in UI.
The new Material "LightGroups" only worked with lamps in visible layers.
Now also lamps from the group that are not visible are included for
rendering, ensuring that a lightgroup always works on that material,
disregarding layer settings (unless lamp is type 'layer lamp').
Found reasonable OK solution for a cyclic dependency that was bothering
a lot of (character) animators. They would like to drive bones with
Objects, but that lagged when you parent these Objects to the
armature, since that's a circular dependency.
Since Driver relations are only looking at local object properties (i.e.
it's local position/rotation) there's a simple way to solve it. In case
such Objects have an Ipo, it reads driver values directly from the
Object Ipo (on correct time) instead of Object values.
but they got this case! :)
Bug was that for autohandle, the previous position of handle was used for
calculating the position too, which I really don't remember why... (that
is code from 10 years ago). Problem with that approach is that extreme
changes in handles don't go correct immediately, but need to itterate a
while. Or even worse, can give NaN values, resulting in this:
http://www.blender.org/bf/ipobug.jpg
Now the handle points are fully recalculated, as it should.
When Blender tries to open a non-existing file, two error popups were
called. Very annoying.
Was simple one-liner fix; the 'read exotic' function should return a -1
when file doesn't exist. :)
Creating texture coordinates for Curve bevels didn't allocate a correct
sized memory block when both U and V directions of a bevel are circular.
This will also fix "UV orco" for such curves (like donut shapes).
Particles keep fighting with the depsgraph... time to get a depsgraph with
time dependencies in it...
Anyhoo, this fixes lack of parenting updates in hierarchies where children
have particles.
Silly: when using vector blur on a curve or text object, without having a
material assigned to it, the default material didn't get initialized OK
for vector blur, causing random streaks.
- Ztransp looked weird in Node previews, only showing the backfacing pixels
- previous change in preview.blend accidentally set camera clipping too low
for correct display of lamp preview
- refresh issue solved in preview when using Node shaders with ray-mirror
Path in blender file loader end (setup_app_data) for armature conversion
didn't properly limit to armatures only, and was even called before a
scene dependency graph was made.
Rare crash btw; you have to save a file *before* a redraw was finished
in the UI.
naming convention for Compositing:
- Render Result node -> Render Layers node (name only appears in Add menu)
- Compositor image -> Viewer Node image
I've also added a version patch (2.41 saved files only) to rename existing
"Compositor" Images.
The buttons uiBlock was stored in a Node, for retrieval of node buttons,
however that won't work when multiple windows show same Nodes.
Now implemented more correct unique Block names (as all over in UI), and
use that name to retrieve buttons with API call uiGetBlock().
- removed "Unified" button, replaced with "HD" preset for 1920x1080 output
- removed the unused "Pass" options
- removed the unused "Strands" render-layer option
Because the internal render pipe supports this already; added two more
render-layer options:
- "Sky", to enable/disable sky render in a layer (this was part of "Solid"
before, not so correct... to ensure previously saved files work, the
"Sky" option is set by default when "Solid" was set. The version patching
will do this temporally always, until we've bumped up version to 2.42
- "Edge", to enable/disable edge render in a layer. Nice for compositing.
Also in this commit: fixed warnings for exported functions for the new
Node Editor pull-down menus.
By default it is disabled (depth 0.0), so rendering is as usual.
The meaning of "depth" and "falloff" will be extensively shown in the
release log pages. Coming soon!
(Patch provided by Ed Halley)
- STUPID mistake from me in setting the waitcursor...
- icons for UI got freed, without checking if it existed (crash in end)
- call to close mainwindow didn't check if window existed
note:
I usually test the "blender -b" case, which should start blender,
initialize all, free all, and print "blender quit" to signal all is fine.
Mixdown option (blending sequence audio strips) didn't write proper WAV.
- file length in header chunk was too short (potential crasher)
- endian switch code used swab(), which wasn't defined to work when src and
target is identical
- cleaned up some code too... like removing timecursor() for core loop.
New "Dimension" button: when using TAB to cycle over buttons, the dimension
event was sent multiple times, accumulating scaling. The code was also not
prepared to handle multiple changes at one event.
Also: added object_get_boundbox(Object *ob) in BKE_object.h, so the code
now really supports most primitives in Blender.
Particles: option "even" failed when faces where all exactly same sized,
then it sometimes skipped entire faces.
Just the regular <1.0 that had to be <=1.0
Old issue... Blender saves jpg RGBA files. That's unsupported in all
programs except Blender, always a source of problems with that feature.
Now it just falls back to saving 24 bits when the "RGBA" option is set.
Users can write any valid Python expression (that evals to an int or float) inside Blender's gui number buttons (preceded by #) and have them evaluated to their actual int or float value.
Button Evaluation has access to the same modules as PyDrivers.
For example:
#1.0*9-2.3
#ob("Camera").LocZ
#1.0/ob("Cube").LocX
#math.sin(math.pi) -- or simply #m.sin(m.pi)
etc
- Selection wasn't possible on center dots in Object mode. I keep adding
it and it keeps disappearing again. Added clear comments in code too.
- Particles: (debug still) print "build particles" happened on each redraw
when "Display percentage" for particles was set to zero.
The Scene audio.mixrate variable was zero on creating new scenes, causing
synced playback to fail.
Added initialize in kernel, and patch in buttons drawing to set the value
for wrongly saved files.
(Pixelshading: small correction for more optimal code)
now scale correctly.
Formerly, they just used to scale away from the curve into nirwana. Now,
they nicely follow the curve while scaling. Both the curve and the text
objects themselves can be scaled.
This will of course break compatibility with files that used this "bug".
Acceptable? I guess :-)
Added support for XVid and H264-codecs in codec-selection. (only work, if
ffmpeg is compiled with XVid and/or H264-support. Failure in doing so
results in an error message that codec can't be selected.)
Both are written always to AVIs since raw-h264-files created by ffmpeg
can't even be opened by itself...
Video render options are reset to sane defaults (=DVD preset) on startup now.
Don't expect quicktime-support to be very exciting, since ffmpeg can't really
multiplex quicktime files. (Tried several codecs with the ffmpeg-commandline
tool,... sigh)
Timestamp crash on Debian-Sarge version is fixed.