Using stride-bone in an NLA, on a path without speed Ipo, didn't correct
the case when an action starts on a non-zero value.
Patch provided by Roland Hess. Thanks!
Removed the haha-fun "eekadoodle" error, which was popping up for each
faulty face (could be 1000s), and renamed it to give a proper message:
"This Mesh has old style edgecodes, please put it in the bugtracker!"
Using the new "Add constraint" hotkey (CTRL+ALT+C) or the option in the
pulldown menu, didn't set a proper flag in Curve object when a "Follow
Path" constraint was choosen.
Restored animated background picture, using a bad call actually, but thats
clearly noted in comments in code. Is remainder work for cleaning up the
whole render api. :)
Wire render normals were exactly opposite to the normals for solid faces.
This caused displacement to work inverse too. Flipped them.
(Note; for shading normals are corrected to point towards viewer)
Reading DXF curves can result in corrupted edges (with 2 identical
vertex indices). Probably thats OK for autocad or so.. but it made
Blender crash on entering editmode.
The issue was that particle emittors were still transformed by the object
matrix itself. That was solved in the previous commit, but there was
still an error in correctly evaluating dependencies for the object...
Current commit uses depsgraph to recalculate all objects that influence
the emittor.
The depsgraph code doesn't like particles much (because it uses baking).
Current construct is still weak, is on the list to solve nice.
"Full OSA" render used wrong subsample pattern for accumulating passrender
info. Was only noticable for the 'normal' pass, for example on raytraced
images. Image looked as if it had a wireframe render.
Raymirror didn't use proper texture-space 'osa vectors' for sky texture,
causing extremely blurred reflections of sky.
Error was actually a mixup of arguments for sky render...
When using CTRL+L for materials, you can end up with non-existing material
indices in faces. The drawing code then was still happily drawing the old
situation (or something random, its a static array).
This commit checks the maximum amount of materials on an object, and draws
the last available material for a non-existing index. It uses an ugly
global yes, but this code is bad anyway. :)
Dynamic particles sometimes didn't properly use global coordinates.
Meaning they were transformed by an Object, for example when it has
animation constraints.
Error caused by attempt to get duplicators to work for particles. Will
need re-evaluation this.. for now restored old functionality, with
exception of dupli-groups.
Particle strands with a width set (like 10 pixels), and with extreme
bending of strands (like a very course subdivision), could create non-flat
quads. For speed reasons, the quad-to-triangle splitting was turned off
for hair, but in this case that should be done nevertheless.
Solves another Dandruff issue for furry bunnies!
oblivious of each other, so setting/clearing the face edit mode select status
did not set/clear the corresponding vertex select statuses. This patch makes
a change of any select status recalculate the selection state of all edges an
faces. One unresolved issue is what effect this should have on the recent
edge mesh's stored selection. Currently changing the selection state will
delete store selection info, but it may be desirable to emulate the stored
selection (but I need to discuss how this should work in more depth with
Geoffrey Bantle).
As an added bonus (while I was messing with this), I added a "sel" attribute
to edges so they are the same as faces and vert.
meshes, and actually fix the bug that caused the crash. The fluidsim result
doesn't preserve a mapping to the original mesh, so it shouldn't be displayed
in face select mode.
Outliner, Group view, operation menu "unlink group" also set the group user
counter to zero, which it should not do.
Note; the definition of this command is to make sure no users exist of this
group, but the group itself can still be there with objects.
Since the text-object remake, it was not possible anymore to 'cut out'
text from, say, a box made by a polycurve, by converting text to curve
and then joining - only the first character would be cut out.
This is because of the filling groups (nu/dl->charidx)
I introduced for getting the vast speedup and the possibility
of overlapping characters.
The new convert menu option now assigns filling group 0 to all of
the nurbs generated.
Maybe filling groups should be exposed in the UI in general for curves -
there are various occasions where they are useful.
(Hint to the UI mafia! ;)
Stored selections now get saved to mesh library blocks as direct data.
The idea that stored selections are 'erased' when leaving editmode and
switching objects is pretty mysterious for the user. Note that currently
the mselect array in a mesh is not written to file. Not sure whether
to change this or not.
source/blender/src/writeimage.c: In function `save_rendered_image_cb_real':
source/blender/src/writeimage.c:129: warning: integer constant is too large
for "long" type
Since the calculation is on a float anyway, changed constant to a float.
Ken
Camera was excluded from depsgraph when not visible in current layer...
resulting in camera animations to not move.
Solved with just an exception, but it certainly is attention point for the
depsgraph cleanup.
- particle duplicators should not include parent animation (error in
duplicator recode of last december)
- added exception for 'died' particles to keep correct orientation
Also in this commit:
- added comment in code to explain why vertexnormals in mesh are equal to
vertex location when no faces exist
- cleanup of BKE_object.h for functions that don't need export.