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.

C# Syntax

// get accessor

siShadingModel rtn = OGLMaterial.ShadingModel;

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