You don't believe it, this bug traces back to 2002. Went by unreported for a decade.
If you link in an object, delete it, and relink again its materials are lost!
Easy fix, annoying error. :)
Problem here is that muted nodes and reroute nodes are supposed to be removed from the execution node tree during the localize function. However, this is function is apparently only used during preview renders and must be considered a hack (is there anything that is not a hack in BI?)
Now the mute/reroute check happens in the node tree exec functions still used by BI and the legacy compositor and texture nodes. It uses the same internal_connect function from nodes to assign input stack indices directly to outputs (which also avoids overhead). Localize function also still does this. Cycles/Tile should also implement muting/reroute in their intermediate node layers by using this function, then it could be removed from localize too.
It is not a well-supported feature of the primary node systems (shader, compositor, texture) in Blender. If anybody wants to create a node system that has actual use for loops, they can do so much more elegantly with Python nodes, but it does not have to be a core node type in Blender. Removing this should ease node code maintenance a bit.
Text object render error.
Issue was caused by FLT_EPSILON being used to check for zero-sized faces, for
getting a reliable normal of front/backfaces of polygons. This value is too
small, giving occasional bad looking faces.
In other parts of code FLT_EPSILON10 was being used, that works much better.
Note for the future: here using doubles internally would be advised.
This makes it possible to create pixelized scale in the Tile compositor.
Just append the node in front of a scale node or where you want the pixelization to take place.
There were some bugs on this subject, but they used the work around to add a blur size of 0 in the place where they need the pixelization.
* In some cases a quad would be intersected twice so particles near this double-intersection point were not generated in grid distribution due to being marked as outside the surface.
* Bullet's convex hull implementation is significantly more robust
than the one I implemented, as well as being faster.
* This fixes bug [#32864] "Convex Hull fails in some cases."
projects.blender.org/tracker/?func=detail&aid=32864&group_id=9&atid=498
That bug, and others like it, relate to the poor handling of
co-planar surfaces in the input. Pretty much any model that is
simple-subdivided a few times gave very bad results before, Bullet's
implementation handles this much better.
* In order to ensure a smooth transition, the Bullet output is
translated into the existing HullTriangle hash structure. This makes
it easy to ensure that the existing slot output stays the same; the
interactions between the slots are somewhat complicated, detangling
is a TODO.
* Reviewed by Brecht:
https://codereview.appspot.com/6741063
I though allocating zero-sized mem would return a NULL pointer, but it looks like it does not... :/ Anyway, Blender should no more crash in case languages file is missing, will just use default (system) locale...
after adding compressed DDS texture loading.
DDS images can be flipped compared to the Blender standard, however we do not
unflip them because we also don't flip compressed textures. If we would flip
those we'd need to uncompress, flip and recompress them, and so losing the
speed benefit that you get from using them. Users are expected to save DDS
image in OpenGL compatible format.
Removed checks for PTCACHE_QUICK_CACHE for exception handling. This to ensure normal
cache works as if old PTCACHE_QUICK_CACHE wasn't set.
Thanks Campbell for pointing at this!
- Disabled "Quick Cache" option. It was causing ridiculous updates
on the entire animation system for start-end frame on every user
event causing changes here (like during transform). Worst was that you
couldn't transform animated objects for that reason either.
Most of the code is still there, waiting for a moment to revise it...
- Constraint "Follow Track" (marker) wasn't using inverse matrix code
in transform, making it wacko to use (wrong pivot, crazyspace)
Issue was caused by buffer shadows were binding buffer after offscreen buffers
was bind which lead to some unpredictable results.
Made it so ED_view3d_draw_offscreen wouldn't bind any buffers and for proper
shadows ED_view3d_draw_offscreen_init should be manually be called before
drawing to an offscreen.
This should also make open gl render with AA enabled a bit faster.
Also fixed missing sequencer cache invalidation when open gl render type is
changing.
Material and Rendered modes are still a TODO for sequencer.
when tree is being executed. This could lead to nor initialized color space
for the image.
Solved by insuring image buffer is loaded before checking for whether color
conversion is needed.