Skylicht Engine
Loading...
Searching...
No Matches
Skylicht::CBaseRP Class Referenceabstract
Inheritance diagram for Skylicht::CBaseRP:
Skylicht::IRenderPipeline Skylicht::CDeferredLightmapRP Skylicht::CDeferredRP Skylicht::CForwardRP Skylicht::CLightBakeRP Skylicht::CPostProcessorRP Skylicht::CRenderToTextureRP Skylicht::CShadowMapRP Skylicht::CAreaLightBakeRP Skylicht::CDirectionalLightBakeRP Skylicht::CPointLightBakeRP Skylicht::CShadowBakeRP Skylicht::CPointLightShadowBakeRP Skylicht::CShadowMapBakeRP

Public Member Functions

virtual bool canRenderMaterial (CMaterial *m)
virtual bool canRenderShader (CShader *s)
virtual void render (ITexture *target, CCamera *camera, CEntityManager *entityManager, const core::recti &vp, int cubeFaceId=-1, IRenderPipeline *lastRP=NULL)=0
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 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)
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 initRender (int w, int h)=0
virtual void resize (int w, int h)=0
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 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 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

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_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::CBaseRP::canRenderMaterial ( CMaterial * m)
virtual

◆ canRenderShader()

virtual bool Skylicht::CBaseRP::canRenderShader ( CShader * s)
virtual

◆ drawInstancingMeshBuffer()

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

◆ drawMeshBuffer()

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

◆ setCamera()

virtual void Skylicht::CBaseRP::setCamera ( CCamera * camera)
virtual

◆ setNextPipeLine()

virtual void Skylicht::CBaseRP::setNextPipeLine ( IRenderPipeline * next)
virtual

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