#VRML V2.0 utf8
# X3D-to-VRML-97 XSL translation autogenerated by X3dToVrml97.xslt
# https://www.web3d.org/x3d/content/X3dToVrml97.xslt
# Generated using XSLT processor: Saxonica
# [X3D] VRML V3.3 utf8
# PROFILE Immersive
# [X3D] version=3.3
# [X3D] noNamespaceSchemaLocation=https://www.web3d.org/specifications/x3d-3.3.xsd
# [head]
# META "title" "TextureMapComparisonsCylinder.x3d"
# META "description" "Compare ImageTexture mapping for a variety of geometry nodes. This is an excellent test scene for different X3D browsers."
# META "creator" "Sungmin Kwon and Don Brutzman"
# META "created" "17 December 2017"
# META "modified" "21 January 2020"
# META "reference" "TextureMapTesting.pdf"
# META "Image" "TextureMapComparisonsCylinderX_ITE.png"
# META "Image" "TextureMapComparisonsCylinderX3DOM.png"
# META "Image" "TextureMapComparisonsCylinderBSContact.png"
# META "Image" "TextureMapComparisonsCylinderFreeWrl.png"
# META "Image" "TextureMapComparisonsCylinderH3DViewer.png"
# META "Image" "TextureMapComparisonsCylinderInstantReality.png"
# META "Image" "TextureMapComparisonsCylinderView3dScene.png"
# META "Image" "TextureMapComparisonsCylinderXj3D.png"
# META "reference" "TextureMapComparisonsRectangle.x3d"
# META "reference" "https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Images"
# META "specificationSection" "X3D Abstract Specification, 18.2.3 Texture coordinates"
# META "specificationUrl" "https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/texturing.html#Texturecoordinates"
# META "Image" "https://www.web3d.org/documents/specifications/19775-1/V3.3/Images/ImageTexture.gif"
# META "identifier" "https://x3dgraphics.com/examples/X3dForAdvancedModeling/TextureMapping/TextureMapComparisonsCylinder.x3d"
# META "generator" "X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit"
# META "license" "../license.html"
EXTERNPROTO IndexedTriangleStripSet [
# [appinfo] IndexedTriangleStripSet represents a 3D shape composed of strips of triangles.
field SFBool ccw
field SFBool colorPerVertex
field SFBool normalPerVertex
field SFBool solid
field MFInt32 index
eventIn MFInt32 set_index
exposedField SFNode color # [appinfo] Color, ColorRGBA node only
exposedField SFNode coord # [appinfo] Coordinate node only
exposedField SFNode normal # [appinfo] Normal node only
exposedField SFNode texCoord # [appinfo] TextureCoordinate node only
exposedField SFNode metadata # [appinfo] Metadata node only
][
"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"
]
# [Scene] ========== ========== ==========
NavigationInfo { type [ "EXAMINE" "ANY" ] } ### Default X3D NavigationInfo
WorldInfo {
title "TextureMapComparisonsCylinder.x3d"
}
DEF Viewpoint1 Viewpoint {
description "default view"
position 0 0 21
}
# == === ==== 1st row
Transform {
translation 0 0.2 0
children [
# Cylinder
Transform {
translation 0 3 0
children [
Transform {
translation -6 0 0
children [
Shape {
appearance DEF TextureAppearance Appearance {
texture DEF SpecificationTexture ImageTexture {
url [ "ImageTextureSpecificationSquare.png" "https://x3dgraphics.com/examples/X3dForAdvancedModeling/TextureMapping/ImageTextureSpecificationSquare.png" ]
}
}
geometry Cylinder {
}
}
]
}
# Indexed Face Set
Transform {
translation -3.5 0 0
children [
Shape {
appearance USE TextureAppearance
geometry DEF BaseIFS IndexedFaceSet {
coordIndex [ 0 1 9 8 -1 1 2 10 9 -1 2 3 11 10 -1 3 4 12 11 -1 4 5 13 12 -1 5 6 14 13 -1 6 7 15 14 -1 7 0 8 15 -1 8 9 17 16 -1 9 10 18 17 -1 10 11 19 18 -1 11 12 20 19 -1 12 13 21 20 -1 13 14 22 21 -1 14 15 23 22 -1 15 8 16 23 -1 ]
coord DEF CsForCylinder Coordinate {
point [ 0 -1 1 0.707 -1 0.707 1 -1 0 0.707 -1 -0.707 0 -1 -1 -0.707 -1 -0.707 -1 -1 0 -0.707 -1 0.707 0 0.5 1 0.707 0.5 0.707 1 0.5 0 0.707 0.5 -0.707 0 0.5 -1 -0.707 0.5 -0.707 -1 0.5 0 -0.707 0.5 0.707 0 1 1 0.707 1 0.707 1 1 0 0.707 1 -0.707 0 1 -1 -0.707 1 -0.707 -1 1 0 -0.707 1 0.707 ]
}
}
}
]
}
# Indexed Triangle Strip Set
Transform {
translation -1 0 0
children [
Shape {
appearance USE TextureAppearance
geometry DEF BaseITSS IndexedTriangleStripSet {
ccw TRUE
colorPerVertex TRUE
index [ 8 0 9 1 10 2 11 3 12 4 13 5 14 6 15 7 8 0 -1 16 8 17 9 18 10 19 11 20 12 21 13 22 14 23 15 16 8 -1 ]
normalPerVertex TRUE
solid TRUE
coord USE CsForCylinder
}
}
]
}
# Extrusion
Transform {
translation 1.5 0 0
children [
Shape {
appearance USE TextureAppearance
geometry DEF BaseExtrusionShape Extrusion {
crossSection [ 0 -1 -0.707 -0.707 -1 0 -0.707 0.707 0 1 0.707 0.707 1 0 0.707 -0.707 0 -1 ]
spine [ 0 -1 0 0 0.5 0 0 1 0 ]
}
}
]
}
]
}
# == === ==== 2nd row
# Cylinder
Transform {
translation 0 0.5 0
children [
Transform {
translation -6 0 0
children [
Shape {
appearance DEF TextureRotate Appearance {
texture USE SpecificationTexture
textureTransform TextureTransform {
rotation 0.8
}
}
geometry Cylinder {
}
}
]
}
# Indexed Face Set
Transform {
translation -3.5 0 0
children [
Shape {
appearance USE TextureRotate
geometry USE BaseIFS
}
]
}
# Indexed Triangle Strip Set
Transform {
translation -1 0 0
children [
Shape {
appearance USE TextureRotate
geometry USE BaseITSS
### Error: No additional/overriding attribute values (ccw='true') allowed with USE node
### Error: No additional/overriding attribute values (colorPerVertex='true') allowed with USE node
### Error: No additional/overriding attribute values (normalPerVertex='true') allowed with USE node
### Error: No additional/overriding attribute values (solid='true') allowed with USE node
}
]
}
# Extrusion
Transform {
translation 1.5 0 0
children [
Shape {
appearance USE TextureRotate
geometry USE BaseExtrusionShape
}
]
}
]
}
# == === ==== 3rd row
# Cylinder
Transform {
translation 0 -2 0
children [
Transform {
translation -6 0 0
children [
Shape {
appearance DEF TextureTranslate Appearance {
texture USE SpecificationTexture
textureTransform TextureTransform {
rotation 0.8
translation 0.2 -0.5
}
}
geometry Cylinder {
}
}
]
}
# Indexed Face Set
Transform {
translation -3.5 0 0
children [
Shape {
appearance USE TextureTranslate
geometry USE BaseIFS
}
]
}
# Indexed Triangle Strip Set
Transform {
translation -1 0 0
children [
Shape {
appearance USE TextureTranslate
geometry USE BaseITSS
### Error: No additional/overriding attribute values (ccw='true') allowed with USE node
### Error: No additional/overriding attribute values (colorPerVertex='true') allowed with USE node
### Error: No additional/overriding attribute values (normalPerVertex='true') allowed with USE node
### Error: No additional/overriding attribute values (solid='true') allowed with USE node
}
]
}
# Extrusion
Transform {
translation 1.5 0 0
children [
Shape {
appearance USE TextureTranslate
geometry USE BaseExtrusionShape
}
]
}
]
}
# == === ==== 4th row
# Cylinder
Transform {
translation 0 -4.5 0
children [
Transform {
translation -6 0 0
children [
Shape {
appearance DEF TextureScale Appearance {
texture USE SpecificationTexture
textureTransform TextureTransform {
rotation 0.8
scale 2 2
translation 0.2 -0.5
}
}
geometry Cylinder {
}
}
]
}
# Indexed Face Set
Transform {
translation -3.5 0 0
children [
Shape {
appearance USE TextureScale
geometry USE BaseIFS
}
]
}
# Indexed Triangle Strip Set
Transform {
translation -1 0 0
children [
Shape {
appearance USE TextureScale
geometry USE BaseITSS
}
]
}
# Extrusion
Transform {
translation 1.5 0 0
children [
Shape {
appearance USE TextureScale
geometry USE BaseExtrusionShape
}
]
}
]
}
# == === ==== 5th row
# Cylinder
Transform {
translation 0 -7 0
children [
Transform {
translation -6 0 0
children [
Shape {
appearance DEF AppearanceNoTexture Appearance {
material Material {
diffuseColor 0.6 1 1
}
}
geometry Cylinder {
}
}
]
}
# Indexed Face Set
Transform {
translation -3.5 0 0
children [
Shape {
appearance USE AppearanceNoTexture
geometry IndexedFaceSet {
coordIndex [ 0 1 9 8 -1 1 2 10 9 -1 2 3 11 10 -1 3 4 12 11 -1 4 5 13 12 -1 5 6 14 13 -1 6 7 15 14 -1 7 0 8 15 -1 8 9 17 16 -1 9 10 18 17 -1 10 11 19 18 -1 11 12 20 19 -1 12 13 21 20 -1 13 14 22 21 -1 14 15 23 22 -1 15 8 16 23 -1 ]
coord USE CsForCylinder
}
}
]
}
# Indexed Triangle Strip Set
Transform {
translation -1 0 0
children [
Shape {
appearance USE AppearanceNoTexture
geometry IndexedTriangleStripSet {
ccw TRUE
colorPerVertex TRUE
index [ 8 0 9 1 10 2 11 3 12 4 13 5 14 6 15 7 8 0 -1 16 8 17 9 18 10 19 11 20 12 21 13 22 14 23 15 16 8 -1 ]
normalPerVertex TRUE
solid TRUE
coord USE CsForCylinder
}
}
]
}
# Extrusion
Transform {
translation 1.5 0 0
children [
Shape {
appearance USE AppearanceNoTexture
geometry USE BaseExtrusionShape
}
]
}
]
}
# == === ==== Text
# Title
Transform {
translation 0 7 0
children [
Shape {
geometry DEF Title Text {
string [ "Texture Map Comparisons for Cylinders!" ]
fontStyle FontStyle {
justify [ "MIDDLE" "FIRST" ]
}
}
appearance DEF DefaultAppearance Appearance {
material DEF DefaultMaterial Material {
}
}
}
]
}
# X axis : Geometry Index
Transform {
translation 0 5.2 0
children [
# Cylinder
Transform {
translation -6 0 0
children [
Shape {
geometry Text {
string [ "Cylinder" ]
fontStyle DEF CenterFontStyle FontStyle {
justify [ "MIDDLE" "MIDDLE" ]
size 0.75
### style='BOLD'
}
}
}
]
}
# Indexed Face Set
Transform {
translation -3.5 0 0
children [
Shape {
geometry Text {
string [ "IFS" ]
fontStyle USE CenterFontStyle
}
}
]
}
# Indexed Triangle Strip Set
Transform {
translation -1 0 0
children [
Shape {
geometry Text {
string [ "ITSS" ]
fontStyle USE CenterFontStyle
}
}
]
}
# Extrusion
Transform {
translation 1.5 0 0
children [
Shape {
geometry Text {
string [ "Extrusion" ]
fontStyle USE CenterFontStyle
}
}
]
}
]
}
# Y axis : Texture Description
Transform {
translation 3 3.5 0
children [
Transform {
children [
Shape {
geometry Text {
string [ "Default Texture" ]
fontStyle DEF LeftFontStyle FontStyle {
justify [ "BEGIN" "MIDDLE" ]
size 0.75
}
}
}
]
}
Transform {
translation 0 -2.5 0
children [
Shape {
geometry Text {
string [ "Rotate Texture" ]
fontStyle USE LeftFontStyle
}
}
]
}
Transform {
translation 0 -5 0
children [
Shape {
geometry Text {
string [ "Rotate, Translate Texture" ]
fontStyle USE LeftFontStyle
}
}
]
}
Transform {
translation 0 -7.5 0
children [
Shape {
geometry Text {
string [ "Rotate, Translate, Scale" ]
fontStyle USE LeftFontStyle
}
}
]
}
Transform {
translation 0 -10 0
children [
Shape {
geometry Text {
string [ "No Texture" ]
fontStyle USE LeftFontStyle
}
appearance Appearance {
material Material {
diffuseColor 0.6 1 1
}
}
}
]
}
]
}
]
}