Castor3D  ..
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
Castor3D::ShaderProgram Class Referenceabstract

Base shader program implementation, used to share functions through the supported shader languages. More...

+ Inheritance diagram for Castor3D::ShaderProgram:
+ Collaboration diagram for Castor3D::ShaderProgram:

Classes

class  BinaryParser
 ShaderProgram loader. More...
 
class  TextLoader
 ShaderProgram loader. More...
 

Public Member Functions

C3D_API ShaderProgram (RenderSystem &p_renderSystem, eSHADER_LANGUAGE p_langage)
 Constructor. More...
 
virtual C3D_API ~ShaderProgram ()
 Destructor. More...
 
C3D_API ShaderObjectSPtr CreateObject (eSHADER_TYPE p_type)
 Creates the wanted shader object. More...
 
virtual C3D_API void SetFile (eSHADER_MODEL p_eModel, Castor::Path const &p_pathFile)
 Sets all objects file. More...
 
C3D_API void AddFrameVariableBuffer (FrameVariableBufferSPtr p_pVariableBuffer, uint64_t p_shaderMask)
 Adds a variable buffer to add. More...
 
C3D_API void ResetToCompile ()
 Resets compilation variables to be able to compile again. More...
 
C3D_API void SetInputType (eSHADER_TYPE p_target, eTOPOLOGY p_topology)
 Sets the input primitives type. More...
 
C3D_API void SetOutputType (eSHADER_TYPE p_target, eTOPOLOGY p_topology)
 Sets the output primitives type. More...
 
C3D_API void SetOutputVtxCount (eSHADER_TYPE p_target, uint8_t p_count)
 Sets the output vertex count. More...
 
C3D_API void SetFile (eSHADER_TYPE p_target, eSHADER_MODEL p_eModel, Castor::Path const &p_pathFile)
 Sets the shader file for given model. More...
 
C3D_API Castor::Path GetFile (eSHADER_TYPE p_target, eSHADER_MODEL p_eModel) const
 Retrieves the shader file for given model. More...
 
C3D_API bool HasFile (eSHADER_TYPE p_target) const
 Tells if the shader object has a source file, whatever model it is. More...
 
C3D_API void SetSource (eSHADER_TYPE p_target, eSHADER_MODEL p_eModel, Castor::String const &p_strSource)
 Sets the shader source for given model. More...
 
C3D_API Castor::String GetSource (eSHADER_TYPE p_target, eSHADER_MODEL p_eModel) const
 Retrieves the shader source for given model. More...
 
C3D_API bool HasSource (eSHADER_TYPE p_target) const
 Tells if the shader object has a source code, whatever model it is. More...
 
C3D_API bool HasObject (eSHADER_TYPE p_target) const
 Tests if the program has an object for given type. More...
 
C3D_API eSHADER_STATUS GetObjectStatus (eSHADER_TYPE p_target) const
 Retrieves the given object type status. More...
 
C3D_API OneIntFrameVariableSPtr CreateFrameVariable (Castor::String const &p_name, eSHADER_TYPE p_type, int p_iNbOcc=1)
 Creates a variable. More...
 
C3D_API OneIntFrameVariableSPtr FindFrameVariable (Castor::String const &p_name, eSHADER_TYPE p_type) const
 Looks for a variable. More...
 
C3D_API FrameVariableBufferSPtr FindFrameVariableBuffer (Castor::String const &p_name) const
 Finds a variable. More...
 
C3D_API FrameVariablePtrList & GetFrameVariables (eSHADER_TYPE p_type)
 Retrieves the frame variables bound to one shader type. More...
 
C3D_API FrameVariablePtrList const & GetFrameVariables (eSHADER_TYPE p_type) const
 Retrieves the frame variables bound to one shader type. More...
 
virtual C3D_API void Cleanup ()=0
 Cleans the program up. More...
 
virtual C3D_API bool Initialise ()=0
 Initialises the program. More...
 
