working correct with translucency. Removed a check that presumably
is an optimization, but can't work correct and also gives no noticable
performance difference in my tests.
computers, probably due to slow multithreaded malloc. Now each render
thread keeps a list of qmc samplers that it fills as needed while
rendering (since it is hard to predict the actual amount needed in
advance due to ray recursion).
act as if the object was in its original position, instead of being
different for all instances. However, this is desired behavior in
some cases and so breaks compatibility. Now it only does the new
behavior when enabling the "From Original" option.
The claim was:
Bugfix: don't do full sample merging on re-rendered layers in
the compositor.
But result was that rendering didn't happen at all for scenes
with a composite.
I also don't understand the commit, seems like it's incomplete?
Fix for bug #7418: texture ipo's didn't show for textures in node materials.
Fix for part of bug #6758: node materials in other node materials could
miss texture coordinates.
but only when the UV's are connected. That fixes some artifacts when
baking and using tangent space normal maps. It does mean increased
memory usage because it now stores 4 tangents per face like UV's,
and increased processing time, but there's no simple way around that.
If you composite using multiple scenes, the "use FSA" button had to be set
or disabled for each scene. Now you can just set/disable FSA for the scene
that does the compositing. You can only disable FSA in other scenes if it
was set before though.
(Any understands these lines? :)
shadowbuffers. At the time the results were not satisfying enough,
but we now suffer a shadow problem that might well be solved with
this feature.
Problem:
Temporal aliasing of shadowbuffers when small details move (like strands).
In this case it doesn't work to simply increase the shadowbuffer size,
because strands are pixel-sized. Huge shadowbuffers make strand shadows
almost disappear. So... the shadowbuffer resolution has to be not too high.
Instead of increasing the buffer size, we then create multiple buffers,
each on different subpixel positions (a bit like "FSA" :).
So! Shadowbuffer sampling then works as follows;
1) You take multiple samples in the shadowbuffer, on different locations
inside (or around) the rendered pixel.
That option was aready available as "Samp" button in Lamps
2) Set amount of sample buffers. It is default 1, but can be 4 or 9.
The results of setting it to '4' or '9' buffers you can see here:
http://www.blender.org/bf/filters/index3.html
Actually, deep shadowbuffers could solve it probably too! Anyhoo...
the renderer could lead to results being reused for unrelated
points, result was one wrong pixel or strand per part. Now instead
of setting the sample counter to 0 multiple times, it keeps a global
counter per thread for the whole render.
The RE_WriteResult function don't call BLI_make_existing_file
like BKE_write_ibuf, so if you append a directory to the output
path and it don't exist, the exr_begin_write fail to create
the file and blender crash.
Note that this is only 1 line of code and don't touch
anything in the render code.
was the new jittering of the start position gave self intersections,
especially noticable with for example edgesplit because in that case
it can't detect them as well. 'Solution' now is to bias the start
position away from the surface a bit according to how much the start
position was jittered.