Renderer: rewrite render scheduling (#8683)
This rewrites renderer scheduling. Occlusion is now unified in a new Pass type.
This commit is contained in:
parent
1cc1a46c2e
commit
e536b02248
42 changed files with 1576 additions and 775 deletions
29
src/render/pass/TextureMatteElement.hpp
Normal file
29
src/render/pass/TextureMatteElement.hpp
Normal 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;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue