Very old bug: Material/Render: the "filter" option for transparent
absorption also works for alpha==0, but in that case another part
of render code just didn't add the faces in render list.
The main reason to have this is so renders can be scripted to write to a specific file without having to do annoying tricks like set a dummy start/end frame range, render an animation and work out the current frame image will be written to, then rename after rendering.
Also made some 'char *' args into 'const char *'
Using texture nodes for displacement crashes, a conflict between using
nodes in render and for displacement at same time. Code simply disables
texture nodes for displacement for now, until we have better handling for it.
(on our long todo)
- don't rename the image when saving (problematic if the image is used with linked libraries)
- file writing and path updating was duplicated for multilayer images.
It was called "map on length", but it actually makes the UV
values of curves/nurbs to become used as "Generated" texture
map input.
Sorry; this might break own local UI py script saves... :)
- Warn for armature deformed meshes which are scaled, these don't work quite the same as in blender, reported as [#24663].
- Use matrix.decompose() to convert a matrix to loc/rot/scale.
- get vert/edge/face lists for each mesh only once.
- faster euler rad -> deg conversion function.
- incorrect range check broke ZYX euler rotations, use MIN/MAX constants so this doesn't happen again.
- BGE Armature PyAPI also wasn't using correct min/max with rotation modes.
- clamp on file read rather then when calling the rotation functions, so developers don't use invalid args without realizing it.
- added assert() checks for debug builds so invalid axis constants don't slip through.
Doing F1-load a lot of times on same .blend could crash.
Janne karhu provided a potential fix, which is good to add
anyway. Will ask him to verify too.
Added XXX warning for these lines, after filesel exec no
context variables should be re-used. Is for later investigation.
Added convenience function to operators, 'as_keywords()', so operator settings can be passed directly to a function as keyword arguments.
The problem in this case was that dictionary access to operator properties was not returning rna-property defaults, so as_keywords() ensures all defaults are set.
reported by Eclectiel L
When working with very heavy scenes Blender can seem to 'hang' (not responding). Key events that happen
during this period may get lost, especially for modifier keys.
Adding extra handling to account for these situations.
Found and fixed a few problems here, but strangely I don't recall seeing any of these a few months ago when this conversion (probably last) worked well ...
Reported by Ruud van Eeghem
Instead of running vcredist, which can fail when installing as normal user, have the DLLs
like our zip distribution bundled already inside install dir.
- VBO UV Edge display wasn't allocating a large enough array for drawing.
- VBO UV Edge drawing was using an edge flag with faces.
- notifier for modifiers updating the UV window.
- pose bone 'matrix_local' wasn't well named since it didn't work like object or regular bones.
- pose bone matrix values for rna had array access rather then 4x4 matrix access.
note: for pose bones update scripts by renaming 'matrix_local' --> 'matrix_basis'
This added a poll function to the Panel base class but this means that all panels register as having a poll() function which is called a lot and does nothing, raising an exception and removing it because of how python implements hasattr().
Found when checking why exceptions were continuously raised on redraw.
Martin, can you check on netrender?
Rather then applying the proposed fix, enabling 'Apply Transform' works in almost all cases including the reported one.
There are some files that don't work with 'Apply Transform', which is why the option is worth keeping.
also remove unneeded calls to paint_facesel_test()