Age | Commit message (Collapse) | Author |
|
Some GLSL compilers seem to not have problems with \ to break preprocessor
directives. I couldn't find other places with similar code, but fixing this
case by case is not ideal and the same issue may come up again.
|
|
Comments after code can cause awkward line breaks.
|
|
|
|
This matches vertex/texture paint opacity options.
Useful because 0.75 is sometimes too dark to see the surface shading.
Resolves T63746
|
|
|
|
If you had several windows or, after last changes in topbar, several areas, the swith of overlays or Onion Skin was not working by area, but as whole switch, so it was impossible to have different status by window.
|
|
|
|
This adds user side options to tweak the behavior
of the vbo garbage collection.
|
|
The problem occurs because status changes between BackBuffer and Offscreen.
Reviewers: fclem
Differential Revision: https://developer.blender.org/D4703
|
|
This improve visibility in edit face select mode by using the face select color
instead of the edge select color (which is in default theme a bit more red). Also
makes the selected edges in this mode a bit more opaque (0.75 instead of 0.4).
Full opacity is still reserved for edge select mode.
|
|
This is only working for shading batches for the moment and only if some Custom data layer are not needed anymore.
The collection rate is hardcoded at 60 sec but could be exposed to the user.
This system can be extended and discard most unused batches in the future.
This commit is in prevision of removing BKE_MESH_BATCH_DIRTY_SHADING when changing shader parameters.
|
|
This is in order to support garbage collection of unused Custom data layer uploaded to the GPU.
Actual Garbage Collection is not added by this commit.
|
|
This was already supported in Fill, but not in Strokes. This adds more artistic options when use textured strokes.
|
|
|
|
The strokes was aligned to drawing path only when the stroke was completed. Now, the stroke is aligned while drawing too.
|
|
It was committed an earlier version of the patch which missed these changes.
Differential Revision: https://developer.blender.org/D4700
|
|
Avoid potentially adding back the problem in the future.
|
|
The `AMD Radeon HD 7600M` compiler is usually buggy for Geometry Shaders.
In this case, indexing was causing problems in `gl_in[i].gl_ClipDistance[0]`.
Reviewers: fclem
Differential Revision: https://developer.blender.org/D4700
|
|
When in Axis alligned orthographic view a grid was always displayed.
With this change the user can enable/disable this grid.
The Grid is always visible and editable, but only rendered active when user is in quad view, or axis aligned ortho view.
Reviewers: brecht, fclem
Maniphest Tasks: T63517
Differential Revision: https://developer.blender.org/D4699
|
|
|
|
|
|
This removes the large edges and instead use colors to hint in which
selection mode the user is.
The component in each individual selection mode is more prominent to add
more emphasis. The other components are less prominent and dimmed.
A minor default theme changes needed to be made to keep clarity in all
combinations.
Forcing old behavior (no selection mode hit) could be done quite easily
by just making the 2 booleans true (selectFaces and selectEdges).
Reviewers: campbellbarton, billreynish
Reviewed By: campbellbarton, billreynish
Subscribers: ThinkingPolygons
Maniphest Tasks: T1234
Differential Revision: https://developer.blender.org/D4526
|
|
|
|
Apply clang format as proposed in T53211.
For details on usage and instructions for migrating branches
without conflicts, see:
https://wiki.blender.org/wiki/Tools/ClangFormat
|
|
Outline shaders were only selected when no checker depth was available.
Reviewed By: fclem
Maniphest Tasks: T63312
Differential Revision: https://developer.blender.org/D4661
|
|
|
|
|
|
|
|
Tested to work on Linux and macOS.
This will be enabled once all platforms are verified.
See D4684
|
|
Was caused by a NULL texture used as uniform.
|
|
I'm not sur how it ever worked before. There was no texture bound to these
sampdensity and sampflame when no volume simulation was happening.
This fixes the issue using 1x1x1 dummy textures.
|
|
This commit adds support for drawing Dots strokes with a gradient factor to get artistic effects like watercolor.
Currently, the option is only supported by Dots materials, and in the future will be added to line strokes, but now there is a limitation on drawing engine and we will keep disabled on Line materials.
Also, added the option to align Dots and Boxes strokes textures aligned with the drawing path to get more fluid strokes.
|
|
No functional change, this adds LIB definition and args to cmake files.
Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS'
since there are many platforms/configurations that could break when
changing linking order.
Manually add and enable WITHOUT_SORTED_LIBS to try building
without sorted libs (currently fails since all variables are empty).
This check will eventually be removed.
See T46725.
|
|
|
|
Use doxy references to function and enums,
also correct some names which became out of sync.
|
|
Previously B-Bone deformation mapped every vertex to just one
B-Bone segment. This results in abrupt transformation differences
between the sides of each threshold plane, reducing the quality
of B-Bone deformation and making the use of shape keys impractical.
This commit replaces this approach with a linear blend between
the two closest segment transformations, effectively representing
the B-Bone as two weight-blended plain bones for each vertex.
In order to distribute the interpolation more evenly along the
bone, segment matrices for deformation are now computed at points
between the segments and at the ends of the B-Bone. The computation
also uses the true tangents of the Bezier curve for the orientation.
The nodes at the end of the bone require some special handling to
deal with zero-length Bezier handles caused by a zero ease value.
The Copy Transforms constraint now also smoothly interpolates
rotation and scaling along the bone shape when enabled.
The initial version of the patch was submitted by @Sam200.
Differential Revision: https://developer.blender.org/D4635
|
|
instanced in a foreign scene.
The check of DUPLI object was used, but as the original object was not in the scene, the VBO data was not available and the draw was empty.
Now, the function checks if the original data is in the scene, and set the object as not Dupli to generate the VBO data.
|
|
Gizmo's now have their own popover in preparation
for making transform gizmos accessible without having to use tools
See: T63518
|
|
Patch provided by @matc
|
|
Edit mode shows the mesh elements in X-ray mode even if alpha is set to
1. Now the code takes this into account so that you can still select
visible mesh elements in X-ray edit mode.
view3d_draw_legacy need to be updated with the new XRAY flag macros to
avoid crashes. Additional cleanup of the XRAY macro flags were done.
|
|
|
|
this was very similar to T60684 (and the UV case was actually reported
back then as well), so the fix goes hand in hand with rBbd8039399575
Reviewers: fclem
Maniphest Tasks: T63464
Differential Revision: https://developer.blender.org/D4672
|
|
When using subsurf (and other modifiers) the edit flags are not
propagated correctly. Currently we assume to read the edit flags
from the original object which is kind off hinding the real issue.
Modifiers use `mesh_new_nomain_from_template_ex` to create a copy
from an existing mesh. this method is only used by modifiers. So
by placing this we will make sure that editmesh is propagated.
Reviewed By: fclem, sergey
Maniphest Tasks: T62449
Differential Revision: https://developer.blender.org/D4666
|
|
|
|
frontside object in 3d-window
Now the depth order of objects when trying to select them is only used when not in X-ray mode.
Before, this was only the case in wireframe mode regardless of X-ray settings.
I've also unified the usage of V3D_XRAY and XRAY_FLAG as they were basically copies of each other.
Reviewed By: Clément
Differential Revision: http://developer.blender.org/D4504
|
|
- The ambiguous term 'handle' was used where 'ensure'
is typically used (get or add when missing).
- Rename `current` to `active`, all `current` functions which were
also ensuring.
- Clarify what is being operated on, using `BKE_gpencil_object_*` for
objects, `BKE_gpencil_brush_*` for brushes.
|
|
|
|
If the Brush had a pinned material with texture, but the material slot was in a different material, the texture was not working.
The material was not recovered from brush, but from object.
|
|
The hotspot was generated by mesh_cd_layers_type_overlap who was testing
way more data than it should have.
Here we reduce the whole CD layer mask to a 32bit bitflag that is easily
or'ed and tested.
Bonus point: We use atomic operation to merge the mask in order to allow
future multi-threading. (this was a TODO)
In the scene attached to T58188 this removes 5% of CPU time.
|
|
release_texture_slots() and release_ubo_slots() were one hotspot when
drawing taking ~9% of total CPU counters for no reason.
This was because of the loops using GPU_max_textures that was overkill and
slow.
Replace those by a simple 64bit bitwise OR operation.
|