Age | Commit message (Collapse) | Author |
|
Allows for faster tool switching, no need to wait for it to open.
|
|
This introduces `BKE_mesh_to_bmesh_ex()`, which exposes all of the
`BMeshFromMeshParams` parameters to the caller. This is required to enable
the `calc_face_normal` flag, which is required for the Bevel modifier.
This also introduces `BKE_bmesh_to_mesh()`, which allocates a new `Mesh`,
converts the `BMesh` to it, and returns it. The returned mesh is owned by
the caller.
|
|
- ability to switch between Single Color, Object Color, Material Color
and Random Color
- fixed Shading and Lighting popover
- Renamed Solid -> Single Color
|
|
First dragging over active menu items could be used to open a disabled
popover.
|
|
|
|
Many operators have no options,
showing a popover button with no content isn't good.
|
|
|
|
Checking if a redo operator will show something is needed
to avoid empty redo popover.
|
|
Note: As already commented in the code, the ideal solution would
be to pass select mode as parameter to ED_view3D_backbuf_validate.
Without that we have to resort to the hack solution of writing to
evaluation data.
|
|
This matches the new convention for left-handed mode selectors,
however we're still undecided on exactly how this should work.
For now test this out as a convention for all space types.
|
|
This was producing infinite rendering but wasn't noticeable.
|
|
This leads to great improvement if the scene have moving objects without
shadows (shadows disabled in the material panel).
|
|
This adds a convention to have a spaces primary mode selector
positioned to at the left of the header.
|
|
|
|
|
|
The contents of the ModifierEvalContext struct are constant while iterating
over the modifier stack. The struct thus should be only created once, outside
any loop over the modifiers.
|
|
|
|
|
|
This allows the mesh to be freed and the CDDM kept.
|
|
|
|
The mesh parameter of armature_deform_verts() is now const, to indicate
that it's safe to pass ob->data to it directly.
|
|
This commit introduces `EditMeshData`. The fields in this struct are
extracted from `EditDerivedBMesh` into their own struct `EditMeshData`,
which can then also be used by the `Mesh` struct. This allows passing
deformed vertices efficiently to the draw routines.
The modifier code constructs a new Mesh instead of writing to ob->data;
even when ob->data is a CoW copy, it can still be used by different
objects and thus shouldn't be modified by a modifier.
|
|
Makes the follow changes:
- Add new `deform*` and `apply*` function pointers to `ModifierTypeInfo` that take `Mesh`, and rename the old functions to indicate that they take `DerivedMesh`. These new functions are currently set to `NULL` for all modifiers.
- Add wrapper `modifier_deform*` and `modifier_apply*` functions in two variants: one that works with `Mesh` and the other which works with `DerivedMesh` that is named with `*_DM_depercated`. These functions check which type of data the modifier supports and converts if necessary
- Update the rest of Blender to be aware and make use of these new functions
The goal of these changes is to make it possible to port to using `Mesh` incrementally without ever needing to enter into a state where modifiers don't work. After everything has been ported over the old functions and wrappers could be removed.
Reviewers: campbellbarton, sergey, mont29
Subscribers: sybren
Tags: #bf_blender_2.8
Differential Revision: https://developer.blender.org/D3155
|
|
|
|
|
|
|
|
|
|
- Fix the confusing naming in raycast()
- Fix raytrace acne caused by the rays not being correctly centered on
the texel.
|
|
warning on exit
The operator in question doesn't define this property.
I'm commenting out for now in case another operator actually still uses it.
|
|
|
|
We use 'reference' to designate the linked ID which is being overridden
by the local one, so using 'reference' to designate the stored local ID
in apply RNA code was... not a good idea. ;)
|
|
This adds vertex paint & sculpt icons + other minor changes.
|
|
|
|
This is a temp hack, so that billrey can use blender 2.8 for
drawing the icons. Hack will be phased out by T54910
|
|
|
|
For some reasons did not add operations themselves previously...
|
|
Previous code was waaaayyyy to flacky, returning matches for things that
did not actually have much in common!
|
|
|
|
|
|
Actions shouldn't be copying by new library management code.
Or at least should be possible to make it to not copy actions
or do unneeded user management.
This way we avoid modification of original data which could
and does cause threading conflict with copy-on-write which
could be happening for viewport.
|
|
Needed for tools which ensure paint context but aren't brushes
(color sample & gradient).
|
|
Allows select, gradient tools not to conflict with brush keymap.
|
|
|
|
|
|
|
|
- Moved random object color and object outline to shading popover as
these are draw options.
|
|
Skip access to any evaluated data when operator is run on file load,
we don't have depsgraph evaluated yet. In this case we skip part of
sculpt session initialization, since it will be done during depsgraph
evaluation which happens after DEG_on_visible_update().
We can not skip sculpt session initialization since during normal
operation we want all the data to be initialized on mode change,
and not on initial brush stroke.
|
|
Makes it easier to see where the datablock is coming from.
|
|
|
|
|