3D Lingo Dictionary > T-Z > textureModeList |  |

textureModeList

Syntax

    member(whichCastmember).shader(whichShader).textureModeList
    member(whichCastmember).shader(whichShader).
    textureModeList[textureLayerIndex]
    member(whichCastmember).model(whichModel).shader.textureModeList
    member(whichCastmember).model(whichModel).shader.
    textureModeList[textureLayerndex]

Description

3D standard shader property; allows you to change how a textureLayer is mapped onto the surface of a model. This property is ignored if the `#toon` modifier is applied to the model resource. Possible values are as follows:

| `#none` uses the texture coordinate values originally defined for the model resource. This setting disables `wrapTransform and wrapTransformList[textureLayerIndex]`.
| `#wrapPlanar` wraps the texture on the model surface as though it were being projected from an overhead projector. The shader's `wrapTransformList[textureLayerIndex]` is applied to the mapping space before the texture coordinates are generated in model space. With an identity `wrapTransformList[textureLayerIndex]` (the default), the planar mapping is oriented such that the texture is extruded along the Z axis with the texture's up direction along the Y axis.
| `#wrapCylindrical` wraps the texture around the surface as though the surface were placed in the middle of the texture and then the texture were rolled around the surface to form a cylinder. The `wrapTransformList[textureLayerIndex]` is applied to the mapping space before the texture coordinates are generated in model space. With an identity `wrapTransformList[textureLayerIndex]` (the default), the cylindrical mapping is oriented such that the texture is wrapped from the -Y axis, starting at the left edge of the texture, toward the +X axis, around the Z axis. The up direction of the texture is toward the +Z axis.
| `#wrapSpherical` wraps the texture around the surface as though the surface were placed in the middle of the texture and then all four corners of the texture were pulled up to meet at the top. The `wrapTransformList[textureLayerIndex]` is applied to the mapping space before the texture coordinates are generated in model space. With an identity `wrapTransformList[textureLayerIndex]`, the spherical mapping is located at the model space origin and oriented such that the texture is wrapped from the -Y axis, starting at the left edge of the texture, toward the +X axis, around the Z axis. The up direction of the texture is toward the +Z axis.
| `#reflection` is similar to `#wrapSpherical` except that the new texture coordinates are continuously reprojected onto the surface from a fixed orientation. When the model rotates, the texture coordinates will not rotate with it. Simulates light reflected on an object by its environment. This setting disables `wrapTransform`.
| `#diffuseLight` generates diffuse light mapping texture coordinate values, one per vertex, and stores the results in the referenced mesh. This setting disables `wrapTransform`.
| `#specularLight` generates specular light mapping texture coordinate values, one per vertex, and stores the results in the referenced mesh. This setting disables `wrapTransform`.

Example

In this example, a shader is set up to simulate a reflective garden ball. The shader's first textureLayer is set to a spherical mapping and the third textureLayer is set to use a #refection style mapping. The shader's textureList[3] entry will appear to reflected from the environment onto all models which use this shader.

    member("scene").shader("GardenBall).textureList[1] = member("scene").texture("FlatShinyBall")
    member("scene").shader("GardenBall").textureModeList[1] = #wrapSpherical
    member("scene").shader("GardenBall").textureList[3] = member("scene").texture("GardenEnvironment")
    member("scene").shader("GardenBall").textureModeList[3] = #reflection

See also

`textureTransformList`, `wrapTransform`