Summary examples
texplane.wrl

	

#VRML V2.0 utf8
#
#  texplane.wrl
#  An animating textured plane
#    by David R. Nadeau
#
#  This world illustrates the use of the 'TexturePlane' node type defined in
#  the external file 'cut.wrl'.  That node creates a textured square whose
#  texture changes based upon an input fraction.  This world animates that
#  fraction to cause the texture to animate.
#

#
#  Externally defined node types
#
EXTERNPROTO TexturePlane [
    field MFNode textures
    eventIn SFFloat set_fraction
] "cut.wrl#TexturePlane"


#
#  Header
#
WorldInfo {
    title "Animating textured plane"
    info [ "Copyright (c) 1997, David R. Nadeau" ]
}

Viewpoint {
    position 0.0 0.0 3.0
    description "Entry view"
}

NavigationInfo {
    type [ "EXAMINE", "ANY" ]
    headlight TRUE
}

Background {
    skyColor [
        0.0 0.0 0.0
        0.0 0.0 0.0
        0.0 0.1 0.3
    ]
    skyAngle [
        1.57,
        1.87,
    ]
}



#
#  Build a box with a grid texture on the sides.  Only include the
#  side, bottom, and end.  The cutting planes will slide back and
#  forth within the box.
#
Shape {
    appearance Appearance {
        # no material - emissive
        texture ImageTexture {
            url "grill.png"
        }
        textureTransform TextureTransform {
            translation 0.5 0.5
        }
    }
    geometry IndexedFaceSet {
        coord Coordinate {
            point [
            # Back
                -1.0 -1.0 -0.05,
                 1.0 -1.0 -0.05,
                 1.0  1.0 -0.05,
                -1.0  1.0 -0.05,
            ]
        }
        coordIndex [
            0, 1, 2, 3, -1,
        ]
        texCoord TextureCoordinate {
            point [
                0.0 0.0,
                4.0 0.0,
                4.0 4.0,
                0.0 4.0,
            ]
        }
        texCoordIndex [
            0, 1, 2, 3, -1,
        ]
        solid FALSE
    }
}




#
#  Create two moving cutting planes, one initially at the front and
#  the other initially at the back.
#
DEF Plane TexturePlane {
    textures [
        ImageTexture {
            url "cp1.png"
            repeatS FALSE
            repeatT FALSE
        }
        ImageTexture {
            url "cp2.png"
            repeatS FALSE
            repeatT FALSE
        }
        ImageTexture {
            url "cp3.png"
            repeatS FALSE
            repeatT FALSE
        }
        ImageTexture {
            url "cp4.png"
            repeatS FALSE
            repeatT FALSE
        }
        ImageTexture {
            url "cp5.png"
            repeatS FALSE
            repeatT FALSE
        }
        ImageTexture {
            url "cp6.png"
            repeatS FALSE
            repeatT FALSE
        }
        ImageTexture {
            url "cp7.png"
            repeatS FALSE
            repeatT FALSE
        }
        ImageTexture {
            url "cp8.png"
            repeatS FALSE
            repeatT FALSE
        }
        ImageTexture {
            url "cp9.png"
            repeatS FALSE
            repeatT FALSE
        }
        ImageTexture {
            url "cp10.png"
            repeatS FALSE
            repeatT FALSE
        }
    ]
}

DEF Clock TimeSensor {
    cycleInterval 3.0
    startTime 1.0
    stopTime 0.0
    loop TRUE
}

ROUTE Clock.fraction_changed TO Plane.set_fraction