Untold Engine
Beta v0.0.16
docs
|
The U4DRenderImage class manages the rendering of all 2D images. More...
Inherits U4DEngine::U4DRenderEntity.
Inherited by U4DEngine::U4DRenderFont, and U4DEngine::U4DRenderSprite.
Public Member Functions | |
U4DRenderImage (U4DImage *uU4DImage) | |
Constructor for class. More... | |
~U4DRenderImage () | |
Destructor for class. | |
void | initMTLRenderLibrary () |
Initializes the library shaders. More... | |
void | initMTLRenderPipeline () |
Initializes the Rendering Pipeline. More... | |
virtual bool | loadMTLBuffer () |
Loads the attributes and Uniform data. More... | |
void | loadMTLTexture () |
Loads image texture into GPU. More... | |
void | updateSpaceUniforms () |
Updates the space matrix of the entity. More... | |
void | render (id< MTLRenderCommandEncoder > uRenderEncoder) |
Renders the current entity. More... | |
void | alignedAttributeData () |
It aligns all attribute data. More... | |
virtual void | clearModelAttributeData () |
clears all attributes containers More... | |
void | initTextureSamplerObjectNull () |
Set texture sampler to NULL. More... | |
Public Member Functions inherited from U4DEngine::U4DRenderEntity | |
U4DRenderEntity () | |
Constructor for the U4DRenderEntity. More... | |
virtual | ~U4DRenderEntity () |
Destructor for the U4DRenderEntity. More... | |
void | loadRenderingInformation () |
Sends attributes information to the GPU. More... | |
virtual void | loadMTLAdditionalInformation () |
Loads additional information for different types of entities. More... | |
virtual void | updateAllUniforms () |
virtual void | updateRenderingInformation () |
Updates the space matrix of the shadow. More... | |
virtual void | modifyRenderingInformation () |
virtual void | createTextureObject (id< MTLTexture > &uTextureObject) |
Creates a texture object to be applied to an entity. More... | |
void | createSamplerObject (id< MTLSamplerState > &uSamplerStateObject, MTLSamplerDescriptor *uSamplerDescriptor) |
Creates a sampler object required for texturing. More... | |
virtual void | setGeometryLineColor (U4DVector4n &uGeometryLineColor) |
Set line color for geometric entities. More... | |
void | clearRawImageData () |
Clear the raw image data. More... | |
void | setIsWithinFrustum (bool uValue) |
Sets property used to determine if entity is within frustum. More... | |
void | setRawImageData (std::vector< unsigned char > uRawImageData) |
void | setImageWidth (unsigned int uImageWidth) |
void | setImageHeight (unsigned int uImageHeight) |
bool | createTextureAndSamplerObjects (id< MTLTexture > &uTextureObject, id< MTLSamplerState > &uSamplerStateObject, MTLSamplerDescriptor *uSamplerDescriptor, std::string uTextureName) |
void | setPipelineForPass (std::string uPipelineName, int uRenderPassKey) |
void | removePassPipelinePair (int uRenderPassKey) |
U4DRenderPipelineInterface * | getPipeline (int uRenderPassKey) |
Protected Attributes | |
std::vector< AttributeAlignedImageData > | attributeAlignedContainer |
vector for the aligned attribute data. The attributes need to be aligned before they are processed by the GPU | |
MTLSamplerDescriptor * | nullSamplerDescriptor |
Pointer to the null sampler descriptor used for texturing. | |
id< MTLTexture > | textureObject |
Pointer that represents the texture object. | |
id< MTLSamplerState > | samplerStateObject |
Pointer to the Sampler State object. | |
MTLSamplerDescriptor * | samplerDescriptor |
Pointer to the Sampler descriptor. | |
Protected Attributes inherited from U4DEngine::U4DRenderEntity | |
id< MTLDevice > | mtlDevice |
Pointer representing a Metal Device. | |
id< MTLBuffer > | attributeBuffer |
Pointer to the attribute buffer. | |
id< MTLBuffer > | indicesBuffer |
Pointer to the index buffer. | |
id< MTLBuffer > | uniformSpaceBuffer |
Pointer to the Uniform that holds the Space matrix. | |
bool | eligibleToRender |
Variable to determine if object should be rendered. | |
bool | isWithinFrustum |
Variable to determine if the 3D object is within the frustum. | |
std::vector< unsigned char > | rawImageData |
buffer for the raw image data of a texture | |
unsigned int | imageWidth |
Width of the texture image. | |
unsigned int | imageHeight |
Height of the texture image. | |
std::map< int, U4DRenderPipelineInterface * > | renderPassPipelineMap |
The U4DRenderImage class manages the rendering of all 2D images.
U4DEngine::U4DRenderImage::U4DRenderImage | ( | U4DImage * | uU4DImage | ) |
Constructor for class.
It sets the image entity it will manage
uU4DImage | image entity |
void U4DEngine::U4DRenderImage::alignedAttributeData | ( | ) |
It aligns all attribute data.
Aligns vertices and uv. This is necessary when using Metal
|
virtual |
clears all attributes containers
clears attributes containers such as vertices and UVs
Reimplemented from U4DEngine::U4DRenderEntity.
Reimplemented in U4DEngine::U4DRenderFont.
void U4DEngine::U4DRenderImage::initMTLRenderLibrary | ( | ) |
Initializes the library shaders.
It initializes the vertex and fragment shaders for the entity
void U4DEngine::U4DRenderImage::initMTLRenderPipeline | ( | ) |
Initializes the Rendering Pipeline.
It prepares the rendering descriptor with the appropriate color attachment, depth attachment, shaders and attributes
|
virtual |
Set texture sampler to NULL.
Creates a texture and sampler object and initializes to NULL
Reimplemented from U4DEngine::U4DRenderEntity.
|
virtual |
Loads the attributes and Uniform data.
It prepares the attribute data so that it is aligned. It then loads the attributes into a buffer. It also loads uniform data into a buffer
Reimplemented from U4DEngine::U4DRenderEntity.
|
virtual |
Loads image texture into GPU.
It decodes the current texture image, creates a texture object, a texture sampler, and loads the raw data into a buffer
Reimplemented from U4DEngine::U4DRenderEntity.
|
virtual |
Renders the current entity.
Updates the space matrix and any rendering flags. It encodes the pipeline, buffers and issues the draw command
uRenderEncoder | Metal encoder object for the current entity |
Reimplemented from U4DEngine::U4DRenderEntity.
Reimplemented in U4DEngine::U4DRenderSprite.
|
virtual |
Updates the space matrix of the entity.
Updates the image space matrix of the entity by computing the world, view and orthogonal space matrix
Reimplemented from U4DEngine::U4DRenderEntity.