3D Lingo Dictionary > L-N > newShader |
![]() ![]() ![]() |
newShader
Syntax
member(whichCastmember
).newShader(newShaderName
,#shaderType
)
Description
3D command; creates a new shader of the specified #shaderType
within the referenced cast member's shader list and returns a reference to the new shader. All shaders in the shader list must have a unique name. The
#shaderType
argument determines the style in which the shader is applied and the has the following possible values:
#standard
shaders are photorealistic, and have the following properties: ambient
, blend
, blendConstant
, blendConstantList
, blendFunction
, blendFunctionList
, blendSource
, blendSourceList
, diffuse
, diffuseLightMap
, emissive
, flat
, glossMap
, ilk
, name
, reflectionMap
, renderStyle
, shininess
, specular (shader)
, specularLightMap
, texture
, textureMode
, textureModeList
, textureRepeat
, textureRepeatList
, textureTransform
, textureTransformList
, transparent
, useDiffuseWithTexture
, wrapTransform
, and wrapTransformList
.
#painter
shaders are smoothed out, and have the appearance of a painting, and have the following properties in addition to all of the #standard
properties: colorSteps, highlightPercentage
, highlightStrength
, name
, shadowPercentage
, shadowStrength
, and style
.
#engraver
shaders are lined, and have the appearance of an engraving, and have the following properties in addition to all of the #standard properties: brightness
, density
, name
, and rotation (engraver shader)
.
#newsprint shaders are in a simulated dot style, have the appearance of a newspaper reproduction, and have the following properties in addition to all of the #standard properties: brightness
, density
, name
.
Each type of shader has a specific group of properties that can be used with that type of shader, in addition all shader types have access to the #standard
shader properties. However, although you can assign any #standard
shader property to a shader of another type, the property may not have a visual effect. This happens in cases where the #standard property, if applied, would override the nature of the shader type. An example of this is the diffuseLightMap
standard shader property which is ignored by #engraver
, #newsprint
, and #painter
type shaders.
Example
This statement creates a #painter
shader called newPainter.
newPainter = member("3D World").newShader("newPainter",#painter)
See also
![]() ![]() ![]() |