OGLMaterial.ShadingModel

Description

Returns the shading model of this material as one of the values of the siShadingModel enum. It is usually not possible to exactly represent the mental ray shaders attached to a material in OpenGL. However, Softimage tries to guess the best OpenGL shading model to approximate these shaders. Softimage chooses a shading model based on specific markings on shader parameters provided by the shader developer (using the ui "mapping" = "guid" syntax in the SPDL). These markings tell Softimage if a parameter can be interpreted as a diffuse color, a specular color, etc. Based on the presence or absence of these markings, Softimage guesses a shading model. For example, if there is a diffuse, specular, and ambient-like parameter, Softimage chooses the Phong shading model (which in OpenGL, is actually Gouraud). If only diffuse and ambient-like parameters are present, Lambert would be used instead (since the Lambert shading model does not have a specular color). If only ambient is present, Constant is used.

Examples

VBScript Example

dim grid, oglMat
set grid = ActiveProject.ActiveScene.Root.AddGeometry("Grid", "MeshSurface")
' First put a Phong shader on instead
ApplyShader "Phong", grid
set oglMat = grid.Material.OGLMaterial
Application.LogMessage "OGL material shading model: " & oglMat.ShadingModel
' Now put a Lambert shader on instead
ApplyShader "Lambert", grid
set oglMat = grid.Material.OGLMaterial
Application.LogMessage "OGL material shading model: " & oglMat.ShadingModel
' Finally, a constant shader
ApplyShader "Constant", grid
set oglMat = grid.Material.OGLMaterial
Application.LogMessage "OGL material shading model: " & oglMat.ShadingModel