virtual C3D_API void Bind (bool p_bindUbo=true)=0
 Activates the program. More...
 
virtual C3D_API void Unbind ()=0
 Deactivates the program. More...
 
virtual C3D_API bool Link ()=0
 Links all shader objects held by the program. More...
 
virtual C3D_API ProgramInputLayout const & GetLayout () const =0
 
virtual C3D_API ProgramInputLayoutGetLayout ()=0
 
FrameVariableBufferPtrList & GetFrameVariableBuffers (eSHADER_TYPE p_type)
 Retrieves the frame variable buffers bound to one shader type. More...
 
FrameVariableBufferPtrList const & GetFrameVariableBuffers (eSHADER_TYPE p_type) const
 Retrieves the frame variable buffers bound to one shader type. More...
 
FrameVariableBufferPtrList & GetFrameVariableBuffers ()
 Retrieves the frame variable buffers. More...
 
FrameVariableBufferPtrList const & GetFrameVariableBuffers () const
 Retrieves the frame variable buffers. More...
 
ePROGRAM_STATUS GetStatus () const
 Retrieves the program link status. More...
 
eSHADER_LANGUAGE GetLanguage () const
 Retrieves the shader language. More...
 

Static Public Attributes

Attributes
static C3D_API const Castor::String Position
 Name of the position attribute. More...
 
static C3D_API const Castor::String Normal
 Name of the normal attribute. More...
 
static C3D_API const Castor::String Tangent
 Name of the tangent attribute. More...
 
static C3D_API const Castor::String Bitangent
 Name of the bitangent attribute. More...
 
static C3D_API const Castor::String Texture
 Name of the texture attribute. More...
 
static C3D_API const Castor::String Colour
 Name of the colour attribute. More...
 
static C3D_API const Castor::String Text
 Name of the text overlay texture attribute. More...
 
static C3D_API const Castor::String BoneIds0
 Name of the first bones ID attribute. More...
 
static C3D_API const Castor::String BoneIds1
 Name of the second bones ID attribute. More...
 
static C3D_API const Castor::String Weights0
 Name of the first bones weight attribute. More...
 
static C3D_API const Castor::String Weights1
 Name of the second bones weight attribute. More...
 
static C3D_API const Castor::String Transform
 Name of the instance transform attribute. More...
 
Scene
static C3D_API const Castor::String CameraPos
 Name of the camera position frame variable. More...
 
static C3D_API const Castor::String AmbientLight
 Name of the ambient light frame variable. More...
 
static C3D_API const Castor::String BackgroundColour
 Name of the background colour frame variable. More...
 
static C3D_API const Castor::String LightsCount
 Name of the lights count frame variable. More...
 
static C3D_API const Castor::String Lights
 Name of the lights frame variable. More...
 
Pass
static C3D_API const Castor::String MatAmbient
 Name of the ambient material colour frame variable. More...
 
static C3D_API const Castor::String MatDiffuse
 Name of the diffuse material colour frame variable. More...
 
static C3D_API const Castor::String MatSpecular
 Name of the specular material colour frame variable. More...
 
static C3D_API const Castor::String MatEmissive
 Name of the emissive material colour frame variable. More...
 
static C3D_API const Castor::String MatShininess
 Name of the material shininess frame variable. More...
 
static C3D_API const Castor::String MatOpacity
 Name of the material opacity frame variable. More...
 
static C3D_API const Castor::String MapText
 Name of the overlay text image frame variable. More...
 
Textures
static C3D_API const Castor::String MapColour
 Name of the colour texture frame variable. More...
 
static C3D_API const Castor::String MapAmbient
 Name of the ambient texture frame variable. More...
 
static C3D_API const Castor::String MapDiffuse
 Name of the diffuse texture frame variable. More...
 
static C3D_API const Castor::String MapSpecular
 Name of the specular texture frame variable. More...
 
static C3D_API const Castor::String MapEmissive
 Name of the emissive texture frame variable. More...
 
