DOC PREVIEW
UW-Madison CS 559 - CS 559 Lecture Notes

This preview shows page 1-2-16-17-18-34-35 out of 35 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 35 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Last TimeTodayModeling OverviewIssues in ModelingChoosing a RepresentationCategorizing Modeling TechniquesParameterizationTechniques We Will ExaminePolygon ModelingPolygons DominateWhat’s Bad About Polygons?Polygons Aren’t GreatPolygon MeshesPolygonal Data StructuresPolygon SoupCube SoupPolygon Soup EvaluationSlide 18Vertex IndirectionCube with IndirectionIndirection EvaluationOpenGL and Vertex IndirectionOpenGL and Vertex Indirection (v1)OpenGL and Vertex Indirection (v2)Yet More VariantsNormal VectorsCube with Indirection and NormalsStoring Other InformationIndexed Lists vs. PointersVertex PointersMeshes from ScanningScanning in ActionLevel Of DetailLevel of DetailProblems with Polygons4/6/04 © University of Wisconsin, CS559 Spring 2004Last Time•More on using textures•Mipmapping•Texture boundaries•Modeling intro4/6/04 © University of Wisconsin, CS559 Spring 2004Today•Polygonal modeling•Homework 6 out on Saturday or Sunday4/6/04 © University of Wisconsin, CS559 Spring 2004Modeling Overview•Modeling is the process of describing an object•Sometimes the description is an end in itself–eg: Computer aided design (CAD), Computer Aided Manufacturing (CAM)–The model is an exact description•More typically in graphics, the model is then used for rendering (we will work on this assumption)–The model only exists to produce a picture–It can be an approximation, as long as the visual result is good•The computer graphics motto: “If it looks right it is right”–Doesn’t work for CAD4/6/04 © University of Wisconsin, CS559 Spring 2004Issues in Modeling•There are many ways to represent the shape of an object•What are some things to think about when choosing a representation?4/6/04 © University of Wisconsin, CS559 Spring 2004Choosing a Representation•How well does it represents the objects of interest?•How easy is it to render (or convert to polygons)?•How compact is it (how cheap to store and transmit)?•How easy is it to create?–By hand, procedurally, by fitting to measurements, …•How easy is it to interact with?–Modifying it, animating it•How easy is it to perform geometric computations?–Distance, intersection, normal vectors, curvature, …4/6/04 © University of Wisconsin, CS559 Spring 2004Categorizing Modeling Techniques•Surface vs. Volume–Sometimes we only care about the surface•Rendering and geometric computations–Sometimes we want to know about the volume•Medical data with information attached to the space•Some representations are best thought of defining the space filled, rather than the surface around the space•Parametric vs. Implicit–Parametric generates all the points on a surface (volume) by “plugging in a parameter” eg (sin cos, sin sin, cos)–Implicit models tell you if a point in on (in) the surface (volume) eg x2 + y2 + z2- 1 = 04/6/04 © University of Wisconsin, CS559 Spring 2004Parameterization•Parameterization is the process of associating a set of parameters with every point on an object–For instance, a line is easily parameterized by a single value–Triangles can be parameterized by their barycentric coordinates–Polygons can be parameterized by defining a 2D space in the plane of the polygon, and using the 2D coordinates to give you 3D•Several properties of a parameterization are important:–The smoothness of the mapping from parameter space to 3D points–The ease with which the parameter mapping can be inverted–Many more•We care about parameterizations for several reasons–Texture mapping is the most obvious one you have seen so far4/6/04 © University of Wisconsin, CS559 Spring 2004Techniques We Will Examine•Polygon meshes–Surface representation, Parametric representation•Prototype instancing and hierarchical modeling–Surface or Volume, Parametric•Volume enumeration schemes–Volume, Parametric or Implicit•Parametric curves and surfaces–Surface, Parametric•Subdivision curves and surfaces•Procedural models4/6/04 © University of Wisconsin, CS559 Spring 2004Polygon Modeling•Polygons are the dominant force in modeling for real-time graphics•Why?4/6/04 © University of Wisconsin, CS559 Spring 2004Polygons Dominate•Everything can be turned into polygons (almost everything)–Normally an error associated with the conversion, but with time and space it may be possible to reduce this error•We know how to render polygons quickly•Many operations are easy to do with polygons•Memory and disk space is cheap•Simplicity and inertia4/6/04 © University of Wisconsin, CS559 Spring 2004What’s Bad About Polygons?•What are some disadvantages of polygonal representations?4/6/04 © University of Wisconsin, CS559 Spring 2004Polygons Aren’t Great•They are always an approximation to curved surfaces–But can be as good as you want, if you are willing to pay in size–Normal vectors are approximate–They throw away information–Most real-world surfaces are curved, particularly natural surfaces•They can be very unstructured•They are hard to globally parameterize (complex concept)–How do we parameterize them for texture mapping?•It is difficult to perform many geometric operations–Results can be unduly complex, for instance4/6/04 © University of Wisconsin, CS559 Spring 2004Polygon Meshes•A mesh is a set of polygons connected to form an object•A mesh has several components, or geometric entities:–Faces–Edges, the boundary between faces–Vertices, the boundaries between edges, or where three or more faces meet–Normals, Texture coordinates, colors, shading coefficients, etc•Some components are implicit, given the others–For instance, given faces and vertices can determine edges–Euler’s formula: #Faces + #Vertices – #Edges = 2 - 2Genus, for closed polygon meshes4/6/04 © University of Wisconsin, CS559 Spring 2004Polygonal Data Structures•Polygon mesh data structures are application dependent•Different applications require different operations to be fast–Find the neighbor of a given face–Find the faces that surround a vertex–Intersect two polygon meshes •You typically choose:–Which features to store explicitly (vertices, faces, normals, etc)–Which relationships you want to be explicit (vertices belonging to faces, neighbors, faces at a vertex, etc)4/6/04 © University of Wisconsin, CS559 Spring 2004Polygon Soupstruct Vertex {float coords[3];}struct Triangle {struct Vertex verts[3];}struct Triangle


View Full Document

UW-Madison CS 559 - CS 559 Lecture Notes

Documents in this Course
Filters

Filters

14 pages

Lecture 2

Lecture 2

24 pages

Clipping

Clipping

22 pages

Modeling

Modeling

33 pages

Filters

Filters

26 pages

Dithering

Dithering

33 pages

Lecture 4

Lecture 4

20 pages

Load more
Download CS 559 Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view CS 559 Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view CS 559 Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?