Age | Commit message (Collapse) | Author |
|
We already have different storages for cddata of verts, edges etc.,
'simply' do the same for the mask flags we use all around Blender code
to request some data, or limit some operation to some layers, etc.
Reason we need this is that some cddata types (like Normals) are
actually shared between verts/polys/loops, and we don’t want to generate
clnors everytime we request vnors!
As a side note, this also does final fix to T59338, which was the
trigger for this patch (need to request computed loop normals for
another mesh than evaluated one).
Reviewers: brecht, campbellbarton, sergey
Differential Revision: https://developer.blender.org/D4407
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is still is a dirty workaround.
Note that we are drawing the whole sets of point multiple times. While this
is ineficient, the main bottleneck is CPU transformation.
|
|
|
|
Empty object skipping now only skips the bounds, since you can select
the empty by it's center point and want to navigate to it.
Also share object skipping check between view all/selected.
|
|
|
|
|
|
D4463 by @pablodp606
|
|
This behavior matches back-face culled mesh objects,
where the wire outline doesn't depend on the viewing angle.
Applying this before empty visibility check for view framing,
since it's strange if viewing all gives different results
depending on back-face culling.
|
|
This was due to curve being not extrapolated correctly. Also curvemap range
was not taken into account.
|
|
|
|
|
|
Before, the caps were not generated for texture materials, now, the endcaps are generated and adapt the texture.
|
|
Note this was broken even in 2.7x.
We had a different logic for the plane wire, as for the plane itself.
And they were both wrong when changing the camera shift or the stereo
pivot.
Both of their logic is now unified and correct.
Also I had to create a new gpu batch for the quad wires, since there is
no state that allows me to filter out the geometry, and the square gpu
batch is quite different than the quad one (2d x 3d and orientation).
|
|
This was introduced on the MSAA fix for transparent passes (61039bf71376).
|
|
In accordance with T56648.
- Render Border -> Render Region
- Clipping Border -> Clipping Region
- Instancing 'Scale' -> 'Scale to Face Size'
- Instancing 'Rotation' -> 'Align to Vertex Normal'
Python API is left as-is, for now.
DIfferential revision: D4435
|
|
The degenerate triangle threshold was too big. Making it an equal test can
introduce problems in other cases but I could not make it fail.
|
|
Volume itself was working, but buggy. The issue was that transparent shapes
does not write to depth buffer. But the custom MSAA resolve shader discard
pixels that did not write to depth making them transparent.
Transparent passes should not be inside the MSAA passes, this is also
a matter of performance.
|
|
Point is, you may want to duplicate your set of collections, but not
duplicate all their objects.
Some notes:
* Am rather skeptical about the practice of using operator name to
define behavior of some common exec code. Imho, that should be a single
operator with an enum to refine its behavior (@cambpellbarton may also
have an opinion here?). Left it as-is for now, because this seems to be
used by other operators too in that code. :/
* @dfelinto, @pablovazquez, @billreynish am not so happy with current
names, but cannot find really good short ones either... Also, shouldn't
we move those into a dedicated `Duplicate` sub-menu?
|
|
Was missing proper flag in library_query code, collections are also
id-users of their children collections.
|
|
That one was an empty place-holder, BKE_collection_duplicate() is now
doing that. And its call from full scene copying is not needed
currently, 'deep copy' in that case is handled in editor's
`ED_scene_add()`.
Note that at some point, we might want to move that logic into BKE, but
for now let's keep thing as they are - working.
|
|
We need to remap duplicated IDs' ID pointers to new ones if they exist.
|
|
This function already handles sorting of ID in its listbase.
|
|
|
|
The former was probably one of the worst function names in our whole
code base, totally misleading, and quiet often used as a variable name too.
|
|
The mouse movement scale needed adjusting according to object scale,
since the amount is on the unscaled model but the viewport shows the
scaled one.
Also fixed proper units for amounts in bevel tool, as was already
done for modifier. Percent should be comfortably adjustable by mouse.
|
|
This is unreported. When using volume opacity 0.0, the wires were not visible
(nor were they in other cases, but this was the most obvious one).
The volume itself is still glitchy, and slightly worse than 2.79. I
still don't know how to fix this though. It seems a common problem
(see T62262).
|
|
Note 1: Volume drawing still draws differently than 2.7x.
Note 2: Camera lens widget still ignores stereo.
|
|
|
|
The none brush doesn't make sense to have anymore with the tool system.
Also remove deprecated flags & types for object, armature & text.
|
|
|
|
Use annotations inside grease pencil drawing mode is something incompatible by design. Actually, the annotations are disabled in overlay panel for 2D template and the tool icon is not in the toolbar.
The unique way to get annotations was using D key, but this is wrong.
If you are inside drawing mode, all the events are captured by paint operator and to capture annotations, the operator must be canceled and the mode changed, but this change breaks several things.
It's not logic add annotation inside darwing mode, because you can simply add a new layer and write the text you want.
This change checks the mode and cancel the annotations if the mode is not thje right one.
|
|
Only use orientation value when the operator uses orientation axis.
Own error in 03da3b6593a24
|
|
Caused by 10d9a2494fc5e which removed 5x length clamping.
|
|
|
|
Reset nodes after the first balance call.
|
|
This reverts commit 301bcf771dec827138412ca6e7a25e2269eb5e9e.
Caused crash entering particle edit mode.
|
|
Synchronizing values between object data is error prone (not updated on
creation or renaming), add an update to have them working as they did
in 2.79.
|
|
State tracking works in pretty much all cases but calling the clear command
does change the write mask outside the draw manager. For now we just reset
the write mask before each pass.
Fix T62203 The selected bone is not highlighted inside the other bone.
|
|
|
|
Adds select invert to the operator.
D4454 by @Poulpator
|
|
|
|
|
|
Callbacks were drawing with the wrong blend equation and that made some
tools drawing fail.
|
|
`ED_mesh_uv_texture_add()`/`ED_mesh_color_add()` would always either
copy data from current active one, or (for UVs), generate default
'valid' UVs for every face.
This commit adds an option to not do that, just keeping default values
from raw CDLayer creation. It is only used/exposed from RNA API
currently.
This is especially useful for importer add-ons, since some formats
support multiple layers of those kind, as well as 'partial' dataset not
explicitely defining values for all mesh items.
Preliminary step to fix T62224.
|