#########
IMaterial
#########

.. cpp:namespace:: RED::IMaterial

.. default-domain:: cpp

Functions
=========

==================================== ==============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
:doc:`classRED_1_1CID`               :cpp:func:`GetClassID <static RED::CID RED::IMaterial::GetClassID()>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
:cpp:enumerator:`~RED_RC`            :cpp:func:`RegisterShader <virtual RED_RC RED::IMaterial::RegisterShader(const RED::Shader &iShader, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
bool                                 :cpp:func:`IsRegistered <virtual bool RED::IMaterial::IsRegistered(unsigned int iID, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
:cpp:enumerator:`~RED_RC`            :cpp:func:`DeleteShader <virtual RED_RC RED::IMaterial::DeleteShader(unsigned int iShaderID, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
:cpp:enumerator:`~RED_RC`            :cpp:func:`UpdateShader <virtual RED_RC RED::IMaterial::UpdateShader(const RED::Shader &iShader, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
:cpp:enumerator:`~RED_RC`            :cpp:func:`ClearShaders <virtual RED_RC RED::IMaterial::ClearShaders(const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
:cpp:enumerator:`~RED_RC`            :cpp:func:`AddShaderToPass <virtual RED_RC RED::IMaterial::AddShaderToPass(unsigned int iShaderID, RED::MATERIAL_PASS iPass, RED::LIST_POS iPosition, const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
:cpp:enumerator:`~RED_RC`            :cpp:func:`RemoveShaderFromPass <virtual RED_RC RED::IMaterial::RemoveShaderFromPass(unsigned int iShaderID, RED::MATERIAL_PASS iPass, const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
:cpp:enumerator:`~RED_RC`            :cpp:func:`RemoveShaderFromLayerSets <virtual RED_RC RED::IMaterial::RemoveShaderFromLayerSets(unsigned int iShaderID, RED::MATERIAL_PASS iPass, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
:cpp:enumerator:`~RED_RC`            :cpp:func:`RemoveShaderFromPasses <virtual RED_RC RED::IMaterial::RemoveShaderFromPasses(unsigned int iShaderID, const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
:cpp:enumerator:`~RED_RC`            :cpp:func:`RemoveShader <virtual RED_RC RED::IMaterial::RemoveShader(unsigned int iShaderID, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
:cpp:enumerator:`~RED_RC`            :cpp:func:`ClearShaderPass <virtual RED_RC RED::IMaterial::ClearShaderPass(RED::MATERIAL_PASS iPass, const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
:cpp:enumerator:`~RED_RC`            :cpp:func:`ClearShaderLayerSet <virtual RED_RC RED::IMaterial::ClearShaderLayerSet(const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
int                                  :cpp:func:`LayerSetsCount <virtual int RED::IMaterial::LayerSetsCount(int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
const :doc:`classRED_1_1LayerSet` &  :cpp:func:`GetLayerSet <virtual const RED::LayerSet & RED::IMaterial::GetLayerSet(int iLayerSet, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
const :doc:`classRED_1_1Shader` *    :cpp:func:`GetShader <virtual const RED::Shader * RED::IMaterial::GetShader(unsigned int iShaderID, RED::MATERIAL_PASS iPass, const RED::LayerSet &iLayerSet, int iNumState=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetShader <virtual RED_RC RED::IMaterial::GetShader(unsigned int iShaderID, RED::MATERIAL_PASS iPass, RED::Shader *&oShader, const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetShaders <virtual RED_RC RED::IMaterial::GetShaders(RED::Vector< RED::Shader * > &oShaders, RED::MATERIAL_PASS iPass, const RED::LayerSet &iLayerSet, int iNumState=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetShaders <virtual RED_RC RED::IMaterial::GetShaders(RED::Vector< RED::Shader * > &oShaders, RED::MATERIAL_PASS iPass, const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetShaders <virtual RED_RC RED::IMaterial::GetShaders(RED::Vector< RED::Shader * > &oShaders, RED::MATERIAL_PASS iPass, int iNumState=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetShaders <virtual RED_RC RED::IMaterial::GetShaders(RED::Vector< RED::Shader * > &oShaders, RED::MATERIAL_PASS iPass, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetShaders <virtual RED_RC RED::IMaterial::GetShaders(RED::Vector< RED::Shader * > &oShaders, const RED::LayerSet &iLayerSet, int iNumState=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetShaders <virtual RED_RC RED::IMaterial::GetShaders(RED::Vector< RED::Shader * > &oShaders, const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetShaderList <virtual RED_RC RED::IMaterial::GetShaderList(RED::Vector< const RED::Shader * > &oShaders, int iNumState=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetShaderList <virtual RED_RC RED::IMaterial::GetShaderList(RED::Vector< RED::Shader * > &oShaders, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetImageList <virtual RED_RC RED::IMaterial::GetImageList(RED::Map< RED::Object *, int > &oImageList, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetPriority <virtual RED_RC RED::IMaterial::SetPriority(int iPriority, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetPriority <virtual RED_RC RED::IMaterial::GetPriority(int &oPriority, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
:cpp:enumerator:`~RED_RC`            :cpp:func:`CopyFrom <virtual RED_RC RED::IMaterial::CopyFrom(const RED::Object &iMaterial, const RED::State &iState, int iSrcStateNumber=-1)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`            :cpp:func:`CopyFrom <virtual RED_RC RED::IMaterial::CopyFrom(const RED::Object &iMaterial, const RED::LayerSet &iLayerSetSrc, const RED::LayerSet &iLayerSetDest, const RED::State &iState, bool iImageCopy=false, bool iTinyImageCopy=false)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
:cpp:enumerator:`~RED_RC`            :cpp:func:`InsertShadersFrom <virtual RED_RC RED::IMaterial::InsertShadersFrom(const RED::Object &iMaterial, const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetUsedChannels <virtual RED_RC RED::IMaterial::GetUsedChannels(RED::Map< RED::LayerSet, RED::Vector< RED::MESH_CHANNEL > > &ioChannels, int iNumState=-1)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetImmediateMode <virtual RED_RC RED::IMaterial::SetImmediateMode(bool iOnOff, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetImmediateMode <virtual RED_RC RED::IMaterial::GetImmediateMode(bool &oOnOff, int iNumState=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetPolygonOffset <virtual RED_RC RED::IMaterial::SetPolygonOffset(float iPolyOffsetFactor, float iPolyOffsetUnits, const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetPolygonOffset <virtual RED_RC RED::IMaterial::GetPolygonOffset(float &oPolyOffsetFactor, float &oPolyOffsetUnits, const RED::LayerSet &iLayerSet, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetCaustics <virtual RED_RC RED::IMaterial::SetCaustics(bool iReflectiveCaustics, bool iRefractiveCaustics, const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetCaustics <virtual RED_RC RED::IMaterial::GetCaustics(bool &oReflectiveCaustics, bool &oRefractiveCaustics, const RED::LayerSet &iLayerSet, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetDisplacement <virtual RED_RC RED::IMaterial::SetDisplacement(float iDispHeight, const RED::Object *iDispTexture, const RED::Matrix &iDispMatrix, RED::MESH_CHANNEL iDispUV, float iDispOffset, const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetDisplacement <virtual RED_RC RED::IMaterial::GetDisplacement(float &oDispHeight, RED::Object *&oDispTexture, RED::Matrix &oDispMatrix, RED::MESH_CHANNEL &oDispUV, float &oDispOffset, const RED::LayerSet &iLayerSet, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetLogoMask <virtual RED_RC RED::IMaterial::SetLogoMask(const RED::Vector< RED::Object * > &iLogoMask, const RED::Vector< RED::Matrix > &iLogoMaskMatrix, const RED::Vector< RED::MESH_CHANNEL > &iLogoMaskUV, bool iInvert, const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
:cpp:enumerator:`~RED_RC`            :cpp:func:`UpdateLogoMaskMatrix <virtual RED_RC RED::IMaterial::UpdateLogoMaskMatrix(const RED::Vector< RED::Matrix > &iLogoMaskMatrix, const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetCuttingPlane <virtual RED_RC RED::IMaterial::SetCuttingPlane(const float iPlaneEquation[4], const RED::Shader *iSectionCapShader, const RED::LayerSet &iLayerSet, bool iEdgeMaterial, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
:cpp:enumerator:`~RED_RC`            :cpp:func:`UpdateCuttingPlaneEquation <virtual RED_RC RED::IMaterial::UpdateCuttingPlaneEquation(const float iPlaneEquation[4], const RED::LayerSet &iLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetupGenericMaterial <virtual RED_RC RED::IMaterial::SetupGenericMaterial(bool iDoubleSided, bool iFresnel, const RED::Color &iEmissiveColor, const RED::Object *iEmissiveTexture, const RED::Matrix &iEmissiveUVMatrix, RED::MESH_CHANNEL iEmissiveUVChannel, const RED::Color &iAmbientColor, const RED::Object *iAmbientTexture, const RED::Matrix &iAmbientUVMatrix, RED::MESH_CHANNEL iAmbientUVChannel, const RED::Color &iDiffuseColor, const RED::Object *iDiffuseTexture, const RED::Matrix &iDiffuseUVMatrix, RED::MESH_CHANNEL iDiffuseUVChannel, const RED::Color &iSpecularColor, const RED::Object *iSpecularTexture, const RED::Matrix &iSpecularUVMatrix, RED::MESH_CHANNEL iSpecularUVChannel, float iSpecularExp, const RED::Color &iReflectionColor, const RED::Object *iReflectionTexture, const RED::Matrix &iReflectionUVMatrix, RED::MESH_CHANNEL iReflectionUVChannel, float iReflectionGlossiness, bool iAutoEnv, bool iBackgroundEnv, const RED::Object *iEnvironmentalTexture, const RED::Matrix &iEnvironmentalMatrix, float iIOR, bool iRealtimeRefraction, const RED::Color &iOpacityColor, const RED::Object *iOpacityTexture, const RED::Matrix &iOpacityUVMatrix, RED::MESH_CHANNEL iOpacityUVChannel, float iOpacityGlossiness, const RED::Object *iBumpTexture, const RED::Matrix &iBumpUVMatrix, RED::MESH_CHANNEL iBumpUVChannel, RED::MESH_CHANNEL iBumpTangentsChannel, const RED::LayerSet *iRealtimeLayerSet, const RED::LayerSet *iPhotorealisticLayerSet, RED::Object *iResourceManager, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetupGenericBumpyDiffuseMaterial <virtual RED_RC RED::IMaterial::SetupGenericBumpyDiffuseMaterial(bool iDoubleSided, const RED::Color &iDiffuseColor, const RED::Object *iDiffuseTexture, const RED::Matrix &iDiffuseUVMatrix, RED::MESH_CHANNEL iDiffuseUVChannel, const RED::Object *iBumpTexture, const RED::Matrix &iBumpUVMatrix, RED::MESH_CHANNEL iBumpUVChannel, RED::MESH_CHANNEL iBumpTangentsChannel, const RED::LayerSet *iRealtimeLayerSet, const RED::LayerSet *iPhotorealisticLayerSet, RED::Object *iResourceManager, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetupGenericDiffuseMaterial <virtual RED_RC RED::IMaterial::SetupGenericDiffuseMaterial(bool iDoubleSided, const RED::Color &iDiffuseColor, const RED::Object *iDiffuseTexture, const RED::Matrix &iDiffuseUVMatrix, RED::MESH_CHANNEL iDiffuseUVChannel, const RED::LayerSet *iRealtimeLayerSet, const RED::LayerSet *iPhotorealisticLayerSet, RED::Object *iResourceManager, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetupGenericLambertMaterial <virtual RED_RC RED::IMaterial::SetupGenericLambertMaterial(bool iDoubleSided, const RED::Color &iEmissiveColor, const RED::Object *iEmissiveTexture, const RED::Matrix &iEmissiveUVMatrix, RED::MESH_CHANNEL iEmissiveUVChannel, const RED::Color &iAmbientColor, const RED::Object *iAmbientTexture, const RED::Matrix &iAmbientUVMatrix, RED::MESH_CHANNEL iAmbientUVChannel, const RED::Color &iDiffuseColor, const RED::Object *iDiffuseTexture, const RED::Matrix &iDiffuseUVMatrix, RED::MESH_CHANNEL iDiffuseUVChannel, const RED::Color &iOpacityColor, const RED::Object *iOpacityTexture, const RED::Matrix &iOpacityUVMatrix, RED::MESH_CHANNEL iOpacityUVChannel, float iOpacityGlossiness, const RED::Object *iBumpTexture, const RED::Matrix &iBumpUVMatrix, RED::MESH_CHANNEL iBumpUVChannel, RED::MESH_CHANNEL iBumpTangentsChannel, const RED::LayerSet *iRealtimeLayerSet, const RED::LayerSet *iPhotorealisticLayerSet, RED::Object *iResourceManager, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetupGenericPhongMaterial <virtual RED_RC RED::IMaterial::SetupGenericPhongMaterial(bool iDoubleSided, const RED::Color &iEmissiveColor, const RED::Object *iEmissiveTexture, const RED::Matrix &iEmissiveUVMatrix, RED::MESH_CHANNEL iEmissiveUVChannel, const RED::Color &iAmbientColor, const RED::Object *iAmbientTexture, const RED::Matrix &iAmbientUVMatrix, RED::MESH_CHANNEL iAmbientUVChannel, const RED::Color &iDiffuseColor, const RED::Object *iDiffuseTexture, const RED::Matrix &iDiffuseUVMatrix, RED::MESH_CHANNEL iDiffuseUVChannel, const RED::Color &iSpecularColor, const RED::Object *iSpecularTexture, const RED::Matrix &iSpecularUVMatrix, RED::MESH_CHANNEL iSpecularUVChannel, float iSpecularExp, const RED::Color &iOpacityColor, const RED::Object *iOpacityTexture, const RED::Matrix &iOpacityUVMatrix, RED::MESH_CHANNEL iOpacityUVChannel, float iOpacityGlossiness, const RED::Object *iBumpTexture, const RED::Matrix &iBumpUVMatrix, RED::MESH_CHANNEL iBumpUVChannel, RED::MESH_CHANNEL iBumpTangentsChannel, const RED::LayerSet *iRealtimeLayerSet, const RED::LayerSet *iPhotorealisticLayerSet, RED::Object *iResourceManager, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetupRealisticMaterial <virtual RED_RC RED::IMaterial::SetupRealisticMaterial(bool iDoubleSided, bool iFresnel, const RED::Color &iDiffuseColor, const RED::Object *iDiffuseTexture, const RED::Matrix &iDiffuseUVMatrix, RED::MESH_CHANNEL iDiffuseUVChannel, const RED::Color &iReflectionColor, const RED::Object *iReflectionTexture, const RED::Matrix &iReflectionUVMatrix, RED::MESH_CHANNEL iReflectionUVChannel, const RED::Color &iReflectionFogColor, float iReflectionFogDistance, bool iAutoEnv, bool iBackgroundEnv, const RED::Object *iEnvironmentalTexture, const RED::Matrix &iEnvironmentalMatrix, const RED::Color &iTransmissionColor, const RED::Object *iTransmissionTexture, const RED::Matrix &iTransmissionUVMatrix, RED::MESH_CHANNEL iTransmissionUVChannel, float iTransmissionGlossiness, const RED::Object *iTransmissionGlossinessTexture, const RED::Matrix &iTransmissionGlossinessUVMatrix, RED::MESH_CHANNEL iTransmissionGlossinessUVChannel, float iIOR, const RED::Object *iIORTexture, const RED::Matrix &iIORUVMatrix, RED::MESH_CHANNEL iIORUVChannel, const RED::Color &iTransmissionScatteringColor, float iTransmissionScatteringScale, bool iCausticsReflective, bool iCausticsRefractive, const RED::Color &iAnisotropy, const RED::Object *iAnisotropyTexture, const RED::Matrix &iAnisotropyMatrix, RED::MESH_CHANNEL iAnisotropyUV, float iAnisotropyRotation, const RED::Object *iAnisotropyRotationTexture, const RED::Matrix &iAnisotropyRotationUVMatrix, RED::MESH_CHANNEL iAnisotropyRotationUVChannel, const RED::Object *iBumpTexture, const RED::Matrix &iBumpUVMatrix, RED::MESH_CHANNEL iBumpUVChannel, RED::MESH_CHANNEL iBumpTangentsChannel, float iDisplacementHeight, float iDisplacementOffset, const RED::Object *iDisplacementTexture, const RED::Matrix &iDisplacementUVMatrix, RED::MESH_CHANNEL iDisplacementUVChannel, const RED::LayerSet *iRealtimeLayerSet, const RED::LayerSet *iPhotorealisticLayerSet, RED::Object *iResourceManager, const RED::State &iState)=0>` 
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetBatchMode <virtual RED_RC RED::IMaterial::SetBatchMode(bool iBatchMode, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetBatchMode <virtual RED_RC RED::IMaterial::GetBatchMode(bool &oBatchMode, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
:cpp:enumerator:`~RED_RC`            :cpp:func:`AddBatchArrays <virtual RED_RC RED::IMaterial::AddBatchArrays(RED::Vector< void * > &iData, RED::Vector< RED::MESH_CHANNEL > &iChannel, RED::Vector< int > &iVertexSize, RED::Vector< RED::MESH_FORMAT > &iFormat, int iVerticesCount, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
:cpp:enumerator:`~RED_RC`            :cpp:func:`AddBatchIndices <virtual RED_RC RED::IMaterial::AddBatchIndices(int *iIndex, int iCount, int iPrimitiveSize, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
:cpp:enumerator:`~RED_RC`            :cpp:func:`RemoveBatchArray <virtual RED_RC RED::IMaterial::RemoveBatchArray(void *iData, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetBatchArraysCount <virtual RED_RC RED::IMaterial::GetBatchArraysCount(int &oCount, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetBatchArrays <virtual RED_RC RED::IMaterial::GetBatchArrays(RED::Vector< RED::Vector< void * > > &oData, RED::Vector< RED::Vector< RED::MESH_CHANNEL > > &oChannel, RED::Vector< RED::Vector< int > > &oVertexSize, RED::Vector< RED::Vector< RED::MESH_FORMAT > > &oFormat, RED::Vector< int > &oVerticesCount, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetBatchIndicesCount <virtual RED_RC RED::IMaterial::GetBatchIndicesCount(int &oCount, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetBatchIndices <virtual RED_RC RED::IMaterial::GetBatchIndices(RED::Vector< int * > &oIndex, RED::Vector< int > &oCount, RED::Vector< int > &oPrimitiveSize, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
:cpp:enumerator:`~RED_RC`            :cpp:func:`SetBatchArrayUpdate <virtual RED_RC RED::IMaterial::SetBatchArrayUpdate(void *iRefData, void *iData, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
:cpp:enumerator:`~RED_RC`            :cpp:func:`IsBatchArrayUpdate <virtual RED_RC RED::IMaterial::IsBatchArrayUpdate(bool &oUpdate, void *iRefData, void *iData, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
:cpp:enumerator:`~RED_RC`            :cpp:func:`AddBatchSubArrayUpdate <virtual RED_RC RED::IMaterial::AddBatchSubArrayUpdate(void *iData, int iNumVertexStart, int iVerticesCount, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
==================================== ==============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

.. cpp:namespace:: nullptr

Detailed Description
====================

.. doxygenclass:: RED::IMaterial
   :project: RED
   :members:
   :undoc-members:



