2D Mapping | This node manipulates the mapping of texture on geometries. | |
3D Mapping | This node manipulates the mapping of texture on geometries. | |
Strip Mapper | This node divides a texture into sections and maps only one of these sections on a geometry. |
Texture Mapping describes the part of the Rasterization process that is responsible for figuring out which pixels in a texture are used at any given point on a triangle's surface. The basis for this are the U/V coordinates assigned by the creator of a geometry. They map each vertex to a position in the texture, any interior point of a triangle can then be calculated using interpolation.
To achieve reasonable texture mapping effects on a geometry, it is essential that the geometry provides texture coordinates. All Ventuz Geometry nodes initially provide texture coordinates but imported geometries may be missing them.
Texture Mapping manipulates the U/V coordinate calculated by the Rasterization before it is used to look up a specific pixel. This can, for example, be used to translate, rotate or scale the way a texture is applied to the surface without changing the original coordinates (the geometry does not have to be updated at all).
This node provides a special data structure which contains a transformation matrix and other parameters which affect the resulting texture mapping. The output property Mapping has to be bound to the Mapping property of the Texture node.
The properties AlignX and AlignY define the center for texture scaling and rotation. Via PositionX and PositionY the texture on a geometry can be moved along the X and Y axis. The property RotationZ rotates the texture on the Z axis. ScalingX and ScalingY scale the texture along the corresponding axes. ScalingFactorAll is a factor which is additionally multiplied on ScalingX and ScalingY to get the resulting scaling.
The properties in the Mapping category basically affect the way how the texture is projected on the geometry. The property MappingMode specifies the dimensions of the texture:
Disabled | Unspecified texture format. |
1D | Declaring a 1D texture. |
2D | Declaring a 2D texture. |
3D | Declaring a cube texture. |
4D | Declaring a volume texture. |
If the property MappingProjected is enabled, the texture coordinates of the geometry are transformed to achieve a an effect as is the texture was projected on the geometry from a certain point in 3D space. The property MappingType specifies how texture coordinates in a geometry vertex should be transformed:
SphereMap | The original texture coordinates within the vertex are used for sphere mapping. |
CameraSpaceReflectionVector | The reflection vectors, transformed to camera space, are used as texture coordinates. A reflection vector is computed from the vertex position and normal vector. |
CameraSpacePosition | The vertex positions, transformed to camera space, are used as texture coordinates. |
CameraSpaceNormal | The vertex normals, transformed to camera space, are used as texture coordinates. |
PassThru | The original texture coordinates within the vertex are used. |
The MappingU/V/W properties define how the texture content is addressed. Following modes are possible:
Clamp | Texture coordinates outside the range [0.0, 1.0] are set to the texture color at 0.0 or 1.0, respectively. |
Border | Texture coordinates outside the range [0.0, 1.0] are set to the border color. |
MirrorOnce | Similar to Mirror and Clamp. Takes the absolute value of the texture coordinate (thus, mirroring around 0), and then clamps to the maximum value. |
Mirror | Similar to Wrap, except that the texture is flipped at every integer junction. |
Wrap | Tiles the texture at every integer junction. This causes the texture to be repeated on the object if needed; no mirroring is performed. |
The BorderAlpha and BorderColor properties define the alpha and color value of a texture border if an appropriate MappingU/V/W mode is selected. The Base property in the Matrix category allows to manipulate the position, scaling and rotation of the texture via matrix in addition to the manipulation via properties. The Order property defines how this matrix is multiplied with base transformation matrix. In case of Override the manipulation via properties is discarded and only the matrix has an effect on the texture mapping.
This node works the same as the 2D Mapping node but only makes sense if used with Cube or Volume Textures. In addition to the properties of the 2D Mapping node it allows to move the texture in Z direction and to rotate it on X and Y axis.
The Strip Mapper node is a specialized form of the Mapping 2D node to handle tiled images and textures. This node can, for example, be used to play back short image sequences that completely reside on one large image or texture.
The Strip Mapper creates such texture mapping that parts of a texture can be accessed in tiles. The tiles resolution is specified by the properties TilesX and TilesY. This gives the number of images per row and column. The Reduce property defines the number of parts of the texture not filled with any content. The Index is used to select a specific tile of the texture.
The properties in the categories Mapping and Matrix are described in the Mapping 2D node section.