static C3D_API const Castor::String MapNormal
 Name of the emissive texture frame variable. More...
 
static C3D_API const Castor::String MapOpacity
 Name of the opacity texture frame variable. More...
 
static C3D_API const Castor::String MapGloss
 Name of the shininess texture frame variable. More...
 
static C3D_API const Castor::String MapHeight
 Name of the height texture frame variable. More...
 
Frame Variable Buffers
static C3D_API const Castor::String BufferMatrix
 Name of the matrix frame variable buffer. More...
 
static C3D_API const Castor::String BufferScene
 Name of the scene frame variable buffer. More...
 
static C3D_API const Castor::String BufferPass
 Name of the pass frame variable buffer. More...
 

Protected Member Functions

C3D_API void DoCleanup ()
 Cleans the program up. More...
 
C3D_API bool DoInitialise ()
 Initialises the program. More...
 
C3D_API void DoBind (bool p_bindUbo)
 Activates the program. More...
 
C3D_API void DoUnbind ()
 Deactivates the program. More...
 
C3D_API bool DoLink ()
 Links all shader objects held by the program. More...
 

Protected Attributes

ePROGRAM_STATUS m_status
 < The program status More...
 
eSHADER_LANGUAGE m_eLanguage
 
std::array< ShaderObjectSPtr, eSHADER_TYPE_COUNT > m_pShaders
 The shaders array. More...
 
std::vector< ShaderObjectSPtr > m_activeShaders
 The active shaders array. More...
 
std::array< Castor::Path, eSHADER_MODEL_COUNT > m_arrayFiles
 Array of files path, sorted by shader model. More...
 
FrameVariableBufferPtrStrMap m_frameVariableBuffersByName
 The frame variable buffers map, ordered by name. More...
 
std::array< FrameVariableBufferPtrList, eSHADER_TYPE_COUNT > m_frameVariableBuffers
 The frame variable buffers map, ordered by shader type. More...
 
FrameVariableBufferPtrList m_listFrameVariableBuffers
 The frame variable buffers map. More...
 

Friends

class Castor::TextLoader< Castor3D::ShaderProgram >
 

Detailed Description

Base shader program implementation, used to share functions through the supported shader languages.

Author
Sylvain DOREMUS
Version
0.6.1.2
Date
24/01/2011

Constructor & Destructor Documentation

◆ ShaderProgram()

C3D_API Castor3D::ShaderProgram::ShaderProgram ( RenderSystem p_renderSystem,
eSHADER_LANGUAGE  p_langage 
)

Constructor.

Parameters
[in]p_renderSystemThe RenderSystem instance
[in]p_langageThe program language

◆ ~ShaderProgram()

virtual C3D_API Castor3D::ShaderProgram::~ShaderProgram ( )
virtual

Destructor.

Member Function Documentation

◆ AddFrameVariableBuffer()

C3D_API void Castor3D::ShaderProgram::AddFrameVariableBuffer ( FrameVariableBufferSPtr  p_pVariableBuffer,
uint64_t  p_shaderMask 
)

Adds a variable buffer to add.

Parameters
[in]p_pVariableBufferThe GPU variables buffer
[in]p_shaderMaskMASK_SHADER_TYPE combination, to set at what shaders it is to be bound

◆ Bind()

virtual C3D_API void Castor3D::ShaderProgram::Bind ( bool  p_bindUbo = true)
pure virtual

Activates the program.

Parameters
[in]p_bindUboTells if the frame variable buffers muts be bound.

◆ Cleanup()

virtual C3D_API void Castor3D::ShaderProgram::Cleanup ( )
pure virtual

Cleans the program up.

◆ CreateFrameVariable()

C3D_API OneIntFrameVariableSPtr Castor3D::ShaderProgram::CreateFrameVariable ( Castor::String const &  p_name,
eSHADER_TYPE  p_type,
int  p_iNbOcc = 1 
)

