Castle Game Engine
← Users Developers →
 
Intro
 
News
 
view3dscene
 
The Castle
 
All Programs
 
Forum
 
Donate
 
Engine
 
VRML/X3D
 
Blender
 

Shape component

This component defines the materials and containers for geometric nodes and their appearance.

See also X3D specification of Shape component.

Supported nodes:

  • Shape, Appearance, Material

  • VRML 1.0 and multiple materials: multiple materials within a single VRML 1.0 Material node work 100% correctly if you change only emissive and transparency, or only diffuse and transparency for each index. For complicated cases (like when you change diffuse, and specular, and emissive...) for each material index -> they will fail.

    This is a wontfix. For OpenGL fixed-function pipeline, changing all glMaterial settings too often (like for a vertex or a face) is prohibitively slow. It's also terribly memory consuming (for castle (online docs), display lists of animations (in the older days when we used display lists) of spider and spider queen were eating 130 MB with naive implementation, vs 10 MB with current implementation).

    VRML 2.0 and X3D removed this idea, replacing it with much saner Color and ColorRGBA nodes, that are implemented fully.

  • LineProperties. Implemented, allows to change line width and type (pattern). Suitable for all line geometry, in particular IndexedLineSet and LineSet. It also affects normal (filled) geometry (like IndexedFaceSet) when viewed in wireframe mode (see view3dscene "View -> Fill Mode" menu).

TODO: FillProperties, TwoSidedMaterial are missing.