| Product Name: |
OpenGL-based Lighting Effects Library for the next generation
VR rendering system. |
| For: |
Walt Disney Imagineering / Research and Development /
VR Studio
VR Studio Director: Gary Daines (daines@wdi.rd.disney.com)
Worked closely with: Mark Mine (mine@wdi.rd.disney.com)
and Mike Goslin (mike@wdi.rd.disney.com) |
| Team Size: |
The VR studio consists of about 30 to 40 people and the
group working on the next generation VR rendering system consists of about
6 people. The large group met about every two weeks to discuss goals and
progress of all subgroups. Our subgroup met once a week officially with
the director of the studio (Daines). I met with Mark and Mike on a daily
basis to discuss new algorithm ideas, the necessary interfaces between
all related modules, and the integration issues. |
| Size of Product: |
The next generation VR system may possibly provide the
core for upcoming VR attractions put our by Disney (any further description
is confidential). I was responsible for the lighting effects library and
the OpenGL viewer core. |
| Deliverables: |
I was responsible for designing and implementing the
following modules: |
|
OpenGL-based Lighting Effects Library consisting of the
following:
-
6 different shadows algorithms:
-
Shadow-mapping: backward and forward mapping, forward-mapped
using points and graphics hardware
-
Planar projection
-
Projective texture
-
Shadow-volumes
-
2 different reflection algorithms:
-
Spotlights : includes atmospheric effect and proper
spotlight projection
-
Phong Highlighting using sphere-mapping
-
Non-photorealistic outlining using sphere-mapping
-
Slide Projector effects using projective textures
An OpenGL/GLUT based portable viewer upon which to build
and test all library modules. This viewer may serve as the core to the
overall next generation VR rendering system. The basic core viewer provides
the following:
-
Various modes of world navigation
-
Window frame-grabbing
-
Camera path recording and playback
-
Inertial navigation system allowing users to impart momentum
on objects
-
Multiple camera support
-
Clean programming interface where a user need only provide
an OpenGL display routine
-
Complete portability between SGIs and PCs
-
A complete, but simple math library
An extended viewer framework was also provided that formed
the main interface between portions of their original system to the new
system. All extensions act through an object container class. The extensions
provide the following:
-
Object container class and the object-frame class (local
coordinate system)
-
Several example objects including loaders for various model
file formats
-
An object manager that handles collections of objects and
provides user interaction with multiple objects
|