Go to: Related nodes. Attributes.

Projection nodes can take any 2d texture, and make a 3d texture out of it, using one of the many projection types available.

Projection nodes are created automatically by the system when you tell it to create a 2d texture as a projection. The Out Color attribute of the 2d texture is connected to the Image attribute of the Projection node. Then, the Out Color attribute of the Projection nodes is connected to where ever it needs to go. (Usually, the Color attribute of a Phong, Blinn, or Lambert shader). Aside from the attributes described here, Projection nodes also inherit many attributes from Texture3d. In the table below, important attributes have their names listed in bold in the Description column.

This node is MP safe

Node name Parents Classification MFn type Compatible function sets
projection texture3d utility/general:drawdb/shader/texture/3d/projection kProjection kBase
kNamedObject
kDependencyNode
kTexture3d
kProjection

Related nodes

layeredTexture, envCube, envSphere, envSky, envBall, envChrome, bump3d, uvChooser, bump2d, texture2d, ramp, file, cloth, water, stencil, checker, fractal, bulge, grid, mountain, texture3d, cloud, granite, crater, leather, stucco, brownian, solidFractal, marble, wood, rock, snow, defaultTextureList, place2dTexture, place3dTexture

Attributes (104)

The following quick index only shows top-level attributes (too many attributes to show them all): amplitudeX, amplitudeY, angWts, camAg (3), camPos (3), defaultTransparency (3), depWts, depth (2), fitFill, fitType, image (3), infoBits, linkedCamera, normalCamera (3), outTransparency (3), passTr, projType, ratio, refPointCamera (3), refPointObj (3), ripples (3), srfNormal (3), tangentUCamera (3), tangentVCamera (3), transparency (3), transparencyGain (3), transparencyOffset (3), uAngle, uvCoord (2), uvFilterSize (2), vAngle, vertexCameraOne (3), vertexCameraThree (3), vertexCameraTwo (3), vertexUvOne (2), vertexUvThree (2), vertexUvTwo (2), xPixelAngle

