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.