{ "X3D": {
    "encoding":"UTF-8",
    "@profile":"Immersive",
    "@version":"3.0",
    "@xsd:noNamespaceSchemaLocation":"https://www.web3d.org/specifications/x3d-3.0.xsd",
    "JSON schema":"https://www.web3d.org/specifications/x3d-4.0-JSONSchema.autogenerated.json",
    "head": {
        "meta": [
          {
            "@name":"title",
            "@content":"RenderingComponentExternProtoDefinitions.x3d"
          },
          {
            "@name":"description",
            "@content":"Examples showing use of new X3D Rendering component nodes (IndexedTriangleFanSet IndexedTriangleSet IndexedTriangleStripSet LineSet TriangleFanSet TriangleSet TriangleStripSet), implemented as prototypes for backwards compatibility with VRML 97."
          },
          {
            "@name":"info",
            "@content":".wrl url links intentionally precede .x3d links, X3D-Edit stylesheet X3dToVrml97.xslt automatically inserts VRML97 translations of these external prototype declarations upon encountering any new Rendering nodes."
          },
          {
            "@name":"creator",
            "@content":"Don Brutzman, Ken Curtin, Duane Davis, Christos Kalogrias"
          },
          {
            "@name":"created",
            "@content":"17 November 2003"
          },
          {
            "@name":"modified",
            "@content":"20 October 2019"
          },
          {
            "@name":"reference",
            "@content":"RenderingComponentPrototypes.x3d"
          },
          {
            "@name":"reference",
            "@content":"RenderingComponentExamples.x3d"
          },
          {
            "@name":"reference",
            "@content":"https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/rendering.html"
          },
          {
            "@name":"subject",
            "@content":"X3D Rendering component nodes (IndexedTriangleFanSet IndexedTriangleSet IndexedTriangleStripSet LineSet TriangleFanSet TriangleSet TriangleStripSet)"
          },
          {
            "@name":"identifier",
            "@content":"https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentExternProtoDefinitions.x3d"
          },
          {
            "@name":"generator",
            "@content":"X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit"
          },
          {
            "@name":"license",
            "@content":"../license.html"
          },
          {
            "@name":"translated",
            "@content":"20 April 2026"
          },
          {
            "@name":"generator",
            "@content":"X3dToJson.xslt, https://www.web3d.org/x3d/stylesheets/X3dToJson.html"
          },
          {
            "@name":"reference",
            "@content":"X3D JSON encoding: https://www.web3d.org/wiki/index.php/X3D_JSON_Encoding"
          }
        ]
    },
    "Scene": {
        "-children":[
          {
            "#comment":"===================="
          },
          {
            "#comment":"Do not copy these ExternProtoDeclare statements, they are only provided for preparation of X3dToVrml97.xslt stylesheet mappings for backwards compatibility."
          },
          {
            "#comment":"===================="
          },
          { "WorldInfo":
            {
              "@title":"RenderingComponentExternProtoDefinitions.x3d"
            }
          },
          { "ExternProtoDeclare":
            {
              "@name":"ColorRGBA",
              "@appinfo":"ColorRGBA defines a set of RGBA colors.",
              "@url":["RenderingComponentPrototypes.wrl#ColorRGBA","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.wrl#ColorRGBA","RenderingComponentPrototypes.x3d#ColorRGBA","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.x3d#ColorRGBA"],
              "field": [
                {
                  "@name":"color",
                  "@accessType":"inputOutput",
                  "@appinfo":"locally override MFColorRGBA type (which is not supported in VRML 97) in order to downgrade to Color RGB",
                  "@type":"MFRotation"
                },
                {
                  "@name":"metadata",
                  "@accessType":"inputOutput",
                  "@appinfo":"Metadata node only",
                  "@type":"SFNode"
                }
              ]
            }
          },
          { "ExternProtoDeclare":
            {
              "@name":"IndexedTriangleFanSet",
              "@appinfo":"IndexedTriangleFanSet represents a 3D shape composed of triangles that form a fan shape around the first vertex declared in each fan.",
              "@url":["RenderingComponentPrototypes.wrl#IndexedTriangleFanSet","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.wrl#IndexedTriangleFanSet","RenderingComponentPrototypes.x3d#IndexedTriangleFanSet","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.x3d#IndexedTriangleFanSet"],
              "field": [
                {
                  "@name":"ccw",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"colorPerVertex",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"normalPerVertex",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"solid",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"index",
                  "@accessType":"initializeOnly",
                  "@type":"MFInt32"
                },
                {
                  "@name":"set_index",
                  "@accessType":"inputOnly",
                  "@type":"MFInt32"
                },
                {
                  "@name":"color",
                  "@accessType":"inputOutput",
                  "@appinfo":"Color ColorRGBA node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"coord",
                  "@accessType":"inputOutput",
                  "@appinfo":"Coordinate node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"normal",
                  "@accessType":"inputOutput",
                  "@appinfo":"Normal node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"texCoord",
                  "@accessType":"inputOutput",
                  "@appinfo":"TextureCoordinate node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"metadata",
                  "@accessType":"inputOutput",
                  "@appinfo":"Metadata node only",
                  "@type":"SFNode"
                }
              ]
            }
          },
          { "ExternProtoDeclare":
            {
              "@name":"IndexedTriangleSet",
              "@appinfo":"IndexedTriangleSet represents a 3D shape composed of a collection of individual triangles.",
              "@url":["RenderingComponentPrototypes.wrl#IndexedTriangleSet","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.wrl#IndexedTriangleSet","RenderingComponentPrototypes.x3d#IndexedTriangleSet","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.x3d#IndexedTriangleSet"],
              "field": [
                {
                  "@name":"ccw",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"colorPerVertex",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"normalPerVertex",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"solid",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"index",
                  "@accessType":"initializeOnly",
                  "@type":"MFInt32"
                },
                {
                  "@name":"set_index",
                  "@accessType":"inputOnly",
                  "@type":"MFInt32"
                },
                {
                  "@name":"color",
                  "@accessType":"inputOutput",
                  "@appinfo":"Color ColorRGBA node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"coord",
                  "@accessType":"inputOutput",
                  "@appinfo":"Coordinate node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"normal",
                  "@accessType":"inputOutput",
                  "@appinfo":"Normal node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"texCoord",
                  "@accessType":"inputOutput",
                  "@appinfo":"TextureCoordinate node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"metadata",
                  "@accessType":"inputOutput",
                  "@appinfo":"Metadata node only",
                  "@type":"SFNode"
                }
              ]
            }
          },
          { "ExternProtoDeclare":
            {
              "@name":"IndexedTriangleStripSet",
              "@appinfo":"IndexedTriangleStripSet represents a 3D shape composed of strips of triangles.",
              "@url":["RenderingComponentPrototypes.wrl#IndexedTriangleStripSet","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.wrl#IndexedTriangleStripSet","RenderingComponentPrototypes.x3d#IndexedTriangleStripSet","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.x3d#IndexedTriangleStripSet"],
              "field": [
                {
                  "@name":"ccw",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"colorPerVertex",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"normalPerVertex",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"solid",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"index",
                  "@accessType":"initializeOnly",
                  "@type":"MFInt32"
                },
                {
                  "@name":"set_index",
                  "@accessType":"inputOnly",
                  "@type":"MFInt32"
                },
                {
                  "@name":"color",
                  "@accessType":"inputOutput",
                  "@appinfo":"Color ColorRGBA node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"coord",
                  "@accessType":"inputOutput",
                  "@appinfo":"Coordinate node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"normal",
                  "@accessType":"inputOutput",
                  "@appinfo":"Normal node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"texCoord",
                  "@accessType":"inputOutput",
                  "@appinfo":"TextureCoordinate node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"metadata",
                  "@accessType":"inputOutput",
                  "@appinfo":"Metadata node only",
                  "@type":"SFNode"
                }
              ]
            }
          },
          { "ExternProtoDeclare":
            {
              "@name":"LineSet",
              "@appinfo":"LineSet represents a 3D geometry formed by constructing polylines from 3D vertices.",
              "@url":["RenderingComponentPrototypes.wrl#LineSet","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.wrl#LineSet","RenderingComponentPrototypes.x3d#LineSet","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.x3d#LineSet"],
              "field": [
                {
                  "@name":"vertexCount",
                  "@accessType":"inputOutput",
                  "@type":"MFInt32"
                },
                {
                  "@name":"color",
                  "@accessType":"inputOutput",
                  "@appinfo":"Color ColorRGBA node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"coord",
                  "@accessType":"inputOutput",
                  "@appinfo":"Coordinate node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"metadata",
                  "@accessType":"inputOutput",
                  "@appinfo":"Metadata node only",
                  "@type":"SFNode"
                }
              ]
            }
          },
          { "ExternProtoDeclare":
            {
              "@name":"TriangleFanSet",
              "@appinfo":"TriangleFanSet represents a 3D shape composed of triangles that form a fan shape around the first vertex declared in each fan.",
              "@url":["RenderingComponentPrototypes.wrl#TriangleFanSet","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.wrl#TriangleFanSet","RenderingComponentPrototypes.x3d#TriangleFanSet","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.x3d#TriangleFanSet"],
              "field": [
                {
                  "@name":"fanCount",
                  "@accessType":"inputOutput",
                  "@type":"MFInt32"
                },
                {
                  "@name":"ccw",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"colorPerVertex",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"normalPerVertex",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"solid",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"color",
                  "@accessType":"inputOutput",
                  "@appinfo":"Color ColorRGBA node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"coord",
                  "@accessType":"inputOutput",
                  "@appinfo":"Coordinate node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"normal",
                  "@accessType":"inputOutput",
                  "@appinfo":"Normal node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"texCoord",
                  "@accessType":"inputOutput",
                  "@appinfo":"TextureCoordinate node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"metadata",
                  "@accessType":"inputOutput",
                  "@appinfo":"Metadata node only",
                  "@type":"SFNode"
                }
              ]
            }
          },
          { "ExternProtoDeclare":
            {
              "@name":"TriangleSet",
              "@appinfo":"TriangleSet represents a 3D shape that represents a collection of individual triangles.",
              "@url":["RenderingComponentPrototypes.wrl#TriangleSet","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.wrl#TriangleSet","RenderingComponentPrototypes.x3d#TriangleSet","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.x3d#TriangleSet"],
              "field": [
                {
                  "@name":"ccw",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"colorPerVertex",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"normalPerVertex",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"solid",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"color",
                  "@accessType":"inputOutput",
                  "@appinfo":"Color ColorRGBA node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"coord",
                  "@accessType":"inputOutput",
                  "@appinfo":"Coordinate node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"normal",
                  "@accessType":"inputOutput",
                  "@appinfo":"Normal node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"texCoord",
                  "@accessType":"inputOutput",
                  "@appinfo":"TextureCoordinate node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"metadata",
                  "@accessType":"inputOutput",
                  "@appinfo":"Metadata node only",
                  "@type":"SFNode"
                }
              ]
            }
          },
          { "ExternProtoDeclare":
            {
              "@name":"TriangleStripSet",
              "@appinfo":"TriangleStripSet represents a 3D shape composed of strips of triangles.",
              "@url":["RenderingComponentPrototypes.wrl#TriangleStripSet","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.wrl#TriangleStripSet","RenderingComponentPrototypes.x3d#TriangleStripSet","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.x3d#TriangleStripSet"],
              "field": [
                {
                  "@name":"stripCount",
                  "@accessType":"inputOutput",
                  "@type":"MFInt32"
                },
                {
                  "@name":"ccw",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"colorPerVertex",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"normalPerVertex",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"solid",
                  "@accessType":"initializeOnly",
                  "@type":"SFBool"
                },
                {
                  "@name":"color",
                  "@accessType":"inputOutput",
                  "@appinfo":"Color ColorRGBA node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"coord",
                  "@accessType":"inputOutput",
                  "@appinfo":"Coordinate node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"normal",
                  "@accessType":"inputOutput",
                  "@appinfo":"Normal node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"texCoord",
                  "@accessType":"inputOutput",
                  "@appinfo":"TextureCoordinate node only",
                  "@type":"SFNode"
                },
                {
                  "@name":"metadata",
                  "@accessType":"inputOutput",
                  "@appinfo":"Metadata node only",
                  "@type":"SFNode"
                }
              ]
            }
          },
          { "Background":
            {
              "@groundColor":[0.2,0.2,0.2],
              "@skyColor":[0.2,0.2,0.2]
            }
          },
          { "Anchor":
            {
              "@DEF":"LinkToExamples",
              "@description":"link to examples",
              "@url":["RenderingComponentExamples.x3d","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentExamples.x3d","RenderingComponentExamples.wrl","https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentExamples.wrl"],
              "-children":[
                { "Shape":
                  {
                    "-appearance":
                      { "Appearance":
                        {
                          "-material":
                            { "Material":
                              {
                                "@diffuseColor":[0.8,0.6,0.2]
                              }
                            }
                        }
                      },
                    "-geometry":
                      { "Text":
                        {
                          "@string":["RenderingComponentExternProtoDefinitions","is a developmental file.","Click this text to view","RenderingComponentExamples"],
                          "-fontStyle":
                            { "FontStyle":
                              {
                                "@justify":["MIDDLE","MIDDLE"]
                              }
                            }
                        }
                      }
                  }
                }
              ]
            }
          }
        ]
    }
  }
}