Untold Engine  Beta v0.0.16
docs
U4DEngine::U4DRenderPipeline Class Reference

Inherits U4DEngine::U4DRenderPipelineInterface.

Inherited by U4DEngine::U4DCompositionPipeline, U4DEngine::U4DGeometryPipeline, U4DEngine::U4DImagePipeline, U4DEngine::U4DModelPipeline, U4DEngine::U4DParticlesPipeline, U4DEngine::U4DShaderEntityPipeline, U4DEngine::U4DShadowRenderPipeline, U4DEngine::U4DSkyboxPipeline, and U4DEngine::U4DWorldPipeline.

Public Member Functions

 U4DRenderPipeline (std::string uName)
 
void initPipeline (std::string uVertexShader, std::string uFragmentShader)
 
virtual void initTargetTexture ()
 
virtual void initVertexDesc ()
 
void initLibrary (std::string uVertexShader, std::string uFragmentShader)
 
virtual void initPassDesc ()
 
virtual bool buildPipeline ()
 
void initAdditionalInfo ()
 
virtual void executePipeline (id< MTLRenderCommandEncoder > uRenderEncoder, U4DEntity *uEntity)
 
virtual void executePipeline (id< MTLRenderCommandEncoder > uRenderEncoder)
 
id< MTLTexture > getTargetTexture ()
 
void setInputTexture (id< MTLTexture > uInputTexture)
 
void hotReloadShaders (std::string uFilepath, std::string uVertexShader, std::string uFragmentShader)
 
std::string getName ()
 

Public Attributes

id< MTLTexture > targetDepthTexture
 
- Public Attributes inherited from U4DEngine::U4DRenderPipelineInterface
MTLRenderPassDescriptor * mtlRenderPassDescriptor
 Pointer representing the render pass descriptor.
 
id< MTLTexture > targetTexture
 
id< MTLTexture > inputTexture
 
id< MTLTexture > albedoTexture
 
id< MTLTexture > normalTexture
 
id< MTLTexture > positionTexture
 
id< MTLTexture > depthTexture
 

Protected Attributes

std::string name
 Name of the pass.
 
id< MTLDevice > mtlDevice
 Pointer representing a Metal Device.
 
id< MTLRenderPipelineState > mtlRenderPassPipelineState
 Pointer representing the state of the render pipeline.
 
MTLRenderPipelineDescriptor * mtlRenderPassPipelineDescriptor
 Pointer for the rendering pipeline descriptor.
 
id< MTLLibrary > mtlLibrary
 Pointer that holds the library of shaders.
 
id< MTLFunction > vertexProgram
 Pointer to the shader vertex program.
 
id< MTLFunction > fragmentProgram
 Pointer to the shader fragment program.
 
MTLVertexDescriptor * vertexDesc
 Pointer to the vertex descriptors.
 
MTLDepthStencilDescriptor * mtlRenderPassDepthStencilDescriptor
 Pointer to the Depth Stencil descriptor.
 
id< MTLDepthStencilState > mtlRenderPassDepthStencilState
 
MTLStencilDescriptor * mtlRenderPassStencilStateDescriptor
 
MTLRenderPassDepthAttachmentDescriptor * mtlRenderPassDepthAttachmentDescriptor
 
id< MTLBuffer > shadowPropertiesUniform