GORT: Specifications

Download Report

Transcript GORT: Specifications

GORT: Specifications
Leon Kania – Haipin Cua – Thoren McDole – Chang Huang
Application
 Educational tool and a programming utility
for programmers who wants to visually
design and build 3D objects.
– Educational: A programmer can draw 3D
objects, output the code, and be able to learn
OpenGL by dissecting code.
– Programming Utility: Facilitates visual design of
3D objects and their environment. A
programmer may output working code and
modify it to suit his/her purposes.
Requirements: Functional
 File Management
– New, Open, Save, Save As
 Edit Capabilities
– Cut, Copy, Paste, Delete, Select, Select Inverse, Undo,
Redo, Group, Ungroup
 View Capabilities
– Zoom In/Out, Orthogonal View, Pan, Free Rotate
 Transform Capabilities
– Affine transformations and perspective transformations
 Scale, Rotate, Translate, Shear
Requirements: Functional
 Draw Primitives
– Box, Sphere, Cone, Cylinder, Pyramid, Plane
 Compose Primitives
– Union, Intersection, Subtraction
 Add Material
– Color, Reflective Properties (interaction with
environment), opacity.
 Export file
– OpenGL
Composition Mechanism
Requirements: Non-Functional
 Program for Unix environment
 C/C++, GTK+2.0, OpenGL, XML, gtkGL
extensions, STL
 Extensible
– Underlying code is going to be designed to be simple
and organic.
 Portable
– OpenGL centric but underlying classes are going to be
designed so that other graphics API can be easily
accommodated.
Requirements: Non-Functional
 Implicit and Parametric
Definitions.
Screen Shot
Use Cases
Detailed Use Case
Scenario
 Draw Primitive
– User selects box primitive
– User specifies a center point in space by clicking on one of the view
ports. The unspecified axis defaults to zero.
– User drags to change initial scale.
 Initial scale is the distance between the initial click and the unclick.
–
–
–
–
–
Object is now drawn.
User copies and paste box primitive in the exact same location.
User translates the pasted box object by x number of units upward.
User applies a uniform scale reducing the size of the pasted box.
User subtracts the pasted box from the original box.
Scenario
Future Extensions
 Export to other formats.
– 3D Studio Max, Corel, Jpeg, GIF, Bitmaps, etc.
 More Objects
– Geo-sphere, Capsule, Disc, Torus, Tea-pot,
Spirals, Text, 2D Objects, NGons, Curves, etc.
 Advance Representations of Current
Primitives
– Bezier, NURBS, and other Splines.
 Lights and Cameras
Future Extensions
 Animation
– Robotics, Shrek, etc.
 Environmental Effects
– Fog, Combustions, Reflections, etc.
 Rendering Techniques
– Ray Tracing
 Multi-Threading
– Simultaneous rendering by multiple machines.
– Simultaneous editing by multiple artists.
Questions
 Why did the chicken cross the road?