Renderer: rewrite render scheduling (#8683)

This rewrites renderer scheduling. Occlusion is now unified in a new Pass type.
This commit is contained in:
Vaxry 2024-12-22 17:12:09 +01:00 committed by GitHub
parent 1cc1a46c2e
commit e536b02248
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
42 changed files with 1576 additions and 775 deletions

View file

@ -0,0 +1,29 @@
#pragma once
#include "PassElement.hpp"
#include "../Framebuffer.hpp"
class CTexture;
class CTextureMatteElement : public IPassElement {
public:
struct STextureMatteData {
CBox box;
SP<CTexture> tex;
SP<CFramebuffer> fb;
bool disableTransformAndModify = false;
};
CTextureMatteElement(const STextureMatteData& data_);
virtual ~CTextureMatteElement() = default;
virtual void draw(const CRegion& damage);
virtual bool needsLiveBlur();
virtual bool needsPrecomputeBlur();
virtual const char* passName() {
return "CTextureMatteElement";
}
private:
STextureMatteData data;
};