Creates a variable.

Parameters
[in]p_nameThe variable name
[in]p_typeThe shader type
[in]p_iNbOccThe array dimension
Returns
The created variable, nullptr if failed

◆ CreateObject()

C3D_API ShaderObjectSPtr Castor3D::ShaderProgram::CreateObject ( eSHADER_TYPE  p_type)

Creates the wanted shader object.

Parameters
[in]p_typeThe shader object concerned

◆ DoBind()

C3D_API void Castor3D::ShaderProgram::DoBind ( bool  p_bindUbo)
protected

Activates the program.

Parameters
[in]p_bindUboTells if the frame variable buffers muts be bound.

◆ DoCleanup()

C3D_API void Castor3D::ShaderProgram::DoCleanup ( )
protected

Cleans the program up.

◆ DoInitialise()

C3D_API bool Castor3D::ShaderProgram::DoInitialise ( )
protected

Initialises the program.

◆ DoLink()

C3D_API bool Castor3D::ShaderProgram::DoLink ( )
protected

Links all shader objects held by the program.

◆ DoUnbind()

C3D_API void Castor3D::ShaderProgram::DoUnbind ( )
protected

Deactivates the program.

◆ FindFrameVariable()

C3D_API OneIntFrameVariableSPtr Castor3D::ShaderProgram::FindFrameVariable ( Castor::String const &  p_name,
eSHADER_TYPE  p_type 
) const

Looks for a variable.

Parameters
[in]p_nameThe variable name
[in]p_typeThe shader type
Returns
The found variable, nullptr if failed

◆ FindFrameVariableBuffer()

C3D_API FrameVariableBufferSPtr Castor3D::ShaderProgram::FindFrameVariableBuffer ( Castor::String const &  p_name) const

Finds a variable.

Returns
The found variable, nullptr if failed

◆ GetFile()

C3D_API Castor::Path Castor3D::ShaderProgram::GetFile ( eSHADER_TYPE  p_target,
eSHADER_MODEL  p_eModel 
) const

Retrieves the shader file for given model.

Parameters
[in]p_targetThe shader object concerned
[in]p_eModelThe shader model
Returns
The file name

◆ GetFrameVariableBuffers() [1/4]

FrameVariableBufferPtrList& Castor3D::ShaderProgram::GetFrameVariableBuffers ( eSHADER_TYPE  p_type)
inline

Retrieves the frame variable buffers bound to one shader type.

Parameters
[in]p_typeThe shader type
Returns
The list

References m_frameVariableBuffers.

◆ GetFrameVariableBuffers() [2/4]

FrameVariableBufferPtrList const& Castor3D::ShaderProgram::GetFrameVariableBuffers ( eSHADER_TYPE  p_type) const
inline

Retrieves the frame variable buffers bound to one shader type.

Parameters
[in]p_typeThe shader type
Returns
The list

References m_frameVariableBuffers.

◆ GetFrameVariableBuffers() [3/4]

FrameVariableBufferPtrList& Castor3D::ShaderProgram::GetFrameVariableBuffers ( )
inline

Retrieves the frame variable buffers.

Returns
The list

References m_listFrameVariableBuffers.

◆ GetFrameVariableBuffers() [4/4]

FrameVariableBufferPtrList const& Castor3D::ShaderProgram::GetFrameVariableBuffers ( ) const
inline

Retrieves the frame variable buffers.

Returns
The list

References m_listFrameVariableBuffers.

◆ GetFrameVariables() [1/2]

C3D_API FrameVariablePtrList& Castor3D::ShaderProgram::GetFrameVariables ( eSHADER_TYPE  p_type)

Retrieves the frame variables bound to one shader type.

Parameters
[in]p_typeThe shader type
Returns
The list

◆ GetFrameVariables() [2/2]

C3D_API FrameVariablePtrList const& Castor3D::ShaderProgram::GetFrameVariables ( eSHADER_TYPE  p_type) const

