7 jrowanFall2012VectorGraphics3D.ppt

Download Report

Transcript 7 jrowanFall2012VectorGraphics3D.ppt

Digital Media
Lecture 7: Vector Graphics 3D
Georgia Gwinnett College
School of Science and Technology
Dr. Jim Rowan
3D
X & Y like 2D graphics
 Z is Height (or depth)

3D
3D shapes (objects) are defined by
their surfaces
 Complicated because a 3D object
(inside the computer) must be
translated into 2D to be viewed…


And you need to:
– specify the viewpoint, a camera
– specify the lighting
3D

Specifying the camera and the
lighting has one huge advantage over
2D
– Automatically generates all of shadows

BUT… rendering (converting 3D to 2D)
is extremely computationally expensive
(demanding, time consuming)
– It can be slow!
3D

Lighting has different characteristics and
must be specified
–
–
–
–
–
natural or artificial
spot or flood
color
multiple sources
reflections off other objects in the scene
Atmosphere must be intentionally
included
 Surface texture must be specified

Issues of focus/atmosphere
Examples from Sintel
Sintel Example
Managing Complexity
Structural hierarchy

Things in the real world are
compositions of smaller things

Things in the 3-D graphics world are
also compositions of smaller things

Hierarchical structure is an excellent
way of coping with complexity

Also seen in object-oriented
programming like Java and Squeak!
3D Models
So…

How do you build a model inside a
computer when you can’t touch it?
Constructive Solid Geometry
 Free Form: Bezier Surfaces
 Free Form: Extrusion
 Procedural modeling

3D models

Constructive solid geometry
– building things from known shapes
– uses geometric solids: cube, cylinder,
sphere and pyramid
– objects build by squishing and
stretching those objects
– objects joined using union,
intersection and difference
Intersection
Difference
Union or just two objects?
Free Form
Building things one side at a time


Uses an object’s surface (it’s boundary with
the world) to define it
Build surfaces from flat polygons or curved
patches
– flat polygons are easier to render and therefore
frequently used in games where computational
power is limited



Results in an object drawn as a “mesh”
Can be done using Bezier surface patch but
they have 16 control points!
More tractable (do-able) patch uses a surface
called a non-rational B-spline
Free Form: Extrusion
Building things using a play-doh
factory
 Move a 2 dimensional shape
through space along a line
 The line can be straight or curved
Procedural modeling

Best known is based on Fractals
– Fractals
– exhibit the same structure at all levels of
detail aka “self similar”
– used to model natural objects

Particle systems... many particles, few
controls
– Fur, hair, grass…

Physics... distribution of mass,
elasticity, optical properties, laws of
motion
3D Rendering
Rendering engine handles the
complexity
 Wire frames are used to preview
objects and their position

– can’t tell which surface is closer to us and
which surface is hidden

To save computation time, hidden
surfaces are removed before rendering
– Why render what can’t be seen?
3D rendering

Lighting
– Added to scene much like an object
– spot light, point source, floodlight...
– position and intensity

Direct relationship between rendering
quality and computational
burden(render time)