Age | Commit message (Collapse) | Author |
|
|
|
You can't use ORIG index as an index to copy CD from source DM.
|
|
- Fixed a typo in docstring.
- Replaced int with boolean constants.
- Updated lists of base classes for used-defined unary 0D/1D functions.
|
|
Classic case of integer flag AND-ing result passed to boolean and
failing.
|
|
which must not be passed to MEM_freeN.
|
|
This check prevents using empty (no faces) meshes as rigid bodies.
While the idea makes sense, it also prevents using modifier-constructed
meshes, where faces are added only by the modifiers.
Further the check is very easy to circumvent, by removing faces after
making the rigid body, or by assigning a different mesh datablock
afterward.
Suggested by Fabian Emmes (@der_fab).
|
|
The helper function `make_freestyle_edge_mark_hash()` was referring to the
original mesh to determine Freestyle edge marks for individual derived mesh edges.
This is no longer necessary now that derived meshes deliver CD_FREESTYLE_EDGE
and CD_FREESTYLE_FACE layers of their own. The reference of the original mesh
was also inappropriate since the edges coming from one of the operands of a boolean
modifier don't have proper CD_ORIGINDEX values but ORIGINDEX_NONE's.
Many thanks to Sergey Sharybin for patch contributions and discussions.
|
|
|
|
|
|
|
|
|
|
- would flip in opposite directions sometimes on the same loop
- some vertices would get directions from adjacent vertices
|
|
Used a different technique to resolve "impossible" offset cases
that makes more consistency. Also changed the plane in which
the profile lies for the case with only one beveled edge and
more than 3 other edges.
|
|
No valid reason to make non-mapping modifiers break edit cage,
when they are disabled in 3DView/edit mode!
|
|
|
|
To prevent only shadow lamps from producing negative colors, shr->diff
and shr->spec should've been clamped to positive values after lamp loop.
|
|
As suggested and reviewed by Campbell Barton. This is the most trivial of the cases. I will look if I can do it elsewhere in the bake code
|
|
When "Selected to Active" is not on, we bake all the selected objects.
This is the same behaviour we have for Blender Internal.
Dev note: I moved most of the validation tests to outside the bake()
routine so the function can be called in loop.
Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D560
|
|
also draw cursor even when there is a selection.
|
|
Using layer visibility in active render layer makes more accurate
preview but can cause problems in some cases:
https://developer.blender.org/rB1973b17fce65a4dfececb45b19abec37898c1ab5#comment-1
GLSL lamps now ignore layer visibility if lock_camera_and_layers is
OFF or game engine is running. The material lamp group still works
unconditionally though.
|
|
|
|
This should be the final fix for the applyrotation issue. It baffles me
that the fix involves discarding the scale transformations for the
normals but it works so I'm happy with it.
Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D554
|
|
|
|
|
|
When rebuilding the polygons that touch bevel-involved vertices,
need to copy the edge attributes from corresponding original edges.
Special treatment of corner segments, to maintain continuity of
smooth and seam attributes.
Another fix: if have four meeting edges, two opposite ones beveled
and the other two not, propgate the non-beveled-edges attributes
across the line that joins them (perpendicular to the bevel).
|
|
|
|
|
|
|
|
|
|
A node group can have multiple input nodes. In the compositor that means
each of the input sockets has to be connected to the linked outputs,
which is represented by a single link on the outside of the group.
|
|
|
|
Looks like the normal update flag is used internally in the modifier
itself. So as a workaround just pass normal update to the nodes when
flood filling
|
|
Cleanup the normal flag or else the smooth tool will work on more and
more nodes as we sculpt.
|
|
|
|
clip editor
Issue was caused by a missing WM_event_add_notifier(..) in the mask_layer_move_exec() function...
|
|
Issue was caused by _wstat returning EOVERFLOW error because
of file size didn't fit into stat structure which was using
long datatype.
The idea of this patch is to use _wstat64 and _stat64 structure
which is capable storing 64bit file sizes.
Made it a typedef for stat structure used by BLI_stat function
in order to make code easier to follow and avoid ifdefs all
over the place.
Additionally solved issue with BLI_exists which was wrongly
returning False in cases destination file is larger then 4GB.
|
|
Better fix than rBbef5cb3aa2e5a: consider edges between faces with opposed normals as sharp.
In fact, previous code was broken more deeply in this case (inconsistent normals across
a 'smooth fan') - some loop normals would even never be computed!
Fixing this is possible (even wrote it, actually), but this adds more complexity
to a piece of code that is already awfully complicated, *and* normals in that kind
of smooth fan do not make much sense anyway. So simpler and nicer results with
assuming sharp edges between such 'opposed' faces!
Note that there is some face (loop) ordering black magic at work here, added more comments
to try to explain how and why all this works.
As a bonus, we do not need to check for already computed loop normals anymore, since we
know each 'smooth fan' will be walked once, and only once.
|
|
|
|
Simply apply unit scale on curve transdata and un-apply on flush.
Needs some more intense testing tho.
|
|
Requires some more intense testing.
|
|
This crash can only happen in case faces in same 'smooth fan' have reversed normals.
To support this, we have to always keep a way to get real values in loop_to_poly,
even when loop itself is tagged as done, it might be needed in computation of one of
its neighbor's split normal later.
|
|
|
|
|
|
|
|
Read the comment in ensure_curve_cache, it tells it all.
|
|
We should actually re-consider whether zero-sized kernels are allowed
for edge detection.
|
|
Reset 'use_texture' flag of a material tex slot when creating/assigning
a texture to an empty slot.
|
|
|
|
Need to use parent->AddRef() in a few places.
|
|
|