The edit mesh is culled by object. When the object is not visible on
screen, the edit mesh may still be visible. This change will not cull the
edit mesh anymore.
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D5144
Memory leaks happened when using final multi view rendering together with workbench.
Workbench assumed that the textures were always NULL
Reviewers: fclem
Differential Revision: https://developer.blender.org/D5136
Grease Pencil already reset the default view so the draw_manager wouldn't assert. During multi view rendering the same assert still happened. This patch will reset the default view when starting to render a new view.
Reviewers: fclem
Differential Revision: https://developer.blender.org/D5137
Following @fclem comments, I have implemented the use of Stencil for Solid line strokes. For Dots, Boxes and Lines with texture, the stencil is not activated because "kill" some artistic effects.
We have done test in greasepencil-object branch and all it's working as expected and the FPS are equal, so the stencil hasn't any appreciable impact in the drawing time.
The Stencil is used in groups of 255 and the passes are done in the same way. If the stencil is not use for the type of stroke (Dot/Box/Texture), the drawing is grouped as much as possible to reduce GPU overhead and limit the times the stencil bit must be cleared.
For doing this patch I had to add 2 new functions for reading private data to Draw manager. We decided add these function as a temporary solution while the Draw Manager implements the option to clear the stencil by groups. When this option will be implemented, these functions must be removed.
Thanks to Clément for his help and support. It's always a pleasure working with him.
Review by: @fclem
Testers: @mendio @pepeland
See D5126 for more details
This function is a workaround to use the stencil in grease pencil and reduce the number of clears.
Reviewed by @fclem.
Note: This function will be removed when draw manager supports stencil clearing by group.
Previously displacement relinking was trying to be smart and seems to be
broken in some cases. This fixes all cases by brute force.
We copy the whole branch linked to the displacement socket and tag it
accordingly. Then we only relink the nodes that are not tagged.
Moreover, we bypass bump nodes inside the dispacement trees so that the
resulting bump is the same as cycles.
Fix T66000 EEVEE: Unexpected results when displacement interact with nodegroups
We fix by separating the drawing of wire xray objects.
These wire objects gets drawn before normal wires and set the stencil to
0x0 just like the solid counterparts. Also a prepass is done to "dig"
through non-xray solid.
This reverts commit e061cb4437.
This function is problematic on some operating systems.
# Conflicts:
# source/blender/draw/intern/draw_manager.c
# source/blender/gpu/GPU_texture.h
# source/blender/gpu/intern/gpu_texture.c
This only handles the issue after file load.
To make it an all-around solution we need to deal with
this in ed_object_select_pick, do_outliner_item_activate_tree_element(),
...
Note, the performance of the tests we run here is still bad since we have plenty
of panels around. But better than the crash.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D5116
- Add 'Navigation Buttons' preference, used for 2D views
(previously this couldn't be disabled).
- Add "Off" option for 3D view axis.
- Support minimal axis with navigation buttons.
The issue was that we were still working around a Xorg bug that has been solved since a very long time:
https://bugs.freedesktop.org/show_bug.cgi?id=22515
The second issue was that the global "confirm on release for mouse clicks" was used for keyboard shortcuts as well.
Reviewed By: Campbell
Differential Revision: http://developer.blender.org/D5128