Difference between revisions of "Appearance"

From Web3D.org
Jump to: navigation, search
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
* [[Node Reference]]
 
* [[Node Reference]]
 
==Appearance==
 
==Appearance==
 +
 +
Specification Link: [http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/shape.html#Appearance Appearance]
  
 
<pre>
 
<pre>
Line 14: Line 16:
 
</pre>
 
</pre>
  
<p>The Appearance node specifies the visual properties of geometry. The value for each of the fields in this node may be <code>NULL</code>. However, if the field is non-<code>NULL</code>, it shall contain one node of the appropriate type.</p>
+
==DTD Validation==
  
<p>The <i>material</i> field, if specified, shall contain a Material node. If the <i>material</i> field is <code>NULL</code> or unspecified, lighting is off (all lights are ignored during rendering of the object that references this Appearance) and the unlit object colour is (1, 1, 1). Details of the X3D lighting model are in 17 Lighting component.</p>
+
===Children===
  
<p>The <i>texture</i> field, if specified, shall contain one of the various types of texture nodes (see: Texturing component). If the texture node is <code>NULL</code> or the <i>texture</i> field is unspecified, the object that references this Appearance is not textured.</p>
+
Children must appear as follows:
  
<p>The <i>textureTransform</i> field, if specified, shall contain a TextureTransform node as defined in 18.4.8 TextureTransform. If the <i>textureTransform</i> is <code>NULL</code> or unspecified, the <i>textureTransform</i> field has no effect.</p>
+
# A single, optional IS.
 +
# A single, optional node derived from ''X3DMetadataObject'' for the ''metadata'' field.
 +
# Any number, including none, of ''X3DAppearanceChildNodes'' or Prototypes, where ''X3DAppearanceChildNodes'' are:
 +
## [[LineProperties]]
 +
## [[FillProperties]]
 +
## MaterialNodes,  which are
 +
### [[Material]]
 +
### [[TwoSidedMaterial]]
 +
## Texture2DNodes, which are
 +
### [[ImageTexture]]
 +
### [[MovieTexture]]
 +
### [[MultiTexture]]
 +
### [[PixelTexture]]
 +
## CubeMapTextureNodes, which are
 +
### [[ComposedCubeMapTexture]]
 +
### [[GeneratedCubeMapTexture]]
 +
### [[ImageCubeMapTexture]]
 +
## ShaderNodes, which are
 +
### [[ComposedShader]]
 +
### [[PackagedShader]]
 +
### [[ProgramShader]]
 +
## Texture3DTextureNodes, which are
 +
### [[ComposedTexture3D]]
 +
### [[ImageTexture3D]]
 +
### [[PixelTexture3D]]
 +
## TextureTransformNodes, which are
 +
### [[TextureTransform]]
 +
### [[MultiTextureTransform]]
 +
## Texture3DTextureTransformNodes, which are
 +
### [[TextureTransformMatrix3D]]
 +
### [[TextureTransform3D]]
  
<p>The <i>lineProperties</i> field, if specified, shall contain a LineProperties node as specified in 12.4.3 LineProperties. If <i>lineProperties</i> is <code>NULL</code> or unspecified, the <i>lineProperties</i> field has no effect.</p>
+
Note: There are no limitations on the numbers of nodes to match the interface definition.
  
<p>The <i>fillProperties</i> field, if specified, shall contain a FillProperties node as specified in 12.4.2 FillProperties. If <i>fillProperties</i> is <code>NULL</code> or unspecified, the <i>fillProperties</i> field has no effect.</p>
+
===Attributes===
==Example==
+
This example shows a simple appearance containing a red material.
+
<pre>
+
#X3D V3.0 utf8
+
  
PROFILE Interchange
+
N/A.
 +
 
 +
==Schema Validation==
 +
 
 +
===Children===
 +
 
 +
Children must appear as follows:
 +
 
 +
# A single, optional IS.
 +
# A single, optional node derived from ''X3DMetadataObject'' for the ''metadata'' field.
 +
# Any number, including none, of either Prototypes, or the nodes listed below:
 +
## [[LineProperties]]
 +
## [[FillProperties]]
 +
## [[Material]]
 +
## [[TwoSidedMaterial]]
 +
## [[ComposedShader]]
 +
## [[PackagedShader]]
 +
## [[ProgramShader]]
 +
## [[ComposedCubeMapTexture]]
 +
## [[ComposedTexture3D]]
 +
## [[ImageTexture]]
 +
## [[ImageTexture3D]]
 +
## [[MovieTexture]]
 +
## [[MultiTexture]]
 +
## [[PixelTexture]]
 +
## [[PixelTexture3D]]
 +
## [[GeneratedCubeMapTexture]]
 +
## [[ImageCubeMapTexture]]
 +
## [[MultiTextureTransform]]
 +
## [[TextureTransform]]
 +
## [[TextureTransform3D]]
 +
## [[TextureTransformMatrix3D]]
 +
 
 +
Note: There are no limitations on the numbers of nodes to match the interface definition.
 +
 
 +
===Attributes===
 +
 
 +
N/A
 +
 
 +
==Schematron Validation==
 +
 
 +
TBD
  
Shape {
 
  appearance Appearance {
 
      material Material {
 
        diffuseColor 1 0 0
 
      }
 
  }
 
  geometry Box {}
 
}
 
</pre>
 
  
 
* [[Node Reference]]
 
* [[Node Reference]]

Latest revision as of 02:42, 24 April 2015

Appearance

Specification Link: Appearance

Appearance : X3DAppearanceNode { 
  SFNode [in,out] fillProperties   NULL [FillProperties]
  SFNode [in,out] lineProperties   NULL [LineProperties]
  SFNode [in,out] material         NULL [X3DMaterialNode]
  SFNode [in,out] metadata         NULL [X3DMetadataObject]
  MFNode [in,out] shaders          []   [X3DShaderNode]
  SFNode [in,out] texture          NULL [X3DTextureNode]
  SFNode [in,out] textureTransform NULL [X3DTextureTransformNode]
}

DTD Validation

Children

Children must appear as follows:

  1. A single, optional IS.
  2. A single, optional node derived from X3DMetadataObject for the metadata field.
  3. Any number, including none, of X3DAppearanceChildNodes or Prototypes, where X3DAppearanceChildNodes are:
    1. LineProperties
    2. FillProperties
    3. MaterialNodes, which are
      1. Material
      2. TwoSidedMaterial
    4. Texture2DNodes, which are
      1. ImageTexture
      2. MovieTexture
      3. MultiTexture
      4. PixelTexture
    5. CubeMapTextureNodes, which are
      1. ComposedCubeMapTexture
      2. GeneratedCubeMapTexture
      3. ImageCubeMapTexture
    6. ShaderNodes, which are
      1. ComposedShader
      2. PackagedShader
      3. ProgramShader
    7. Texture3DTextureNodes, which are
      1. ComposedTexture3D
      2. ImageTexture3D
      3. PixelTexture3D
    8. TextureTransformNodes, which are
      1. TextureTransform
      2. MultiTextureTransform
    9. Texture3DTextureTransformNodes, which are
      1. TextureTransformMatrix3D
      2. TextureTransform3D

Note: There are no limitations on the numbers of nodes to match the interface definition.

Attributes

N/A.

Schema Validation

Children

Children must appear as follows:

  1. A single, optional IS.
  2. A single, optional node derived from X3DMetadataObject for the metadata field.
  3. Any number, including none, of either Prototypes, or the nodes listed below:
    1. LineProperties
    2. FillProperties
    3. Material
    4. TwoSidedMaterial
    5. ComposedShader
    6. PackagedShader
    7. ProgramShader
    8. ComposedCubeMapTexture
    9. ComposedTexture3D
    10. ImageTexture
    11. ImageTexture3D
    12. MovieTexture
    13. MultiTexture
    14. PixelTexture
    15. PixelTexture3D
    16. GeneratedCubeMapTexture
    17. ImageCubeMapTexture
    18. MultiTextureTransform
    19. TextureTransform
    20. TextureTransform3D
    21. TextureTransformMatrix3D

Note: There are no limitations on the numbers of nodes to match the interface definition.

Attributes

N/A

Schematron Validation

TBD