42 std::shared_ptr<RenderTarget> rt = shadowCamera->
renderTarget();
49 if (rt->depthBuffer()) {
54 renderPass->
colorOps()->clear = clearRenderTarget;
72 assert(shadowInfo !=
nullptr);
73 const bool isVsm = shadowInfo ? shadowInfo->
vsm :
false;
74 const bool isPcf = shadowInfo ? shadowInfo->
pcf :
false;
Perspective or orthographic camera with projection matrix, jitter (TAA), and render target binding.
void setRenderTarget(const std::shared_ptr< RenderTarget > &value)
void setClearColorBuffer(bool value)
void setClearStencilBuffer(bool value)
const std::shared_ptr< RenderTarget > & renderTarget() const
void setClearColor(const Color &value)
const Color & clearColor() const
void setClearDepthBuffer(bool value)
static Camera * create(const std::string &name, LightType lightType, int face=0)
Directional, point, spot, or area light with shadow mapping and cookie projection.
ShadowUpdateType shadowUpdateMode() const
bool visibleThisFrame() const
int numShadowFaces() const
ShadowMap * shadowMap() const
LightRenderData * getRenderData(Camera *camera, int face)
void setShadowUpdateMode(const ShadowUpdateType mode)
Per-face shadow rendering data: shadow camera, viewport, and scissor.
virtual void init(const std::shared_ptr< RenderTarget > &renderTarget=nullptr, const std::shared_ptr< RenderPassOptions > &options=nullptr)
void setRequiresCubemaps(bool value)
std::shared_ptr< DepthStencilAttachmentOps > depthStencilOps() const
std::shared_ptr< ColorAttachmentOps > colorOps() const
const std::vector< std::shared_ptr< RenderTarget > > & renderTargets() const
void setupRenderPass(RenderPass *renderPass, Camera *shadowCamera, bool clearRenderTarget)
static Camera * createShadowCamera(ShadowType shadowType, LightType type, int face)
LightRenderData * getLightRenderData(Light *light, Camera *camera, int face)
bool needsShadowRendering(Light *light)
Camera * prepareFace(Light *light, Camera *camera, int face)
const std::unordered_map< ShadowType, ShadowTypeInfo > shadowTypeInfo
RGBA color with floating-point components in [0, 1].