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.
Reversion of premul bugfix, as it was apparently not
working all that well.
Note that this brings back the bug where the erase alpha
paint tool won't display correctly, since the UV image
editor just draws images in key alpha now.
* Added Normalize option for diplacement so everything in the 'Dist' range is mapped 0-1
* Increased the maximum Dist and Bias to1000.0 (was 10.0)
* Added python utility function in BPyRender.py - bakeToPlane(...), to automate heightmap, normalmap generation for Crystalspace.
coordinates from the object as if they were in their original position,
untransformed by dupligroups or dupliverts. Otherwise the textures of
such objects would change depending on their position.
A new file could have its Blender.Get("filename") return "<memory>" after undo'ing on an open file.
Fix for own error with python sys.path, messed up game engine.
gave wrong results. Problem was the view vector was setup strange. While
it is really not well defined, it is now set as the negation of the normal,
so it is looking right at the surface, gives more predictable.
raytracing intersection code, to avoid rays slipping through between
triangles, this would mostly show up with sceen aligned quads and
baking of height maps for example. Epsilon's are not pretty, but I
haven't found a reliable way around them.
in the commit log. Couldn't get this to work well, probably this would
work a lot better with the IBL spherical harmonics feature, so I've just
disabled the option in the interface for now.
(which basically tells the renderer and compositor to expect a
key image) is now done at the image user level.
This does have some caveats, as image users don't always work
the way I thought they would/should (for example, the same image user
structure is apparently used in the uv image editor for all images,
which is kindof odd).
The UV image editor also now smartly detects if the premul option is
set and draws the image using key alpha, instead of premul
The subversion level was upped to convert the old premul flag, which was at
the image level, to the new one, which is at the image user level.
untraceable material, cause is that the ray start position got set
only once, but it needs to be set for each ray since it can be clipped
to the octree bounding box.
value that is an offset along the normal when looking for the nearest
face, which allows baking faces further away, e.g. an ID badge onto a
shirt.
Also fixes a bug baking to float images, for things other than
displacement it didn't work sometimes, and a memory leak in the
extend filter.
layer from the compositor. I've solved this by changing the behavior,
now it always renders a vector pass even if Do Composite is disabled.
I think that's more consistent because other passes get rendered too
regardless of Do Composite, the vector pass was just an exception.
do_texture_effector assumed multitex_ext would assign r/g/b colors which isnt true for grey textures.
Fallback to PFIELD_TEX_GRAD with grey textures, node this in tooltip also.