Global default color attribute material for meshes that have colors per vertex.  
 More...
 | 
|   | SLMaterial (SLAssetManager *am, const SLchar *name, const SLCol4f &amdi=SLCol4f::WHITE, const SLCol4f &spec=SLCol4f::WHITE, SLfloat shininess=100.0f, SLfloat kr=0.0, SLfloat kt=0.0f, SLfloat kn=1.0f, SLGLProgram *program=nullptr) | 
|   | Default ctor for Blinn-Phong reflection model materials without textures.  More...
  | 
|   | 
|   | SLMaterial (SLAssetManager *am, const SLchar *name, SLGLTexture *texture1, SLGLTexture *texture2=nullptr, SLGLTexture *texture3=nullptr, SLGLTexture *texture4=nullptr, SLGLProgram *program=nullptr) | 
|   | Ctor for textured Blinn-Phong reflection model materials.  More...
  | 
|   | 
|   | SLMaterial (SLAssetManager *am, const SLchar *name, SLSkybox *skybox, SLCol4f diffuse, SLfloat roughness, SLfloat metalness, SLGLProgram *program=nullptr) | 
|   | Ctor for PBR material with Cook-Torrance material parameters.  More...
  | 
|   | 
|   | SLMaterial (SLAssetManager *am, const SLchar *name, SLSkybox *skybox, SLGLTexture *texture1, SLGLTexture *texture2=nullptr, SLGLTexture *texture3=nullptr, SLGLTexture *texture4=nullptr, SLGLTexture *texture5=nullptr, SLGLProgram *program=nullptr) | 
|   | Ctor for PBR material with Cook-Torrance material textures.  More...
  | 
|   | 
|   | SLMaterial (SLAssetManager *am, const SLchar *name, SLParticleSystem *ps, SLGLTexture *texture, SLGLProgram *program=nullptr, SLGLProgram *programTF=nullptr) | 
|   | Ctor for Particle System material with one texture (Draw and update)  More...
  | 
|   | 
|   | SLMaterial (SLAssetManager *am, SLGLProgram *colorUniformProgram, const SLCol4f &uniformColor, const SLchar *name=(const char *)"Uniform color") | 
|   | Ctor for uniform color material without lighting.  More...
  | 
|   | 
|   | SLMaterial (SLAssetManager *am, const SLchar *name, SLGLProgram *program) | 
|   | Ctor for only a program.  More...
  | 
|   | 
|   | ~SLMaterial () override | 
|   | 
| void  | generateProgramPS (bool drawInstanced=false) | 
|   | 
| void  | activate (SLCamera *cam, SLVLight *lights, SLbool supportGPUSkinning) | 
|   | 
| SLint  | passToUniforms (SLGLProgram *program, SLint nextTexUnit) | 
|   | Passes all material parameters as uniforms to the passed shader program.  More...
  | 
|   | 
| void  | deleteDataGpu () | 
|   | 
| SLbool  | hasAlpha () | 
|   | Returns true if there is any transparency in diffuse alpha or textures.  More...
  | 
|   | 
| SLbool  | has3DTexture () | 
|   | Returns true if a material has a 3D texture.  More...
  | 
|   | 
| SLbool  | usesUVIndex (SLbyte uvIndex) | 
|   | Returns true if the specified uvIndex is used by one of the textures.  More...
  | 
|   | 
| SLbool  | needsTangents () | 
|   | 
| SLbool  | hasTextureType (SLTextureType tt) | 
|   | 
| SLbool  | hasTextureTypeWithUVIndex (SLTextureType tt, SLuint texIndex, SLbyte uvIndex) | 
|   | 
| void  | removeTextureType (SLTextureType tt) | 
|   | 
| void  | addTexture (SLGLTexture *texture) | 
|   | Adds the passed texture to the equivalent texture type vector.  More...
  | 
|   | 
| SLstring  | texturesString () | 
|   | Returns a unique string that represent all textures used.  More...
  | 
