The Joe Engine
Joe's engine programming playground
JoeEngine::MaterialComponent Class Reference

The Material Component class. More...

#include <MaterialComponent.h>

Public Member Functions

 MaterialComponent ()
 Default constructor. More...
 
 MaterialComponent (uint32_t matSettings, uint32_t geomType, uint32_t renderLayer)
 Constructor. More...
 
 ~MaterialComponent ()=default
 Destructor (default). More...
 

Public Attributes

uint32_t m_materialSettings
 Material settings. More...
 
uint32_t m_geomType
 Geometry type. More...
 
uint32_t m_renderLayer
 Render layer. More...
 
uint32_t m_shaderID
 Shader ID. More...
 
uint32_t m_descriptorID
 Descriptor ID. More...
 
uint32_t m_texAlbedo
 Texture - albedo. More...
 
uint32_t m_texRoughness
 Texture - roughness. More...
 
uint32_t m_texMetallic
 Texture - metallic. More...
 
uint32_t m_texNormal
 Texture - normal. More...
 
std::vector< void * > m_uniformData
 Uniform data pointers. More...
 
std::vector< uint32_t > m_uniformDataSizes
 Uniform data sizes. More...
 

Detailed Description

The Material Component class.

Contains the necessary material info to be attached to a particular entity.

See also
JEMaterialComponentManager

Constructor & Destructor Documentation

◆ MaterialComponent() [1/2]

JoeEngine::MaterialComponent::MaterialComponent ( )
inline

Default constructor.

Invokes other constructor with some default values.

◆ MaterialComponent() [2/2]

JoeEngine::MaterialComponent::MaterialComponent ( uint32_t  matSettings,
uint32_t  geomType,
uint32_t  renderLayer 
)
inline

Constructor.

Constructs a material component with the specified material settings, geometry type, and render layer.

◆ ~MaterialComponent()

JoeEngine::MaterialComponent::~MaterialComponent ( )
default

Destructor (default).

Member Data Documentation

◆ m_descriptorID

uint32_t JoeEngine::MaterialComponent::m_descriptorID

Descriptor ID.

Handle to the intended descriptor to use with this material.

◆ m_geomType

uint32_t JoeEngine::MaterialComponent::m_geomType

Geometry type.

Indicates which geometry type bits are set for this material.

◆ m_materialSettings

uint32_t JoeEngine::MaterialComponent::m_materialSettings

Material settings.

Indicates which material settings bits are set for this material.

◆ m_renderLayer

uint32_t JoeEngine::MaterialComponent::m_renderLayer

Render layer.

Indicates which render layer this material should be rendered to.

◆ m_shaderID

uint32_t JoeEngine::MaterialComponent::m_shaderID

Shader ID.

Handle to the intended shader to use with this material.

◆ m_texAlbedo

uint32_t JoeEngine::MaterialComponent::m_texAlbedo

Texture - albedo.

Handle to the base color texture for this material.

◆ m_texMetallic

uint32_t JoeEngine::MaterialComponent::m_texMetallic

Texture - metallic.

Handle to the matallic texture for this material. (For use with physically based rendering)

◆ m_texNormal

uint32_t JoeEngine::MaterialComponent::m_texNormal

Texture - normal.

Handle to the normal texture for this material. (For use with normal mapping)

◆ m_texRoughness

uint32_t JoeEngine::MaterialComponent::m_texRoughness

Texture - roughness.

Handle to the roughness texture for this material. (For use with physically based rendering)

◆ m_uniformData

std::vector<void*> JoeEngine::MaterialComponent::m_uniformData

Uniform data pointers.

Collection of pointers to arbitrary uniform buffer data. (Currently unused)

◆ m_uniformDataSizes

std::vector<uint32_t> JoeEngine::MaterialComponent::m_uniformDataSizes

Uniform data sizes.

Collection of the sizes of each buffer referred to by the uniform buffer data list. (Currently unused)


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