Retrieves the frame variables bound to one shader type.

Parameters
[in]p_typeThe shader type
Returns
The list

◆ GetLanguage()

eSHADER_LANGUAGE Castor3D::ShaderProgram::GetLanguage ( ) const
inline

Retrieves the shader language.

Returns
The value

References m_eLanguage.

◆ GetLayout() [1/2]

virtual C3D_API ProgramInputLayout const& Castor3D::ShaderProgram::GetLayout ( ) const
pure virtual
Returns
The program vertex layout.

◆ GetLayout() [2/2]

virtual C3D_API ProgramInputLayout& Castor3D::ShaderProgram::GetLayout ( )
pure virtual
Returns
The program vertex layout.

◆ GetObjectStatus()

C3D_API eSHADER_STATUS Castor3D::ShaderProgram::GetObjectStatus ( eSHADER_TYPE  p_target) const

Retrieves the given object type status.

Returns
The status

◆ GetSource()

C3D_API Castor::String Castor3D::ShaderProgram::GetSource ( eSHADER_TYPE  p_target,
eSHADER_MODEL  p_eModel 
) const

Retrieves the shader source for given model.

Parameters
[in]p_targetThe shader object concerned
[in]p_eModelThe shader model
Returns
The source code

◆ GetStatus()

ePROGRAM_STATUS Castor3D::ShaderProgram::GetStatus ( ) const
inline

Retrieves the program link status.

Returns
The value

References m_status.

◆ HasFile()

C3D_API bool Castor3D::ShaderProgram::HasFile ( eSHADER_TYPE  p_target) const

Tells if the shader object has a source file, whatever model it is.

Parameters
[in]p_targetThe shader object concerned
Returns
true if the shader object has a source file

◆ HasObject()

C3D_API bool Castor3D::ShaderProgram::HasObject ( eSHADER_TYPE  p_target) const

Tests if the program has an object for given type.

Parameters
[in]p_targetThe shader object type
Returns
true if the shader object exists

◆ HasSource()

C3D_API bool Castor3D::ShaderProgram::HasSource ( eSHADER_TYPE  p_target) const

Tells if the shader object has a source code, whatever model it is.

Parameters
[in]p_targetThe shader object concerned
Returns
true if the shader object has a source code

◆ Initialise()

virtual C3D_API bool Castor3D::ShaderProgram::Initialise ( )
pure virtual

Initialises the program.

◆ Link()

virtual C3D_API bool Castor3D::ShaderProgram::Link ( )
pure virtual

Links all shader objects held by the program.

◆ ResetToCompile()

C3D_API void Castor3D::ShaderProgram::ResetToCompile ( )

Resets compilation variables to be able to compile again.

◆ SetFile() [1/2]

virtual C3D_API void Castor3D::ShaderProgram::SetFile ( eSHADER_MODEL  p_eModel,
Castor::Path const &  p_pathFile 
)
virtual

Sets all objects file.

Parameters
[in]p_eModelThe shader model
[in]p_pathFileThe file name

◆ SetFile() [2/2]

C3D_API void Castor3D::ShaderProgram::SetFile ( eSHADER_TYPE  p_target,
eSHADER_MODEL  p_eModel,
Castor::Path const &  p_pathFile 
)

Sets the shader file for given model.

Remarks
The loaded file will be the one of the highest supported profile
Parameters
[in]p_targetThe shader object concerned
[in]p_eModelThe shader model
[in]p_pathFileThe file name

◆ SetInputType()

C3D_API void Castor3D::ShaderProgram::SetInputType ( eSHADER_TYPE  p_target,
eTOPOLOGY  p_topology 
)

Sets the input primitives type.

Parameters
[in]p_targetThe shader object concerned
[in]p_topologyThe input primitives type

◆ SetOutputType()

C3D_API void Castor3D::ShaderProgram::SetOutputType ( eSHADER_TYPE  p_target,
eTOPOLOGY  p_topology 
)

