Extensible 3D (X3D)
Part 1: Architecture and base components
Clipping (Custom)
The name of this component is "xj3d_Clipping". This name shall be used when referring to this component in the COMPONENT statement (see 7.2.5.4 Component statement).
This clause describes the Clipping component of this part of ISO/IEC 19775. This includes how to describe additional clipping planes of for objects to provide sectioned views of the object. Table 1 provides links to the major topics in this clause.
3D Graphics rendering pipeline uses an implicit step of trimming objects that are partially in the view frustum called clipping. In addition to these implied bounds, it is also possible to provide an additional clipping of the geometry through the provision of additional clipping plane definition. This component provides the nodes and semantics needed for defining user-defined clip planes.
Clipping planes may be defined at any level of the grouping heirarchy. These are accumulated from the root of the scene graph down to the individual leaf nodes that are rendered. Since the lanes are collected during the traversal of the scene graph, this allows for both local and globally scoped planes. Figure 1 illustrates two objects effected by a single global plane and locally effected by a vertical plane (left) and a 45 degree plane (right)
When a ClipPlane node is to be defined, it shall effect only objects that are in the same transformation hierarchy as the node. Each plane is transformed according to the parent transformation heirarchy(s) but shall not be further transformed by the children it effects.
Clipping planes shall not effect nodes derived from X3DBackgroundNode.
Renderers only support a limited number of clip plane definitions (typically only 6). If, while traversing from the root of the scene to a particular leaf, more than the number of supported planes are specified, the planes closest to the leaf are discarded first (ie, the closer to the root of the scene graph, the more important they are).
ClipPlane : X3DChildNode {
SFBool [in,out] enabled TRUE
SFVec4d [in,out] plane 0 1 0 0 [0,1]
SFNode [in,out] metadata NULL [X3DMetadataObject]
}
This node defines a single plane equation that will be used to clip the geometry. The plane field defines a 4 component plane equation that describes the inside and outside half space. The first 3 components shall be a normalised vector describing the direction of the plane's normal direction.
The Clipping component defines a single level of support as specified in Table 2.
Table 2 — Clipping component support levels
| Level | Prerequisites | Nodes/Features | Support |
|---|---|---|---|
| 1 | Core 1 Grouping 1 |
||
| ClipPlane | All fields fully supported. |
|
[
Xj3D Homepage |
Xj3D @ Web3d |
Screenshots |
Dev docs |
Dev Releases |
Contributors |
Getting Started
]
Last updated: $Date: 2004/10/13 20:10:19 $ |