Vrtut 2
Vrtut 2
Presented by:
Dr. Mohsen Kahani
[email protected]
WIECC2001 Conference, Kish
Monday, 31th April 2001
Introduction
Real-time telepresence
Interactions are reflected to some real
world objects.
Delayed telepresence
Interactions are recorded, and after satisfaction
is applied to the real-world object.
Types of VR
Spotlight
Aperture
Interaction Techniques (cont’d)
Fishing reel
Sticky Finger
Scaled-world grab
Navigation Techniques
Steering : direction and velocity
– hand-directed
– gaze-directed
– physical devices (steering wheel, flight sticks)
Target-based
– point at object, list of coordinates
Route planning
– place markers in world
Mine, 1995
Collision Detection
Very computationally intensive, but very
important for presence and realism
Bounding Volume (Sphere, Box, Convex Hull)
Voronoi Region / Convex Decomposition
Separating Planes
Level of Detail (LOD)
When looking objects from a far, details not
important
Do not show details if they can’t be seen
Reduces number of polygons significantly
LOD management
– Automatic
– Pre-defined
Distributed VR
The Multi-user environment
A simulated world runs on several
computers connected over a network.
People can interact in real time, sharing the
same virtual world
DVR Connectivity Approaches
Started in 1994
VRML V1.0 came out in May 95
ASCII-based, object-based modeling language
VRML v1.0 is static, objects do not have
behaviors
VRML 2.0 (known as VRML97) is dynamic
VRML97 is now ISO standard
The binary version has also been developed
VRML Viewers
Usually act as a plugin for browsers
Some standalone versions are also available
Files have .wrl or .wrz extensions
MIME Type
– V1.0 x-world/x-vrml
– V2.0 model/vrml
Important plugins
– CosmoPlayer, WorldView, Cartona
VRML Example
#VRML V2.0 utf8
Shape {
appearance Appearance {
material Material { }
}
geometry Cylinder { }
}
Transform {
translation 2 1 1.5
children [
Shape {
appearance Appearance {
material Material { }
}
geometry Box { }
}
]
}
VRML Concept
Right-handed Coordinate
File Header
#VRML V2.0 <encoding type> [comment] <line terminator>
Statement syntax
[DEF <name>] <nodeType> { <body> }
Reusing nodes
– USE statement
– PROTO and EXTERNPROTO
ROUTE statement
Declaration types
– Field, exposedField, eventIn, eventOut
VRML Concept (cont’d)
Field types
– SF vs. MF field
• SFBool
• SFColor and MFColor
• SFFloat and MFFloat
• SFImage
• SFInt32 and MFInt32
• SFNode and MFNode
• SFRotation and MFRotation
• SFString and MFString
• SFTime
• SFVec2f and MFVec2f
• SFVec3f and MFVec3f
VRML Concept (cont’d)
Scripting
– Java
– JavaScript
– VRMLScript
VRML Nodes
Grouping nodes
Geometry nodes
Geometry related nodes
Lighting nodes
Sensory nodes
Interpolator nodes
Other nodes
Grouping Nodes
Anchor
Billboard
Collision
Group
Inline
LOD
Switch
Transform
Geometry Nodes
Box
Cone
Cylinder
ElevationGrid
Extrusion
IndexedFaceSet
IndexedLineSet
PointSet
Sphere
Text
Geometry Related Nodes
Coordinate
Color
Normal
TextureCoordinate
Appearance
Material
ImageTexture
PixelTexture
MovieTexture
TextureTransform
Lighting Nodes
DirectionalLight
PointLight
SpotLight
Sensor Nodes
Anchor
Collision
CylinderSensor
PlaneSensor
ProximitySensor
SphereSensor
TimeSensor
TouchSensor
VisibilitySensor
Interpolator Nodes
ColorInterpolator
CoordinateInterpolator
NormalInterpolator
OrientationInterpolator
PositionInterpolator
ScalarInterpolator
Shared Fields
eventIn SFFloat set_fraction
exposedField MFFloat key [...]
exposedField MF<type> keyValue [...]
eventOut [S|M]F<type> value_changed
Other Nodes
Script node
Background
Fog
Sound
AudioClip
ViewPoint
WorldIndo
NavigationInfo
JAVA 3D
Java 3D is a network-centric, scene graph-based API, that
revolutionizes 3D graphics application development
Benefits to end-users
– Application portability
– Hardware independence
– Performance scalability
Rich set of 3D features
High-level, Object-oriented paradigm
Wide variety of file formats
Java 3D Architecture
Independent asynchronous components
– Automatic rendering
– Behavior and sound scheduling
– Event generation (collision detection)
– Input device management
Java 3D renderer chooses traversal order
– Neither left-to-right nor top-to-bottom
– Except spatially bounded attributes
Java 3D Scene Graph Hierarchy
VR Applications
Education
Being 747
Flight Simulation
VR Application
User Interface
WNMS
VR Application
Telepresence
Telesurgery
Augmented surgery
TeleRobotics
VR Application
Information Visualization
Virtual racing
VR Application
Military
Conclusion
VR introduces a new way of interacting
with computers
The best of VR is yet to come
Web is very suitable for VR applications,
but the proper technology is not yet there
Thank You for Listening