Sets the output primitives type.

Parameters
[in]p_targetThe shader object concerned
[in]p_topologyThe output primitives type

◆ SetOutputVtxCount()

C3D_API void Castor3D::ShaderProgram::SetOutputVtxCount ( eSHADER_TYPE  p_target,
uint8_t  p_count 
)

Sets the output vertex count.

Parameters
[in]p_targetThe shader object concerned
[in]p_countThe count

◆ SetSource()

C3D_API void Castor3D::ShaderProgram::SetSource ( eSHADER_TYPE  p_target,
eSHADER_MODEL  p_eModel,
Castor::String const &  p_strSource 
)

Sets the shader source for given model.

Remarks
The loaded source will be the one of the highest supported profile
Parameters
[in]p_targetThe shader object concerned
[in]p_eModelThe shader model
[in]p_strSourceThe source code

◆ Unbind()

virtual C3D_API void Castor3D::ShaderProgram::Unbind ( )
pure virtual

Deactivates the program.

Friends And Related Function Documentation

◆ Castor::TextLoader< Castor3D::ShaderProgram >

friend class Castor::TextLoader< Castor3D::ShaderProgram >
friend

Member Data Documentation

◆ AmbientLight

C3D_API const Castor::String Castor3D::ShaderProgram::AmbientLight
static

Name of the ambient light frame variable.

◆ BackgroundColour

C3D_API const Castor::String Castor3D::ShaderProgram::BackgroundColour
static

Name of the background colour frame variable.

◆ Bitangent

C3D_API const Castor::String Castor3D::ShaderProgram::Bitangent
static

Name of the bitangent attribute.

◆ BoneIds0

C3D_API const Castor::String Castor3D::ShaderProgram::BoneIds0
static

Name of the first bones ID attribute.

◆ BoneIds1

C3D_API const Castor::String Castor3D::ShaderProgram::BoneIds1
static

Name of the second bones ID attribute.

◆ BufferMatrix

C3D_API const Castor::String Castor3D::ShaderProgram::BufferMatrix
static

Name of the matrix frame variable buffer.

◆ BufferPass

C3D_API const Castor::String Castor3D::ShaderProgram::BufferPass
static

Name of the pass frame variable buffer.

◆ BufferScene

C3D_API const Castor::String Castor3D::ShaderProgram::BufferScene
static

Name of the scene frame variable buffer.

◆ CameraPos

C3D_API const Castor::String Castor3D::ShaderProgram::CameraPos
static

Name of the camera position frame variable.

◆ Colour

C3D_API const Castor::String Castor3D::ShaderProgram::Colour
static

Name of the colour attribute.

◆ Lights

C3D_API const Castor::String Castor3D::ShaderProgram::Lights
static

Name of the lights frame variable.

◆ LightsCount

C3D_API const Castor::String Castor3D::ShaderProgram::LightsCount
static

Name of the lights count frame variable.

◆ m_activeShaders

std::vector< ShaderObjectSPtr > Castor3D::ShaderProgram::m_activeShaders
protected

The active shaders array.

◆ m_arrayFiles

std::array< Castor::Path, eSHADER_MODEL_COUNT > Castor3D::ShaderProgram::m_arrayFiles
protected

Array of files path, sorted by shader model.

◆ m_eLanguage

eSHADER_LANGUAGE Castor3D::ShaderProgram::m_eLanguage
protected

Referenced by GetLanguage().

◆ m_frameVariableBuffers

std::array< FrameVariableBufferPtrList, eSHADER_TYPE_COUNT > Castor3D::ShaderProgram::m_frameVariableBuffers
protected

The frame variable buffers map, ordered by shader type.

Referenced by GetFrameVariableBuffers().

◆ m_frameVariableBuffersByName

FrameVariableBufferPtrStrMap Castor3D::ShaderProgram::m_frameVariableBuffersByName
protected

The frame variable buffers map, ordered by name.

