Enriching Scholarship 2001 - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Enriching Scholarship 2001

Description:

... of 3D Modeling and. CAVE Programming. Imaging Technology Lab Media ... There are different ways to program the CAVE: Toolkits, such as CAVELib or VR Juggler ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 20
Provided by: larssc
Category:

less

Transcript and Presenter's Notes

Title: Enriching Scholarship 2001


1
Principles of 3D Modeling and CAVE
Programming Imaging Technology Lab Media Union
2
The CAVE
3
  • A typical VR application is divided into
    components
  • A program
  • Describes all interactions, behavior, animations
  • A geometric model
  • All the geometry created with common tools, such
    as 3D Studio, AutoCAD
  • Sound
  • Sound files (access to sound servers)

4
The Model
5
  • Programming
  • There are different ways to program the CAVE
  • Toolkits, such as CAVELib or VR Juggler
  • Basic graphics packages, such as OpenGL or IrisGL
  • Higher open packages, such as Inventor or
    Performer
  • Higher commercial packages, such as WorldToolKit
    or eNai

6
The System
Unix (Irix, Linux)
C
Performer
CAVELib
Additional in-house libs
7
  • Performer
  • Designed for high-performance interactive
    graphics
  • Very efficient, if there is more than one view in
    a scene
  • Classes for multiprocessing
  • Classes for scene manipulation
  • Libs for C and C
  • Generates calls for IrisGL and OpenGL

8
  • CAVELib
  • Specifics of CAVE
  • Displaying
  • Interaction
  • Tracking
  • Networking

9
Basic Program (outline.cpp) include
ltpfcave.hgtint main(int argc, char argv)
pfInit() pfCAVEConfig(argc, argv, NULL)
pfConfig() pfCAVEInitChannels() while
(!CAVEgetbutton(CAVE_ESCKEY)) pfSync()
pfCAVEPreFrame() pfFrame()
pfCAVEPostFrame() CAVEHalt()
pfExit() return 0
10
Compiling CC -I/usr/local/CAVE/include -DOPENGL
name.c -o name \ -L/usr/local/CAVE/lib
-lpfcave_ogl -lpfdu -lpfutil \ -lpf -lGL -lXi
-lX11 -lm -lfpe -lC -limage
11
.caverc Units inches Units feet Units
millimeters Units centimetersUnits meters
DisplayMode mono Simulator y Wall front
Wall front floor right leftWandSensorRotation 1
0 0 0WandSensorOffset 0 0 -9 inches
12
Simulator Move wand with CONTROL mouse movement
or SHIFT mouse.Rotate wand with ALT mouse
roll wand with 'lt' / 'gt'.Move head with arrow
keys or SHIFT arrow keys.Rotate head with ALT
arrow keys.Reset tracking with 'P'. Mouse
buttons correspond to wand buttons.Joystick
operated with SPACEBAR mouse movement. 0 Wall
view (select wall with 'F'/'L'/'R'/'B'/'D')1
Perspective view2 Outside view (use numeric
keypad to rotate/zoom view)
13
  • Loading geometry
  • Supports a wide range of formats, such as
  • SGI Open Inventor (.iv)
  • Wavefront OBJ (.obj)
  • AutoCAD DXF (.dxf)
  • AutoDesk 3DStudio (.3ds)
  • MultiGen OpenFlight (.flt)

14
Scene
DCS
Light
Group
Switch
SCS
Geode
Geode
Geode
Geode
DCS
Light
Sequence
pfScene - root node of a scene graphpfGroup -
generic grouping nodepfSCS - a transformation
which does not changepfDCS - a transformation
which can changepfSwitch - selects children to
be activepfSequence - cycles through a series of
children
Geode
Geode
Geode
15
Show program (simple.c)
16
DCS
A DCS can be updated by using the setTrans,
setRot, setScale, and setMat methods. The order
of effect is S R T. pfDCS dcs ...
dcs-gtsetTrans(transx, transy, transz)
dcs-gtsetRot(heading, pitch, roll) // RPH
17
Show program (animation.cpp) Show program
(navigation.cpp)
18
In-house libs - DDTk
Performer/CAVELib
DDTk Primitives
DDTk Services
DDTk Managers / Tools
19
Links
Write a Comment
User Comments (0)
About PowerShow.com