2024-12-22 17:12:09 +01:00
|
|
|
#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:
|
2025-05-05 23:44:49 +02:00
|
|
|
STextureMatteData m_data;
|
2024-12-22 17:12:09 +01:00
|
|
|
};
|