Long name (short name) Type Default Flags
normalCamera (n) float3 0.0, 0.0, 1.0 outputinputconnectablehidden
The input normal
normalCameraX (nx) float 0.0 outputinputconnectablehidden
The X component of the input normal
normalCameraY (ny) float 0.0 outputinputconnectablehidden
The Y component of the input normal
normalCameraZ (nz) float 0.0 outputinputconnectablehidden
The Z component of the input normal
srfNormal (srn) float3 0.0, 0.0, 1.0 outputinputconnectablehidden
The input normal on the surface based on world matrix
srfNormalX (snx) float 0.0 outputinputconnectablehidden
The X component of the input normal
srfNormalY (sny) float 0.0 outputinputconnectablehidden
The Y component of the input normal
srfNormalZ (snz) float 0.0 outputinputconnectablehidden
The Z component of the input normal
refPointObj (rpo) float3 0.0, 0.0, 0.0 outputinputconnectablehidden
The current reference sample point that has to be shaded
refPointObjX (rox) float 0.0 outputinputconnectablehidden
The x component of the current reference sample position
refPointObjY (roy) float 0.0 outputinputconnectablehidden
The y component of the current reference sample position
refPointObjZ (roz) float 0.0 outputinputconnectablehidden
The z component of the current reference sample position
refPointCamera (rpc) float3 0.0, 0.0, 0.0 outputinputconnectablehidden
The current reference sample point that has to be shaded
refPointCameraX (rcx) float 0.0 outputinputconnectablehidden
The x component of the current sample position
refPointCameraY (rcy) float 0.0 outputinputconnectablehidden
The y component of the current sample position
refPointCameraZ (rcz) float 0.0 outputinputconnectablehidden
The z component of the current sample position
xPixelAngle (xpa) float 0.002053 inputconnectablestorablehidden
The pixel angle
image (im) float3 0.0, 0.0, 0.0 outputinputconnectablestorable
Image. The Out Color attribute of a 2d texture should be connected to this attribute. This is the texture that will be projected.
imageR (imr) float 0.0 outputinputconnectablestorablekeyable
The red image value for the current sample
imageG (img) float 0.0 outputinputconnectablestorablekeyable
The green image value for the current sample
imageB (imb) float 0.0 outputinputconnectablestorablekeyable
The blue image value for the current sample
transparency (it) float3 0.0, 0.0, 0.0 outputinputconnectablestorable
Transparency. The Out Transparency attribute of a 2d texture should be connected to this attribute. This is the transparency channel of the texture that will be projected.
transparencyR (itr) float 0.0 outputinputconnectablestorablekeyable
Transparency red value
transparencyG (itg) float 0.0 outputinputconnectablestorablekeyable
Transparency green value
transparencyB (itb) float 0.0 outputinputconnectablestorablekeyable
Transparency blue value
uAngle (ua) angle (double) 180.0deg outputinputconnectablestorablekeyable
U Angle controls how the input 2d texture is mapped around a circle, if you are using Spherical or Cylindrical texture mapping. If U Angle is set to 90 degrees, that means that one instance of the texture is fit into each 90 degrees around the circle in the U direction. This attribute does nothing for other projection types. See also V Angle.
vAngle (va) angle (double) 90.0deg outputinputconnectablestorablekeyable
V Angle controls how the input 2d texture is mapped around a circle, if you are using Spherical or Cylindrical texture mapping. If V Angle is set to 90 degrees, that means that one instance of the texture is fit into each 90 degrees around the circle in the V direction. This attribute does nothing for other projection types. See also U Angle.
projType (t) enum PLANAR outputinputconnectablestorable
Proj Type controls how the 2d texture will be projected into 3d space. The supported projection types are:
0. No Projection: No projection is done. Only the Default Color.is output. 1. Planar: Places the texture on a planar surface and projects it onto the object. 2. Spherical: Places the texture inside a sphere and projects it onto the object. There will be two "pinch points", one at each of the poles of the sphere. 3. Cylindrical: Places the texture inside a cylinder and projects it onto the object. There will be two "pinch points", one at each of the ends of the cylinder. 4. Ball: Places the texture inside a ball and projects it onto the object. This is similar to the way that a candy wrapper is pulled around a lollipop. There will be one "pinch points" at the Z-pole. 5. Cubic: Places the texture on six faces of a a cube, and projects them onto the object. 6. TriPlanar: Projects the texture by extruding it along the axis defined by the maximum current direction of the surface normal. This is somewhat like fabric being wrapped around the object. 7. Concentric: Projects the texture by randomly selecting slices from it and making a concentric pattern from it. 8. Perspective: Projects the texture by matching exactly the perspective of a particular camera. To use this, you need to link the Projection node to a camera. This type of projection is intended to be used to match modelled CGI to scanned backdrops. To do this, use the same texture as a backdrop (put it on an Image Plane attached to the camera) and as a shader (use Perspective projection, and link the projection node to the same camera). Objects in your scene using the shader will seem to disappear, since they will match the backdrop. You can then convert the object's shader to a solid texture, and animate the objects. For more detail on this process, see the rendering books.
linkedCamera (lc) Message n/a outputinputconnectable
Linked Camera is a connection to a camera node. This is only used when Proj Type is set to Perspective.
fitType (ft) enum 1 outputinputconnectablestorable
Fit Type controls how the texture will be fit to the camera when Proj type is set to Perspective. If you are using this to match a backdrop, you should set this to match the setting in the Image Plane. Usually, you will have an image plane that is the same size as the rendered image. If that is the case, you should use the Resolution Gate setting. You can also choose No Fit, which means that the image is not squeezed or stretched to fit. One of its axes (determined by the Fit Fill attribute) will be fit to the filmgate, and the other will just be as big as it needs to. The third choice is Film Gate, which squeezes the image to fit the film gate.
fitFill (ff) enum 0 outputinputconnectablestorable
Fit Fill is only used if Proj Type is set to Perspective, and Fit Type is set to No Fit. If the image plane aspect ratio is not the same as the filmgate aspect ratio, then this attribute decides which axis of the image is fit to the film gate.
ripples (r) float3 1.0, 1.0, 1.0 outputinputconnectablestorable
Ripples determines how wavy the image will be when projected, but controlling the scale of the fundamental frequency of any fractal noise added to the texture. If you increase Ripples in any particular direction, the fractal detail will seem to smear out in that direction. This attribute will not do anything unless Amplitude X or Amplitude Y is non-zero. (That is, there must be some fractal noise added to the system.)
ripplesX (rx) float 0.0 outputinputconnectablestorablekeyable
The noise along X
ripplesY (ry) float 0.0 outputinputconnectablestorablekeyable
The noise along Y
ripplesZ (rz) float 0.0 outputinputconnectablestorablekeyable
The noise along Z
depth (d) float2 0.0, 10.0 outputinputconnectablestorable
Depth controls how much calculation is done by this texture when Ripples are added. Fractal noise such as ripples are created by an iterative mathematical process; as the process goes over more levels, it produces a more detailed fractal, but takes longer to do so. Normally, the texture will choose a level it thinks is appropriate for the volume being rendered. You can use Depth Min and Depth Max to control the minimum and maximum amount of calculation that the texure will do.
depthMin (dmn) float 0.0 outputinputconnectablestorablekeyable
The minimum value for recursion depth
depthMax (dmx) float 0.0 outputinputconnectablestorablekeyable
The maximum value for recursion depth
amplitudeX (ax) float 0.0 outputinputconnectablestorablekeyable
Amplitude X can be used to scale the amount of fractal noise added to the projection in the X direction. When Amplitude X and Amplitude Y are 0, no fractal noise is added. Adding fractal noise is a way of randomizing or blurring the texture.
amplitudeY (ay) float 0.0 outputinputconnectablestorablekeyable
Amplitude Y can be used to scale the amount of fractal noise added to the projection in the Y direction. When Amplitude X and Amplitude Y are 0, no fractal noise is added. Adding fractal noise is a way of randomizing or blurring the texture.
ratio (ra) float 0.3 outputinputconnectablestorablekeyable
Ratio controls the frequency of the fractal noise. Increase this value to increase the fineness of detail in the fractal noise (if there is any; see Amplitude X and Amplitude Y above).
infoBits (ib) integer 0 outputinputconnectablehidden
Information bits passing along information about type of shading
depWts (dwt) float 0.0 outputconnectable
Depth Wts is the array of depth weights computed in projection node and passed on to texture composer for blending process
angWts (awt) float 0.0 outputconnectable
Angle Wts is the array of angle weights computed in projection node and passed on to texture composer for blending process
camPos (cpo) float3 0.0, 0.0, 0.0 outputinputconnectable
Camera position in world space
camPsX (cpx) float 0.0 outputinputconnectable
Camera position in world space
camPsY (cpy) float 0.0 outputinputconnectable
Camera position in world space
camPsZ (cpz) float 0.0 outputinputconnectable
Camera position in world space
camAg (cag) float3 0.0, 0.0, 0.0 outputinputconnectable
Camera angle in world space
camAngX (cax) float 0.0 outputinputconnectable
Camera angle in world space
camAngY (cay) float 0.0 outputinputconnectable
Camera angle in world space
camAngZ (caz) float 0.0 outputinputconnectable
Camera angle in world space
passTr (pst) bool 0 outputinputconnectable
Pass through option to project paint on surfaces oriented towards and away from camera.
transparencyGain (tg) float3 1.0, 1.0, 1.0 outputinputconnectablestorable
Use Transparency Gain to fine-tune the balance of a texture's Out Transparency. Transparency Gain is applied as a multiplier to the texture's transparency. If Transparency Gain is white, it has no effect. Reducing the amount of all channels in Transparency Gain will scale down the amount of output transparency.
transparencyGainR (tgr) float 0.0 outputinputconnectablestorablekeyable
Transparency Gain Red Value
transparencyGainG (tgg) float 0.0 outputinputconnectablestorablekeyable
Transparency Gain Green Value
transparencyGainB (tgb) float 0.0 outputinputconnectablestorablekeyable
Transparency Gain Blue Value
transparencyOffset (to) float3 0.0, 0.0, 0.0 outputinputconnectablestorable
Use Transparency Offset to adjust a texture's Out Transparency. Unlike Transparency Gain (which is a multiplier), Transparency Offset is simply added to the texture's Out Transparency. Therefore if Transparency Offset is black, it has no effect. Increasing the amount of all channels in Transparency Gain will uniformly increase the amount of the final output transparency.
transparencyOffsetR (tor) float 0.0 outputinputconnectablestorablekeyable
Transparency Offset Red Value
transparencyOffsetG (tog) float 0.0 outputinputconnectablestorablekeyable
Transparency Offset Green Value
transparencyOffsetB (tob) float 0.0 outputinputconnectablestorablekeyable
Transparency Offset Blue Value
defaultTransparency (dt) float3 0.0, 0.0, 0.0 outputinputconnectablestorable
Default Transparency is the Transparency of the texture in the areas that are not mapped. If the placement of this texture is not covering an entire surface, then Default Transparency will be used in the areas not covered. See also the Wrap attribute.
defaultTransparencyR (dtr) float 0.0 outputinputconnectablestorablekeyable
Default Transparency red value.
defaultTransparencyG (dtg) float 0.0 outputinputconnectablestorablekeyable
Default Transparency Green value.
defaultTransparencyB (dtb) float 0.0 outputinputconnectablestorablekeyable
Default Transparency blue value.
outTransparency (ot) float3 0.0, 0.0, 0.0 outputconnectable
Out Transparency is the transparency computed by this projection.
outTransparencyR (otr) float 0.0 outputconnectable
Out Transparency red value
outTransparencyG (otg) float 0.0 outputconnectable
Out Transparency green value
outTransparencyB (otb) float 0.0 outputconnectable
Out Transparency blue value
uvCoord (uv) float2 0.0, 0.0 outputinputconnectablehidden
The UV coords of the current sample point
uCoord (u) float 0.0 outputinputconnectablehidden
The u component of the current sample position
vCoord (v) float 0.0 outputinputconnectablehidden
The v component of the current sample position
vertexCameraOne (vc1) float3 outputinputconnectablestorablehidden
Triangle s first vertex, in camera space
vertexCameraOneX (c1x) float 0.0 outputinputconnectablestorablehidden
X component of aVertexCameraOne
vertexCameraOneY (c1y) float 0.0 outputinputconnectablestorablehidden
Y component of aVertexCameraOne
vertexCameraOneZ (c1z) float 0.0 outputinputconnectablestorablehidden
Z component of aVertexCameraOne
vertexCameraTwo (vc2) float3 outputinputconnectablestorablehidden
Triangle s second vertex, in camera space
vertexCameraTwoX (c2x) float 0.0 outputinputconnectablestorablehidden
X component of aVertexCameraTwo
vertexCameraTwoY (c2y) float 0.0 outputinputconnectablestorablehidden
Y component of aVertexCameraTwo
vertexCameraTwoZ (c2z) float 0.0 outputinputconnectablestorablehidden
Z component of aVertexCameraTwo
vertexCameraThree (vc3) float3 outputinputconnectablestorablehidden
Triangle s third vertex, in camera space
vertexCameraThreeX (c3x) float 0.0 outputinputconnectablestorablehidden
X component of aVertexCameraThree
vertexCameraThreeY (c3y) float 0.0 outputinputconnectablestorablehidden
Y component of aVertexCameraThree
vertexCameraThreeZ (c3z) float 0.0 outputinputconnectablestorablehidden
Z component of aVertexCameraThree
vertexUvOne (vt1) float2 outputinputconnectablestorablehidden
Triangle s first vertex, in texture space
vertexUvOneU (t1u) float 0.0 outputinputconnectablestorablehidden
X component of aVertexUvOne
vertexUvOneV (t1v) float 0.0 outputinputconnectablestorablehidden
Y component of aVertexUvOne
vertexUvTwo (vt2) float2 outputinputconnectablestorablehidden
Triangle s first vertex, in texture space
vertexUvTwoU (t2u) float 0.0 outputinputconnectablestorablehidden
X component of aVertexUvTwo
vertexUvTwoV (t2v) float 0.0 outputinputconnectablestorablehidden
Y component of aVertexUvTwo
vertexUvThree (vt3) float2 outputinputconnectablestorablehidden
Triangle s first vertex, in texture space
vertexUvThreeU (t3u) float 0.0 outputinputconnectablestorablehidden
X component of aVertexUvThree
vertexUvThreeV (t3v) float 0.0 outputinputconnectablestorablehidden
Y component of aVertexUvThree
uvFilterSize (uf) float2 0.0, 0.0 outputinputconnectablehidden
The sample (filter) size
uvFilterSizeX (ufx) float 0.0 outputinputconnectablehidden
The X size of the filter (sample)
uvFilterSizeY (ufy) float 0.0 outputinputconnectablehidden
The Y size of the filter (sample)
tangentUCamera (tu) float3 1.0, 0.0, 0.0 outputinputconnectablehidden
The surface tangent along U (dPdU)
tangentUx (tux) float 0.0 outputinputconnectablehidden
The X component of the U tangent
tangentUy (tuy) float 0.0 outputinputconnectablehidden
The Y component of the U tangent
tangentUz (tuz) float 0.0 outputinputconnectablehidden
The Z component of the U tangent
tangentVCamera (tv) float3 0.0, 1.0, 0.0 outputinputconnectablehidden
The surface tangent along V (dPdV)
tangentVx (tvx) float 0.0 outputinputconnectablehidden
The X component of the V tangent
tangentVy (tvy) float 0.0 outputinputconnectablehidden
The Y component of the V tangent
tangentVz (tvz) float 0.0 outputinputconnectablehidden
The Z component of the V tangent