I decided to make a new thread to encourage testing of new CVS code, even though the number of "backported" improvements/features will probably be quite limited.
I'd like people to give feedback on compile issues, bugs and performance regressions.
For informations on CVS access go to
CVS repository page
April 30th 2006:
New kd-tree code with SAH construction algorithm.
Some may already have played with the code/testbuilds i posted earlier, but i fixed a couple of bugs since then and also tweaked it a bit. But it's still no O(n*logn) compiler, that means it can be quite slow on large meshes.
But the old one was quite expensive in all aspects too. The new one should reduce memory usage on high-poly scenes quite noticeably (~200-300MB for one million triangles), and improve renderspeed on many scenes.
May 18th 2006:
Improved the image loading code so it doesn't crash that easily on files with unknown file extension. Yafray tried to identify the file format by probing all known ones, but didn't check carefully enough before attempting to load HDR and TGA files.
Also became a bit more verbose on loading failures/wrong file extensions.
June 4th 2006:
Added -p option for Linux to specify an alternative plugin path when rendering XML (yafray executable).
Also added code to print used plugin path and number of plugins loaded to console
Forgot Mac OS specific code for aligned allocations...though it actually ignores alignment, but so far nothing depends on it (i hope...)
June 6th 2006:
Thanks to eeshlo who added a new render parameter "threads" to plugin export it is finally possible to change the number of threads (still called "Processors" in interface and "CPUs" internally...) anytime the user wants to, not only before the first rendering of a blender session.
Also finally officially killed a bug causing wrong colour output with gcc 3.4 and later when Clamp RGB is disabled and saving to LDR image formats. Colours brighter than 1.0 were set to 127 instead of 255 because the whole expression was incorrectly casted to char instead of unsigned char and the compiler noticed the constant 255 is beyond the
range of char and smacked it to 127 upon compilation.