From e536b02248f370971716b744968776f6880528be Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Sun, 22 Dec 2024 17:12:09 +0100 Subject: Renderer: rewrite render scheduling (#8683) This rewrites renderer scheduling. Occlusion is now unified in a new Pass type. --- src/render/pass/TextureMatteElement.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/render/pass/TextureMatteElement.cpp (limited to 'src/render/pass/TextureMatteElement.cpp') diff --git a/src/render/pass/TextureMatteElement.cpp b/src/render/pass/TextureMatteElement.cpp new file mode 100644 index 00000000..5aed1c9a --- /dev/null +++ b/src/render/pass/TextureMatteElement.cpp @@ -0,0 +1,25 @@ +#include "TextureMatteElement.hpp" +#include "../OpenGL.hpp" + +CTextureMatteElement::CTextureMatteElement(const CTextureMatteElement::STextureMatteData& data_) : data(data_) { + ; +} + +void CTextureMatteElement::draw(const CRegion& damage) { + if (data.disableTransformAndModify) { + g_pHyprOpenGL->setMonitorTransformEnabled(true); + g_pHyprOpenGL->setRenderModifEnabled(false); + g_pHyprOpenGL->renderTextureMatte(data.tex, &data.box, *data.fb); + g_pHyprOpenGL->setRenderModifEnabled(true); + g_pHyprOpenGL->setMonitorTransformEnabled(false); + } else + g_pHyprOpenGL->renderTextureMatte(data.tex, &data.box, *data.fb); +} + +bool CTextureMatteElement::needsLiveBlur() { + return false; +} + +bool CTextureMatteElement::needsPrecomputeBlur() { + return false; +} \ No newline at end of file -- cgit v1.2.3