28#include "Shadow/CCascadedShadowMaps.h"
29#include "Shadow/CShadowMaps.h"
30#include "Shadow/CBoundShadowMaps.h"
31#include "EventManager/CEventManager.h"
56 class SKYLICHT_API CShadowMapRP :
67 enum ERenderShadowState
75 EShadowMapType m_shadowMapType;
76 ERenderShadowState m_renderShadowState;
99 int m_depthWriteShader;
100 int m_depthWriteSkinMeshShader;
101 int m_distanceWriteShader;
102 int m_distanceWriteSkinMeshShader;
104 int m_depthWriteSkinnedInstancing;
111 virtual ~CShadowMapRP();
115 void setShadowCascade(
int numCascade,
int shadowMapSize = 2048,
float farValue = 300.0f);
117 void setNoShadowCascade(
int shadowMapSize = 2048,
float farValue = 50.0f);
119 void setShadowMapping(EShadowMapType type);
121 virtual void initRender(
int w,
int h);
123 virtual void resize(
int w,
int h);
127 virtual bool canRenderMaterial(
CMaterial* m);
129 virtual bool canRenderShader(
CShader* s);
131 virtual void drawMeshBuffer(
CMesh* mesh,
int bufferID,
CEntityManager* entity,
int entityID,
bool skinnedMesh);
133 virtual void drawInstancingMeshBuffer(
CMesh* mesh,
int bufferID,
CShader* instancingShader,
CEntityManager* entityMgr,
int entityID,
bool skinnedMesh);
135 virtual bool OnProcessEvent(
const SEvent& event);
145 return m_depthTexture;
148 virtual float* getShadowDistance();
150 virtual float* getShadowMatrices();
152 inline ERenderShadowState getRenderShadowState()
154 return m_renderShadowState;
Definition CBoundShadowMaps.h:32
This is an object class used to set up the camera, including its position, viewing angle,...
Definition CCamera.h:70
Definition CCascadedShadowMaps.h:35
This object class manages all entities within a scene.
Definition CEntityManager.h:89
The object class describes material information such as which shader it's associated with,...
Definition CMaterial.h:84
Represents a programmable shader, including uniforms, UI, resources, instancing and platform-specific...
Definition CShader.h:198
Definition CShadowMaps.h:33
Definition CEventManager.h:32
Definition IRenderPipeline.h:37
Interface of a Video Driver dependent Texture.
Definition ITexture.h:119
Struct for holding parameters for a material renderer.
Definition SMaterial.h:255
Everything in the Skylicht Engine. You can start by looking at the topics.
Definition AudioDebugLog.h:29
vector3d< f32 > vector3df
Typedef for a f32 3d vector.
Definition vector3d.h:445
rect< s32 > recti
Rectangle with int values.
Definition rect.h:273
aabbox3d< f32 > aabbox3df
Typedef for a f32 3d bounding box.
Definition aabbox3d.h:351
SEvents hold information about an event. See irr::IEventReceiver for details on event handling.
Definition IEventReceiver.h:273