- ascii text drawing functions, slightly faster since they dont have to do hash lookups & utf8 conversions for each char.
- used ascii drawing functions for the view3d's number display.
- each text item was using fixed 128 chars, now only allocate the string length needed.
* The logic in some parts of the sequencer code was rather cryptic, so I cleaned it up a bit.
* There should be no functional changes what so ever from these changes.
mat4_to_eul & mat3_to_eul are already working this way.
Without this we get problems with constraints, eg:
rotation on the Y axis over 90d can be represented by setting the X and Z to -PI, Y would decrease to 0 (infact 180d).
* The axis draw function was changed by Campbell recently, but the brightness value was forgotten?
* Solved currently by mapping the brightness value to axis alpha.
* No way currently to know the order of effect inputs, so I added a swap operator for the inputs.
* Also added the effect inputs to the strip property panel (weren't even in rna before). These are not yet editable, but can be very helpful in determining what the inputs are if the strip is too short to see the name in the timeline.
screen verts were being rounded so resizing a window would end up moving the border in one direction.
for this to work properly we should store floats internally but for now compensate for this.
report & fix from Martin Lubich (loramel)
Use double rather then floats, this doesn't use significantly more memory (as allocating a double buffer would), other vars in this function were doubles already so may even gain some speed.
Fix for one of the causes of crashing.
Applying armature deform wasn't thread safe since the pose bones had deform data written into them when deforming a mesh.
This fixes crashing immediately, on every render for me but blender still crashes calculating the subsurf sometimes.
large render sizes could cause an the threaded tile processor to hang because winx * winy wrapped into a negative value.
also convert winx/winy to floats before multiplying for vector passs.
having the blend file as a part of the __file__ variable is not essential, this is fixed in python 3.2 so add an ifdef and don't use the blend file path for py older then 3.2.
replacing the extension could remove the frame number added to a path when writing images, so just add the extension rather then replacing even though it gives odd names at times. eg: foo.png0001.tga
Simple python benchmark shows this to be about 3x faster in the case where an update isn't needed.
This also speeds up rna function argument parsing, since each arg in a function call did 2 string lookups on the context which were never needed.