Title: 3D Interactive Model of Carletons Campus
13D Interactive Model of Carletons Campus
- Paul Wilmes, Ed Williams, Henry Gross, Deborah
Chasman - Advisor Professor Jack Goldfeather
2The Campanile Movie UC-Berkeley
Source Paul Debevec and his research group.
http//www.debevec.org/Campanile/
3Our Tasks
- Compile a library of primitive objects
- Design class hierarchy
- Build editing software to assist in model
creation - Create an interactive viewer
- Make a model of Carleton!
4Outline
- The Model
- The Viewer
- Movement
- Textures and Lighting
- The Editor
- Demonstrations
- Future Plans
5The Model Class
- Contains sub-Models
- Contains ComplexObjects
- Allows interaction with model
- File I/O
- Drawing
- Transformation
- get/set commands
6Primitive Objects
- Collection of vertices
- Instructions for connecting the vertices to form
faces - Transformations from the unit version
7Complex Objects
- Any Complex or Primitive object or collection
thereof - ComplexObject
- Anything in the .co directory
- PrimitiveObject
- PrimitiveCube
- PrimitivePyramid
- PrimitiveCone
- PrimitiveSphere
- PrimitiveCylinder
- PrimitiveHalfCube
- PrimitiveRoof
- PrimitiveHalfCylinderWall
- PrimitiveThickHalfCylinderWall
8Transformations
- Transformation Class
- Translation, Rotation, Scale
- Matrix
- Matrix4x4f Class
Transformation Matrix
Original Vertex
Transformed Vertex
9Model Directory Structure
- Main Folder
- .co Complex Object directory
- Special Model files read in as ComplexObjects
- Model Files
- Objects that are part of the model
- (Other subdirectories)
- (Model Files)
10Viewer
- Viewer
- Overarching class
- Contains non-GL specific data
- GLViewer
- Handles all GL activity
11Viewer
- Interaction
- Takes all input and calls the appropriate
functions - InteractionListener
- Key/Mouse Listener for easy binding to
Interaction - Holds all functions for dealing with key binding
12Viewer
- Console
- Text-based way of sending commands directly to
interaction - Options
- GUI access to common interaction commands
13Lighting
- Light Properties
- Diffuse
- Ambient
- Specular
- Position
- Surface Properties
- Diffuse
- Ambient
- Specular
- Emission
Red, Green, Blue, Alpha (transparency)
14Yellow Sphere Surface Ambient and Diffuse 1 1
0 0 Default Ambient Light Setting .2 .2 .2 0
White Diffuse Light 1 1 1 0
Lighting Disabled
Red Diffuse Light 1 0 0 0
Green Diffuse Light 0 1 0 0
Blue Diffuse Light 0 0 1 0
15Textures
- Each face can have associated texture
- Texture can by any standard image format
- .bmp, .jpg, .gif
- Image must be 2n x 2m
16Textures
- Map co-ordinates of the image onto each vertex of
the face you are drawing the texture on
17Carleton without textures Carleton with
textures
18Editor
19Organization
- Provides the graphical interface through which
the user can interact with the underlying Model. - Ships the changed model off to the Viewer.
20Software Goals
Create Objects and Models
Modify those creations -Apply transformations -Col
or -Texture -Intuitive/flexible/tactile
interface for transformation
Be Aware of Current State of Model -See
attributes of current selection -Tree for
selection -Visual feedback from viewer
21Swing
- GUI (graphical user interface) toolkit for Java
- Listens for actions performed on the interface
- Text entry, button presses, slider movement, tree
selection
22(No Transcript)
23Demo Time!
24Features for the Future
- Collision Detection
- More object types with more options
- Support for splines (for terrain)
- More transformations (such as skewing)
- Network functionality
- Performance improvements
- Update the project to work for newer versions of
Java - More detail
25Acknowledgements
- Professor Jack Goldfeather
- Meg Gibbs
- Mike Tie
26Questions?