Shader.Shaders

Description

Returns a ShaderCollection containing each Shader object connected to the current shader.

C# Syntax

// get accessor

ShaderCollection rtn = Shader.Shaders;

Examples

VBScript Example

dim oRoot, oMat, oGrid, oPhong, oShader

NewScene ,false

' Create a grid

set oRoot = ActiveProject.ActiveScene.Root

set oGrid = oRoot.AddGeometry("Grid", "MeshSurface")

SelectObj "grid"

' Create a local material with a Phong surface shader 

ApplyShader "Phong", oGrid, , , siLetLocalMaterialsOverlap

set oMat = oGrid.Material

set oPhong = oMat.Shaders(0)

' Apply two shaders, but with the Rock shader attached on two ports

SIApplyShaderToCnxPoint "Cell", oPhong & ".ambient"

SIApplyShaderToCnxPoint "Rock", oPhong & ".diffuse," & oPhong & ".specular"

' Enumerate the shaders of Phong: Note the rock shader only appears once even though connected twice.

LogMessage "root shader: " & oPhong.FullName

for each oShader in oPhong.Shaders

		Logmessage "shader of Shaders: " & oShader.FullName

Next

See Also

Material.Shaders