|   | 
| void  | assetManager (SLAssetManager *am) | 
|   | 
| void  | reflectionModel (SLReflectionModel rm) | 
|   | 
| void  | ambient (const SLCol4f &ambi) | 
|   | 
| void  | diffuse (const SLCol4f &diff) | 
|   | 
| void  | ambientDiffuse (const SLCol4f &am_di) | 
|   | 
| void  | specular (const SLCol4f &spec) | 
|   | 
| void  | emissive (const SLCol4f &emis) | 
|   | 
| void  | transmissive (const SLCol4f &transm) | 
|   | 
| void  | translucency (SLfloat transl) | 
|   | 
| void  | shininess (SLfloat shin) | 
|   | 
| void  | roughness (SLfloat r) | 
|   | 
| void  | metalness (SLfloat m) | 
|   | 
| void  | kr (SLfloat kr) | 
|   | 
| void  | kt (SLfloat kt) | 
|   | 
| void  | kn (SLfloat kn) | 
|   | 
| void  | getsShadows (SLbool receivesShadows) | 
|   | 
| void  | program (SLGLProgram *sp) | 
|   | 
| void  | programTF (SLGLProgram *sp) | 
|   | 
| void  | skybox (SLSkybox *sb) | 
|   | 
| void  | ps (SLParticleSystem *ps) | 
|   | 
| SLAssetManager *  | assetManager () | 
|   | 
| SLReflectionModel  | reflectionModel () | 
|   | 
| SLCol4f  | ambient () | 
|   | 
| SLCol4f  | diffuse () | 
|   | 
| SLCol4f  | specular () | 
|   | 
| SLCol4f  | emissive () | 
|   | 
| SLfloat  | shininess () const | 
|   | 
| SLfloat  | roughness () const | 
|   | 
| SLfloat  | metalness () const | 
|   | 
| SLCol4f  | transmissive () | 
|   | 
| SLfloat  | translucency () const | 
|   | 
| SLfloat  | kr () const | 
|   | 
| SLfloat  | kt () const | 
|   | 
| SLfloat  | kn () const | 
|   | 
| SLbool  | getsShadows () const | 
|   | 
| SLuint  | numTextures () | 
|   | 
| SLGLProgram *  | program () | 
|   | 
| SLGLProgram *  | programTF () | 
|   | 
| SLSkybox *  | skybox () | 
|   | 
| SLParticleSystem *  | ps () | 
|   | 
| SLVNode &  | nodesVisible2D () | 
|   | 
| SLVNode &  | nodesVisible3D () | 
|   | 
| SLVGLTexture &  | textures (SLTextureType type) | 
|   | 
| SLVGLTexture &  | textures3d () | 
|   | 
|   | SLObject (const SLstring &Name="", const SLstring &url="") | 
|   | 
| virtual  | ~SLObject () | 
|   | 
| void  | name (const SLstring &Name) | 
|   | 
| void  | url (const SLstring &url) | 
|   | 
| const SLstring &  | name () const | 
|   | 
| const SLstring &  | url () const | 
|   | 
| static SLfloat  | K | 
|   | PM: Constant of gloss calibration (slope of point light at dist 1)  More...
  | 
|   | 
| static SLfloat  | PERFECT = 1000.0f | 
|   | PM: shininess/translucency limit.  More...
  | 
|   | 
| SLAssetManager *  | _assetManager | 
|   | pointer to the asset manager (the owner) if available  More...
  | 
|   | 
| SLReflectionModel  | _reflectionModel | 
|   | reflection model (RM_BlinnPhong or RM_CookTorrance)  More...
  | 
|   | 
| SLCol4f  | _ambient | 
|   | ambient color (RGB reflection coefficients)  More...
  | 
|   | 
| SLCol4f  | _diffuse | 
|   | diffuse color (RGB reflection coefficients)  More...
  | 
|   | 
| SLCol4f  | _specular | 
|   | specular color (RGB reflection coefficients)  More...
  | 
|   | 
| SLCol4f  | _emissive | 
|   | emissive color coefficients  More...
  | 
|   | 
| SLfloat  | _shininess | 
|   | shininess exponent in Blinn-Phong model  More...
  | 
|   | 
| SLfloat  | _roughness | 
|   | roughness property (0-1) in Cook-Torrance model  More...
  | 
|   | 
| SLfloat  | _metalness | 
|   | metallic property (0-1) in Cook-Torrance model  More...
  | 
|   | 
| SLCol4f  | _transmissive | 
|   | transmissive color (RGB reflection coefficients) for path tracing  More...
  | 
|   | 
| SLfloat  | _translucency | 
|   | translucency exponent for light refraction for path tracing  More...
  | 
|   | 
| SLfloat  | _kr {} | 
|   | reflection coefficient 0.0 - 1.0 used for ray and path tracing  More...
  | 
|   | 
| SLfloat  | _kt {} | 
|   | transmission coefficient 0.0 - 1.0 used for ray and path tracing  More...
  | 
|   | 
| SLfloat  | _kn {} | 
|   | refraction index  More...
  | 
|   | 
| SLbool  | _getsShadows | 
|   | true if shadows are visible on this material  More...
  | 
|   | 
| SLGLProgram *  | _program {} | 
|   | pointer to a GLSL shader program  More...
  | 
|   | 
| SLGLProgram *  | _programTF {} | 
|   | pointer to a GLSL shader program for transformFeedback  More...
  | 
|   | 
| SLint  | _numTextures | 
|   | number of textures in all _textures vectors array  More...
  | 
|   | 
| SLSkybox *  | _skybox | 
|   | pointer to the skybox  More...
  | 
|   | 
| SLParticleSystem *  | _ps | 
|   | pointer to a particle system  More...
  | 
|   | 
| SLVGLTexture  | _textures [TT_numTextureType] | 
|   | array of texture vectors one for each type  More...
  | 
|   | 
| SLVGLTexture  | _textures3d | 
|   | texture vector for diffuse 3D textures  More...
  | 
|   | 
| SLGLTexture *  | _errorTexture = nullptr | 
|   | pointer to error texture that is shown if another texture fails  More...
  | 
|   | 
| SLstring  | _compileErrorTexFilePath | 
|   | path to the error texture  More...
  | 
|   | 
| SLVNode  | _nodesVisible2D | 
|   | Vector of all visible 2D nodes of with this material.  More...
  | 
|   | 
| SLVNode  | _nodesVisible3D | 
|   | Vector of all visible 3D nodes of with this material.  More...
  | 
|   | 
| SLstring  | _name | 
|   | name of an object  More...
  | 
|   | 
| SLstring  | _url | 
|   | uniform resource locator  More...
  | 
|   | 
Global default color attribute material for meshes that have colors per vertex. 
Definition at line 312 of file SLMaterial.h.