◆ m_listFrameVariableBuffers

FrameVariableBufferPtrList Castor3D::ShaderProgram::m_listFrameVariableBuffers
protected

The frame variable buffers map.

Referenced by GetFrameVariableBuffers().

◆ m_pShaders

std::array< ShaderObjectSPtr, eSHADER_TYPE_COUNT > Castor3D::ShaderProgram::m_pShaders
protected

The shaders array.

◆ m_status

ePROGRAM_STATUS Castor3D::ShaderProgram::m_status
protected

< The program status

The program language

Referenced by GetStatus().

◆ MapAmbient

C3D_API const Castor::String Castor3D::ShaderProgram::MapAmbient
static

Name of the ambient texture frame variable.

◆ MapColour

C3D_API const Castor::String Castor3D::ShaderProgram::MapColour
static

Name of the colour texture frame variable.

◆ MapDiffuse

C3D_API const Castor::String Castor3D::ShaderProgram::MapDiffuse
static

Name of the diffuse texture frame variable.

◆ MapEmissive

C3D_API const Castor::String Castor3D::ShaderProgram::MapEmissive
static

Name of the emissive texture frame variable.

◆ MapGloss

C3D_API const Castor::String Castor3D::ShaderProgram::MapGloss
static

Name of the shininess texture frame variable.

◆ MapHeight

C3D_API const Castor::String Castor3D::ShaderProgram::MapHeight
static

Name of the height texture frame variable.

◆ MapNormal

C3D_API const Castor::String Castor3D::ShaderProgram::MapNormal
static

Name of the emissive texture frame variable.

◆ MapOpacity

C3D_API const Castor::String Castor3D::ShaderProgram::MapOpacity
static

Name of the opacity texture frame variable.

◆ MapSpecular

C3D_API const Castor::String Castor3D::ShaderProgram::MapSpecular
static

Name of the specular texture frame variable.

◆ MapText

C3D_API const Castor::String Castor3D::ShaderProgram::MapText
static

Name of the overlay text image frame variable.

◆ MatAmbient

C3D_API const Castor::String Castor3D::ShaderProgram::MatAmbient
static

Name of the ambient material colour frame variable.

◆ MatDiffuse

C3D_API const Castor::String Castor3D::ShaderProgram::MatDiffuse
static

Name of the diffuse material colour frame variable.

◆ MatEmissive

C3D_API const Castor::String Castor3D::ShaderProgram::MatEmissive
static

Name of the emissive material colour frame variable.

◆ MatOpacity

C3D_API const Castor::String Castor3D::ShaderProgram::MatOpacity
static

Name of the material opacity frame variable.

◆ MatShininess

C3D_API const Castor::String Castor3D::ShaderProgram::MatShininess
static

Name of the material shininess frame variable.

◆ MatSpecular

C3D_API const Castor::String Castor3D::ShaderProgram::MatSpecular
static

Name of the specular material colour frame variable.

◆ Normal

C3D_API const Castor::String Castor3D::ShaderProgram::Normal
static

Name of the normal attribute.

◆ Position

C3D_API const Castor::String Castor3D::ShaderProgram::Position
static

Name of the position attribute.

◆ Tangent

C3D_API const Castor::String Castor3D::ShaderProgram::Tangent
static

Name of the tangent attribute.

◆ Text

C3D_API const Castor::String Castor3D::ShaderProgram::Text
static

Name of the text overlay texture attribute.

◆ Texture

C3D_API const Castor::String Castor3D::ShaderProgram::Texture
static

Name of the texture attribute.

◆ Transform

C3D_API const Castor::String Castor3D::ShaderProgram::Transform
static

Name of the instance transform attribute.

◆ Weights0

C3D_API const Castor::String Castor3D::ShaderProgram::Weights0
static

Name of the first bones weight attribute.

◆ Weights1

C3D_API const Castor::String Castor3D::ShaderProgram::Weights1
static

Name of the second bones weight attribute.


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