digital media dr. jim rowan itec 2110 vector graphics ii
TRANSCRIPT
Digital Media
Dr. Jim Rowan
ITEC 2110
Vector Graphics II
Vector Graphics3-D... 3 dimensions
• x, y and z• x & y form the ground plane• z is the height
3D
• 3D shapes (objects) are defined by their surfaces
• Made even more complicated by the fact that a 3D object inside the computer must be translated into 2D to be rendered…
• This results in the need to – specify the viewpoint, a camera– specify the lighting
3D
• But… having to specify the camera and the lighting buys you one huge advantage that you do not get when doing 2D
• rendering automatically generates all of shadows
• BUT… rendering is extremely computationally expensive (demanding, time consuming)
3-D: even more complexity
• 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
http://wiki.ggc.usg.edu/mediawiki/index.php/Content_group_2#Lecture_8_Content_group_2_Vector_Graphics_3D
issues of focus/atmosphereexamples from Sintel
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: Extrusion
• Meat balls
• 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 2 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 playdoh factory• Draw a 2 dimensional shape through
space along a line• The line can be straight or curved
Meat balls
• Reacts like soft objects rather than hard, solid ones
• Think of the objects as having surface tension• Kinda like an uncooked meatball, press two
of them together and they “squish”
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– http://en.wikipedia.org/wiki/Fractal
• Particle systems... many particles, few controls• 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
3-D rendering
• Shading... how light reacts with surface– Based roughly on physics but modified by
heuristics (rules derived from experience)– Examples ===>
• Texture mapping– An image is mathematically wrapped around the
object
3-D rendering• Light reflecting off objects of one color affect the color
and lighting of surrounding objects– Ray tracing Complex... must be repeated for pixel
in the image... photo-realistic results – Wayne Wooton Pixar– Radiosity
Questions?