Class dnx.lr.node.PixelTextureNode
All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class dnx.lr.node.PixelTextureNode

java.lang.Object
   |
   +----dnx.util.DNXObject
           |
           +----dnx.lr.Node
                   |
                   +----dnx.lr.SubsidiaryNode
                           |
                           +----dnx.lr.TextureNode
                                   |
                                   +----dnx.lr.node.PixelTextureNode

public class PixelTextureNode
extends TextureNode
 PixelTexture {
    exposedField SFImage      image           0 0 0
    field        SFBool       repeatS         TRUE
    field        SFBool       repeatT         TRUE
 }

The PixelTexture node defines a 2D image-based texture map as an explicit array of pixel values and parameters controlling tiling repetition of the texture onto geometry.

Texture maps are defined in a 2D coordinate system, (s, t), that ranges from 0.0 to 1.0 in both directions. The bottom edge of the pixel image corresponds to the S-axis of the texture map, and left edge of the pixel image corresponds to the T-axis of the texture map. The lower-left pixel of the pixel image corresponds to s=0, t=0, and the top-right pixel of the image corresponds to s=1, t=1.

Images may be one component (greyscale), two component (greyscale plus alpha opacity), three component (full RGB color), or four-component (full RGB color plus alpha opacity). An ideal VRML implementation will use the texture image to modify the diffuse color and transparency ( = 1 - alpha opacity) of an object's material (specified in a Material node), then perform any lighting calculations using the rest of the object's material properties with the modified diffuse color to produce the final image. The texture image modifies the diffuse color and transparency depending on how many components are in the image, as follows:

  1. Diffuse color is multiplied by the greyscale values in the texture image.
  2. Diffuse color is multiplied by the greyscale values in the texture image; material transparency is multiplied by transparency values in texture image.
  3. RGB colors in the texture image replace the material's diffuse color.
  4. RGB colors in the texture image replace the material's diffuse color; transparency values in the texture image replace the material's transparency.

Browsers may approximate this ideal behavior to increase performance. One common optimization is to calculate lighting only at each vertex and combining the texture image with the color computed from lighting (performing the texturing after lighting). Another common optimization is to perform no lighting calculations at all when texturing is enabled, displaying only the colors of the texture image.

See "Concepts - Lighting Model" for details on the VRML lighting equations.

See the "Field Reference - SFImage" specification for details on how to specify an image.

The repeatS and repeatT fields specify how the texture wraps in the S and T directions. If repeatS is TRUE (the default), the texture map is repeated outside the 0-to-1 texture coordinate range in the S direction so that it fills the shape. If repeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the 0-to-1 range. The repeatT field is analogous to the repeatS field.


Variable Index

 o image
 o repeatS
 o repeatT

Constructor Index

 o PixelTextureNode()

Method Index

 o createNodeDefinition(NodeDefinition)
Create the node definition.
 o getTexture(Graphics3DDevice)
 o initFields()
Initialize field values.

Variables

 o image
  public SFImage image
 o repeatS
  public SFBool repeatS
 o repeatT
  public SFBool repeatT

Constructors

 o PixelTextureNode
  public PixelTextureNode()

Methods

 o createNodeDefinition
  protected void createNodeDefinition(NodeDefinition def)
Create the node definition.
Overrides:
createNodeDefinition in class Node
 o initFields
  protected void initFields()
Initialize field values.
Overrides:
initFields in class Node
 o getTexture
  public Texture getTexture(Graphics3DDevice device)
Overrides:
getTexture in class TextureNode

All Packages  Class Hierarchy  This Package  Previous  Next  Index