Age | Commit message (Collapse) | Author |
|
when either the parent/child object is selected"
This reverts commit 912931964723cb69dafd4adebe3daf093e3e78c1.
This meant users needed to select everything to see relationship lines,
this isn't always easy since objects can have limit-selection set.
This could be made into an enum option if it's important.
|
|
|
|
|
|
Since Eevee and Cycles both use lamp size for point lamps, displaying
the shape is now more relevant than before.
|
|
This method is a bit more optimized than the very first one
because it does not rely on the adjacent faces properties.
That said it's still a bit slower than the per vertex method.
|
|
There was a Full Shading bool that was shared across the WP, VP and TP
modes. This commit makes some changes:
- Replace the bool with a factor. This gives the user more control on
the visibility.
- Also draw it on top of the Material and Rendered mode so the user can
control what he needs. In certain cases you don't want to see the final
rendered material, but the actual texture.
- Removed the skipping of objects when in paint modes. As now the paint
modes are blended.
|
|
Did it manually as there was some refactoring done that has value
|
|
|
|
This mimics the behaviour of the old wireframe mode. When in Xray mode,
don't use the limit selection to visible option.
Also hide the option if Xray is enabled.
|
|
This rewinds a change from own commit e3d88b021c07d
The only took edge overlay into account (crease, seam.. etc)
Currently active-face also uses this width.
While the difference is subtle,
this makes the active-face stand out more clearly.
|
|
|
|
|
|
Remove all the clip cases and just pass the vertices screen position to the
fragment shader.
This does put a bit more pressure on the fragment shader but it seems to be
faster than before. And it simplify the code a lot.
It seems to fix some long standing issue on some intel GPU.
|
|
|
|
- Vertex size now matches the theme setting.
- Edge width is closer to a single pixel line.
- Face dot was scaled up to be drawn as a circle,
but is currently a square.
|
|
|
|
- added a lib for shaded functions
- decreased active face inner size
|
|
|
|
This fix the ugly (usually) dark outline that was around selected edges.
|
|
This is important for good texture paint performance.
|
|
- see the face selection color when face is active
- test different masks for active face, finally chosen for no mask at
all.
|
|
reorganized shader compilation
|
|
This reverts commit da6ed54569d03d18512e46ae08629bf72a592a82.
|
|
- removed the dithering from the active face
|
|
- Hide facedots, except when in V3D_ZBUF_SELECT mode
`use_occluded_geometry`
- Different theme (wire_inactive) when not in edge selection mode
|
|
|
|
This is visually too distracting (flickering). Until we have a better
solution, just disable occlusion fading.
|
|
This Fix the problem when multiple objects are selected and one of them
occlude the others. You cannot see clearly what is selected.
With this option, selection is more clear when Xray mode is enabled.
|
|
the parent/child object is selected
As in Pose Mode, the idea here it to try to reduce viewport complexity
without requiring users to turn off the overlay completely all the time.
For example, a background prop (e.g. a tree with a tyre hanging off it,
or a branch with hand-placed leaves) won't be cluttering the viewport with
its relationship lines all the time, when you're trying to do something else.
When you really do need to see these lines, you can still select the object
in question, and you'll see the lines for which objects are its children
or what its parent is. And to see all lines, you can still always select all
objects.
|
|
Object Mode & Armatures (Edit/Pose)
|
|
This will show the associated edges to the vertices but that's the only
workaround I can think of right now.
|
|
This make the limited wireframe not a performance problem anymore.
However, this does change the number of edges displayed as the threshold
is now computed per vertex instead of per edges.
For this reason we extended (internaly) the range of the slider so that the
users can hide more edge.
|
|
|
|
|
|
|
|
|
|
Experiment: let the user be in control of the alpha channel as some rigs
are hard too see during bone selection. Especially rigs that were
designed for 2.79 wireframe mode.
|
|
Particles in EMITTER mode needs to have cache.
|
|
The default behaviour is to show the same amount of edges as 2.7.
The slider makes it possible to show all edges or even less.
|
|
|
|
Only use catmull-rom interpolation for now. It's smoother and does not
exhibit artifacts.
|
|
Intel GPU take more advantage of the geometry shader than other vendors.
Using a simple geom shader approach in this case is more performant.
|
|
|
|
This commit restores support for Motion Path drawing in 2.8 (as it wasn't ported over
to the new draw engines earlier, and the existing space_view3d/drawanimviz.c code was
removed during the Blender Internal removal).
Notes:
* Motion Paths are now implemented as an overlay (enabled by default).
Therefore, you can turn all of them on/off from the "Overlays" popover
* By and large, we have kept the same draw style as was used in 2.7
Further changes can happen later following further design work.
* One change from 2.7 is that thicker lines are used by default (2px vs 1px)
Todo's:
* There are some bad-level calls introduced here (i.e. the actgroup_to_keylist() stuff).
These were introduced to optimise drawing performance (by avoiding full keyframes -> keylist
conversion step on each drawcall). Instead, this has been moved to the calculation step
(in blenkernel). Soon, there will be some cleanups/improvements with those functions,
so until then, we'll keep the bad level calls.
Credits:
* Clément Foucault (fclem) - Draw Engine magic + Shader Conversion/Optimisation
* Joshua Leung (Aligorith) - COW fixes, UI integration, etc.
Revision History:
See "tmp-b28-motionpath_drawing" branch (rBa12ab5b2ef49ccacae091ccb54d72de0d63f990d)
|
|
This fix T55280 Loose edges not visible in object mode
|
|
|
|
This overlay is showing mesh topology. It is usable with transparency
even if the mesh order can mess up with the expected result (some object
more prominent than others).
Edge thickness and alpha values are hardcoded for now but can easily be
added to theme or object settings.
|
|
|
|
|
|
This new system use transform feedback to compute subdivided hair points
position. For now no smoothing is done between input points.
This new system decouple the strands data (uv, mcol) with the points
position, requiring less update work if only simulation is running.
In the future, we can have compute shader do the work of the feedback
transform pass since it's really what it's meant to. Also we could generate
the child particles during this pass, releasing some CPU time.
draw_hair.c has been created to handle all of the Shading group creations
as well as subdivision shaders.
We store one final batch per settings combination because multiple viewport
or render could use the same particle system with a different subdivision
count or hair shape type.
|