gort: specifications leon kania – haipin cua – thoren mcdole – chang huang

Post on 18-Jan-2018

222 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

GORT: SpecificationsGORT: Specifications

Leon Kania – Haipin Cua – Thoren McDole – Chang HuangLeon Kania – Haipin Cua – Thoren McDole – Chang Huang

ApplicationApplication

Educational tool and a programming utility Educational tool and a programming utility for programmers who wants to visually for programmers who wants to visually design and build 3D objects.design and build 3D objects.– Educational: A programmer can draw 3D Educational: A programmer can draw 3D

objects, output the code, and be able to learn objects, output the code, and be able to learn OpenGL by dissecting code.OpenGL by dissecting code.

– Programming Utility: Facilitates visual design of Programming Utility: Facilitates visual design of 3D objects and their environment. A 3D objects and their environment. A programmer may output working code and programmer may output working code and modify it to suit his/her purposes. modify it to suit his/her purposes.

Requirements: FunctionalRequirements: Functional File ManagementFile Management

– New, Open, Save, Save AsNew, Open, Save, Save As Edit CapabilitiesEdit Capabilities

– Cut, Copy, Paste, Delete, Select, Select Inverse, Undo, Cut, Copy, Paste, Delete, Select, Select Inverse, Undo, Redo, Group, UngroupRedo, Group, Ungroup

View CapabilitiesView Capabilities– Zoom In/Out, Orthogonal View, Pan, Free RotateZoom In/Out, Orthogonal View, Pan, Free Rotate

Transform CapabilitiesTransform Capabilities– Affine transformations and perspective transformationsAffine transformations and perspective transformations

Scale, Rotate, Translate, ShearScale, Rotate, Translate, Shear

Requirements: FunctionalRequirements: Functional

Draw PrimitivesDraw Primitives– Box, Sphere, Cone, Cylinder, Pyramid, PlaneBox, Sphere, Cone, Cylinder, Pyramid, Plane

Compose PrimitivesCompose Primitives– Union, Intersection, SubtractionUnion, Intersection, Subtraction

Add MaterialAdd Material– Color, Reflective Properties (interaction with Color, Reflective Properties (interaction with

environment), opacity.environment), opacity. Export fileExport file

– OpenGLOpenGL

Composition MechanismComposition Mechanism

Requirements: Non-FunctionalRequirements: Non-Functional Program for Unix environmentProgram for Unix environment C/C++, GTK+2.0, OpenGL, XML, gtkGL C/C++, GTK+2.0, OpenGL, XML, gtkGL

extensions, STLextensions, STL ExtensibleExtensible

– Underlying code is going to be designed to be simple Underlying code is going to be designed to be simple and organic.and organic.

PortablePortable– OpenGL centric but underlying classes are going to be OpenGL centric but underlying classes are going to be

designed so that other graphics API can be easily designed so that other graphics API can be easily accommodated.accommodated.

Requirements: Non-FunctionalRequirements: Non-Functional

Implicit and Parametric Implicit and Parametric Definitions.Definitions.

Screen ShotScreen Shot

Use CasesUse Cases

Detailed Use CaseDetailed Use Case

ScenarioScenario Draw PrimitiveDraw Primitive

– User selects box primitiveUser selects box primitive– User specifies a center point in space by clicking on one of the view User specifies a center point in space by clicking on one of the view

ports. The unspecified axis defaults to zero.ports. The unspecified axis defaults to zero.– User drags to change initial scale.User drags to change initial scale.

Initial scale is the distance between the initial click and the unclick.Initial scale is the distance between the initial click and the unclick.– Object is now drawn.Object is now drawn.– User copies and paste box primitive in the exact same location.User copies and paste box primitive in the exact same location.– User translates the pasted box object by x number of units upward.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 applies a uniform scale reducing the size of the pasted box.– User subtracts the pasted box from the original box.User subtracts the pasted box from the original box.

ScenarioScenario

Future ExtensionsFuture Extensions

Export to other formats.Export to other formats.– 3D Studio Max, Corel, Jpeg, GIF, Bitmaps, etc.3D Studio Max, Corel, Jpeg, GIF, Bitmaps, etc.

More ObjectsMore Objects– Geo-sphere, Capsule, Disc, Torus, Tea-pot, Geo-sphere, Capsule, Disc, Torus, Tea-pot,

Spirals, Text, 2D Objects, NGons, Curves, etc.Spirals, Text, 2D Objects, NGons, Curves, etc. Advance Representations of Current Advance Representations of Current

PrimitivesPrimitives– Bezier, NURBS, and other Splines.Bezier, NURBS, and other Splines.

Lights and CamerasLights and Cameras

Future ExtensionsFuture Extensions

AnimationAnimation– Robotics, Shrek, etc.Robotics, Shrek, etc.

Environmental EffectsEnvironmental Effects– Fog, Combustions, Reflections, etc.Fog, Combustions, Reflections, etc.

Rendering TechniquesRendering Techniques– Ray TracingRay Tracing

Multi-ThreadingMulti-Threading– Simultaneous rendering by multiple machines.Simultaneous rendering by multiple machines.– Simultaneous editing by multiple artists.Simultaneous editing by multiple artists.

QuestionsQuestions

Why did the chicken cross the road?Why did the chicken cross the road?

top related