Material Node shaders: displaying GLSL + rendering previews crashed.
Reason was non-safe threaded access to material nodes. Now, on a preview
render, a full copy of Material is being made.
* Rendering a scene strip updated all animation data to it's frame, so fcurves were left with the wrong value.
* Now the animation data is recalculated to original frame after rendering each scene strip.
from Dan Eicher (dna)
This allows automated node tree creation and editing.
developer note, made some changes to the patch.
- removed incorrect use of container_of(), GCC only also, search for the scene instead.
- commented socket min/max access, these are internal use only as far as I can tell.
- commented group/ungroup functions, these use the selection context and are not really data level functions.
- use remove() rather then delete()
Array Modifier: edge indices could be equal to numVerts, causing
bad crashes in derivedmesh. Similar fix to previous here with
face indices. Should poke the coder of this... for now it survives OK.
Particle cache reading: crash when loading .blend on a different
endian system, code was dumping arrays in .blend without DNA.
General warning for devs: avoid generic write_data and dynamic
arrays in DNA.
GRLESS key was missing in RNA key list, so it didn't show up in
keymap editor. Internally support for it worked already.
Thanks to Milos Zajic for showing the fix.
* Cloth now uses the original derived mesh for simulation and a new dm only for applying the simulation result.
* Reverted Campbell's temporary workaround r33406.
this report raised a number of problems with rna paths, while we still dont have multi-dimensional array access, invalid paths were being accepted which confused things.
rna path resolving code was accepting all sorts of invalid input because atoi() just returns 0 for non numeric input.
now check if 0 number == '0' character.
- a linear float buffer was being created and saved into a non-linear DPX/Cineon file.
- removed the UI since the settings are not used at the moment.
added a utility function IMB_float_profile_ensure(), which returns a float buffer in the requested profile, using the existing if needed or returning an allocated buffer if the profile is different to that of the ImBuf. - Useful this case where the save function has its own linear setting.
also changed notify functions for new bone, hide/reveal, switch direction and parent.
these used ND_POSE or ND_DRAW, replaced with ND_BONE_SELECT since this changes editmode bone hierarchy/selection.
check for alpha channel while saving images that have been painted onto.
It would be nicer to do this while in paint mode except this isn't so simple with project paint using multiple images at once.
- remove report argument from console functions.
- don't update the scroll area while drawing, do this within operators instead.
- dont redraw while selecting text unless selection changes.
* Separate caches were causing quite a lot of problems both in principle and practice.
* For example it doesn't really make sense to have different frame ranges for normal and high resolution smoke, but this was fully possible before.
* Also to fully bake the smoke you had to do a "Bake All Dynamics", which completely defeats the whole point of the feature!
* As a result of this change the smoke cache usage is much much simpler and less error prone.
* This is quite a big change, but hopefully there should be less rather than more problems as a result :)
Some other related changes:
* Changing the cache name now works for disk caches properly too, it now just renames the cache files so should be faster too!
* Smoke is now always forced to disk cache with step 1 on file load as there were some strange cases where smoke was trying to use memory cache.
* Disabled smoke debug prints from console.
* Disabled changing smoke parameters when smoke is baked.
Note to users: The unfortunate side effect of this is that old high resolution simulations have to be baked again, but in return you get much better and more logical functionality. Sorry none the less!
Compositor: MultiLayer image node: on using layer menu, the entire
multilayer file got freed, causing node to collapse and open full
again after a composite.
- commented unused View3D->flag's
- popup dialog now centers over the mouse
- only overwrite image alpha with render settings on save if saving the render result.