Last Time More on using textures Mipmapping Texture boundaries Modeling intro 4 6 04 University of Wisconsin CS559 Spring 2004 Today Polygonal modeling Homework 6 out on Saturday or Sunday 4 6 04 University of Wisconsin CS559 Spring 2004 Modeling 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 CAD 4 6 04 University of Wisconsin CS559 Spring 2004 Issues 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 2004 Choosing 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 2004 Categorizing 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 0 4 6 04 University of Wisconsin CS559 Spring 2004 Parameterization 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 far 4 6 04 University of Wisconsin CS559 Spring 2004 Techniques 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 models 4 6 04 University of Wisconsin CS559 Spring 2004 Polygon Modeling Polygons are the dominant force in modeling for real time graphics Why 4 6 04 University of Wisconsin CS559 Spring 2004 Polygons 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 inertia 4 6 04 University of Wisconsin CS559 Spring 2004 What s Bad About Polygons What are some disadvantages of polygonal representations 4 6 04 University of Wisconsin CS559 Spring 2004 Polygons 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 instance 4 6 04 University of Wisconsin CS559 Spring 2004 Polygon 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 meshes 4 6 04 University of Wisconsin CS559 Spring 2004 Polygonal 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 2004 Polygon Soup Many polygon models are just lists of polygons struct Vertex float coords 3 struct Triangle struct Vertex verts 3 struct Triangle mesh n glBegin GL TRIANGLES for i 0 i n i glVertex3fv mesh i verts 0 glVertex3fv mesh i verts 1 glVertex3fv mesh i verts 2 glEnd 4 6 04 Important Point OpenGL and almost everything else assumes a constant vertex ordering clockwise or counter clockwise Default and slightly more standard is counter clockwise University of Wisconsin CS559 Spring 2004 Cube Soup struct Triangle Cube 12 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0 1 0 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 4 6 04 University of Wisconsin CS559 Spring 2004 0 1 0 1 1 0 Polygon Soup Evaluation What are the advantages What are the disadvantages 4 6 04 University of Wisconsin CS559 Spring 2004 Polygon Soup Evaluation What are the advantages It s very simple to read write transmit etc A common output format from CAD modelers The format required for OpenGL BIG disadvantage No higher order information No information about neighbors No open closed information No guarantees on degeneracies 4 6 04 University of Wisconsin CS559 Spring 2004 Vertex Indirection v0 v4 v1 v2 vertices faces 0 2 1
View Full Document
Unlocking...