Skylicht Engine
Loading...
Searching...
No Matches
Skylicht::CDeferredLightmapRP Class Reference
Inheritance diagram for Skylicht::CDeferredLightmapRP:
Skylicht::CBaseRP Skylicht::IRenderPipeline

Public Member Functions

virtual bool canRenderMaterial (CMaterial *material)
virtual bool canRenderShader (CShader *shader)
virtual void initRender (int w, int h)
virtual void resize (int w, int h)
virtual void render (ITexture *target, CCamera *camera, CEntityManager *entityManager, const core::recti &viewport, int cubeFaceId=-1, IRenderPipeline *lastRP=NULL)
virtual void drawMeshBuffer (CMesh *mesh, int bufferID, CEntityManager *entity, int entityID, bool skinnedMesh)
virtual void drawInstancingMeshBuffer (CMesh *mesh, int bufferID, CShader *instancingShader, CEntityManager *entityMgr, int entityID, bool skinnedMesh)
void setPostProcessor (IPostProcessor *pp)
void setIndirectMultipler (float f)
void setDirectMultipler (float f)
void setLightMultipler (float f)
Public Member Functions inherited from Skylicht::CBaseRP
virtual void setCamera (CCamera *camera)
virtual void setNextPipeLine (IRenderPipeline *next)
virtual void onNext (ITexture *target, CCamera *camera, CEntityManager *entity, const core::recti &vp, int cubeFaceId)
virtual void updateTextureResource (CMesh *mesh, int bufferID, CEntityManager *entity, int entityID, bool skinnedMesh)
virtual void updateShaderResource (CShader *shader, CEntityManager *entity, int entityID, video::SMaterial &irrMaterial)
void beginRender2D (float w, float h)
void renderBufferToTarget (float sx, float sy, float sw, float sh, SMaterial &material, bool flipY=true, bool flipX=false)
void renderBufferToTarget (float dx, float dy, float dw, float dh, float sx, float sy, float sw, float sh, SMaterial &material, bool flipY=true, bool flipX=false)
void renderEnvironment (CCamera *camera, CEntityManager *entityMgr, const core::vector3df &position, ITexture *texture[], int *face, int numFace, bool allPipeline)
void renderCubeEnvironment (CCamera *camera, CEntityManager *entityMgr, const core::vector3df &position, ITexture *texture, int *face, int numFace, bool allPipeline)
void unbindRTT ()
Public Member Functions inherited from Skylicht::IRenderPipeline
virtual ERenderPipelineType getType ()
virtual void render (ITexture *target, CCamera *camera, CEntityManager *entity, const core::recti &viewport, int cubeFaceId=-1, IRenderPipeline *lastRP=NULL)=0
virtual void onNext (ITexture *target, CCamera *camera, CEntityManager *entity, const core::recti &viewport, int cubeFaceId)=0

Static Public Member Functions

static void enableTestIndirect (bool b)
Static Public Member Functions inherited from Skylicht::CBaseRP
static void saveFBOToFile (ITexture *texture, const char *output)
static void setBakeMode (bool b)
static void setBakeLightmapMode (bool b)
static void setBakeLightingMapBounce (u32 i)
static void setClearColor (const SColor &c)
static void setMaxLight (u32 maxLights)

Protected Member Functions

void initDefferredMaterial ()
void initRTT (int w, int h)
void releaseRTT ()
Protected Member Functions inherited from Skylicht::CBaseRP
void disableTextureBilinear (SMaterial &m, int slot)
void enableTextureBilinear (SMaterial &m, int slot)
void setTarget (ITexture *target, int faceId)
void drawSceneToTexture (ITexture *target, CCamera *camera, CEntityManager *entityMgr, bool allPipeline)
void drawSceneToCubeTexture (ITexture *target, CCamera *camera, video::E_CUBEMAP_FACE faceID, CEntityManager *entityMgr, bool allPipeline)

Protected Attributes

ITexturem_target
ITexturem_albedo
ITexturem_position
ITexturem_normal
ITexturem_data
ITexturem_indirect
ITexturem_lightBuffer
core::dimension2du m_size
core::array< irr::video::IRenderTargetm_multiRenderTarget
core::matrix4 m_viewMatrix
core::matrix4 m_projectionMatrix
bool m_isIndirectPass
bool m_isDirectionalPass
int m_vertexColorShader
int m_textureColorShader
int m_textureLinearRGBShader
int m_lightmapIndirectShader
int m_lightmapDirectionalShader
int m_lightmapIndirectTestShader
int m_lightDirection
SMaterial m_directionalLightPass
SMaterial m_finalPass
int m_pointLightShader
int m_pointLightShadowShader
int m_spotLightShader
float m_indirectMultipler
float m_directMultipler
float m_lightMultipler
IPostProcessorm_postProcessor
Protected Attributes inherited from Skylicht::CBaseRP
IRenderPipeline * m_next
CMeshBuffer< video::S3DVertex2TCoords > * m_drawBuffer
IVertexBufferm_verticesImage
IIndexBufferm_indicesImage
float m_viewport2DW
float m_viewport2DH
SMaterial m_unbindMaterial
int m_textureColorShaderID
Protected Attributes inherited from Skylicht::IRenderPipeline
ERenderPipelineType m_type

Static Protected Attributes

static bool s_enableRenderTestIndirect
Static Protected Attributes inherited from Skylicht::CBaseRP
static bool s_bakeMode
static bool s_bakeLMMode
static u32 s_bakeBounce
static u32 s_maxLight
static SColor s_clearColor

Additional Inherited Members

Public Types inherited from Skylicht::IRenderPipeline
enum  ERenderPipelineType { Forwarder , Deferred , ShadowMap , Mix }
Public Attributes inherited from Skylicht::IRenderPipeline
std::function< void(IRenderPipeline *)> OnFinish

Member Function Documentation

◆ canRenderMaterial()

virtual bool Skylicht::CDeferredLightmapRP::canRenderMaterial ( CMaterial * material)
virtual

Reimplemented from Skylicht::CBaseRP.

◆ canRenderShader()

virtual bool Skylicht::CDeferredLightmapRP::canRenderShader ( CShader * shader)
virtual

Reimplemented from Skylicht::CBaseRP.

◆ drawInstancingMeshBuffer()

virtual void Skylicht::CDeferredLightmapRP::drawInstancingMeshBuffer ( CMesh * mesh,
int bufferID,
CShader * instancingShader,
CEntityManager * entityMgr,
int entityID,
bool skinnedMesh )
virtual

Reimplemented from Skylicht::CBaseRP.

◆ drawMeshBuffer()

virtual void Skylicht::CDeferredLightmapRP::drawMeshBuffer ( CMesh * mesh,
int bufferID,
CEntityManager * entity,
int entityID,
bool skinnedMesh )
virtual

Reimplemented from Skylicht::CBaseRP.

◆ initRender()

virtual void Skylicht::CDeferredLightmapRP::initRender ( int w,
int h )
virtual

◆ render()

virtual void Skylicht::CDeferredLightmapRP::render ( ITexture * target,
CCamera * camera,
CEntityManager * entityManager,
const core::recti & viewport,
int cubeFaceId = -1,
IRenderPipeline * lastRP = NULL )
virtual

Implements Skylicht::CBaseRP.

◆ resize()

virtual void Skylicht::CDeferredLightmapRP::resize ( int w,
int h )
virtual

The documentation for this class was generated from the following file: