-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Labels
area: rendererConcerns our graphics rendererConcerns our graphics rendererarea: uiRelated to the graphical user interface (Qt)Related to the graphical user interface (Qt)improvementEnhancement of an existing componentEnhancement of an existing componentlang: c++Done in C++ codeDone in C++ code
Description
This could be a rather small optimization for the renderer. The idea is to save rendering time by not rendering pixels in the game world that would be hidden by GUI elements anyway. To do this, we would create a stencil mask from opaque elements in the GUI and apply this mask in all other render passes. Doing this allows the GPU to discard fragments masked by the stencil mask early and save some time during rendering as a result.
The time save depends on a few conditions. For example, the stencil test gets more effective if the GUI covers large parts of the screen and the elements don't change positions. However, this should be at least the case for the old AoE1/AoE2/SWGB GUIs.
Tasks:
- Enable stencil tests in renderer
- Create stencil mask from GUI texture
- Upload stencil mask to renderer in other render stages (skybox, terrain, world, ....)
Metadata
Metadata
Assignees
Labels
area: rendererConcerns our graphics rendererConcerns our graphics rendererarea: uiRelated to the graphical user interface (Qt)Related to the graphical user interface (Qt)improvementEnhancement of an existing componentEnhancement of an existing componentlang: c++Done in C++ codeDone in C++ code
Type
Projects
Status
🔖 TODO