330 likes | 358 Views
Learn about the 3D computer graphics process, modeling techniques, surface models, and more. Explore 3D scanning, tools, and applications. Discover the Digital Michelangelo Project and surface reconstruction methods.
E N D
CSc 4820-6820Computer Graphics Algorithm Lecture 20 Overview of 3D Modeling Techniques Ying Zhu Georgia State University
Outline • The 3D computer graphics process • The 3D modeling techniques • Surface models • Polygon mesh models • Subdivision surfaces • Parametric curves and curved surfaces • Solid models • Procedural models
The 3D computer graphics process for movies • The modelers create 3D models using modeling tools • The animators create animations using animation tools • Eventually create frame-by-frame animation • The animation sequence is sent to the rendering software for rendering, one frame of an image at a time • The images are saved into one or more video files • Post-production, video editing, etc.
The 3D computer graphics process for games • The modelers create 3D models • 3D models are saved in model files • Animators create animation sequences for each 3D object • Saved in a library of motion sequences • Programmers write game programs that load and display the 3D models and animation sequences based on current game play • Game engine and game AI determines which model and which animation sequence to load
What is 3D modeling? • 3D modeling may include several activities • Edit the shape of individual objects • Edit the object surface material properties • Apply textures (texture mapping) • Apply bump-maps • Prepare a 3D model for animation • E.g. fit an object with a skeleton for later animation • Overall, 3D modeling is the process of creating a scene
How to do it? • Use 3D scanning • Use modeling and animation tools • E.g. Blender, 3DS Max, Maya, etc. • Use scene description language • E.g. POV-Ray • Use 3D graphics API (E.g. OpenGL, DirectX, etc.) • Procedural modeling • Reconstruct 3D objects from a set images
Hybrid approach • Get a real object or create a miniature object • Scan the real object or the miniature object to obtain a 3D digital model • Use modeling tools to edit and refine the 3D digital model
3D scanner • High accuracy, long range scanner • Range up to 800m • Accuracy up to 5mm • Measurement rate up to 12000 pts/sec • Field of view up to 80 x 360 • Applications: topography, mining, architecture, etc. Image courtesy of Riegl USA
3D scanner • Head and face scanner • Motion range: 0 – 360 degrees (cylindrical), 0 – 350mm (Y stage travel) • Applications: sculpture, VR, animation, medicine, etc. • Output file format: 3D Studio, PLY, OBJ, ASCII, etc. Image courtesy of Cyberware
How does 3D scanning work? • A light scanner uses projects a laser stripe across the object to be scanned. • The projected stripe is viewed by a camera so that height variations in the object can be seen as changes in the shape of the line. • Each viewed stripe forms a profile which is built up from several hundred measured points.
How does 3D scanning work? • Multiple profiles are captured and positioned in 3D space each second, resulting in a high accuracy high density 3D point cloud. • This 3D point data can processed to become a polygon mesh Images courtesy of 3dscanner.com
Surface reconstruction case study • The Digital Michelangelo Project. • 30 faculty, staff, and students from Stanford University and the University of Washington spent the 1998-99 academic year in Italy scanning the sculptures and architecture of Michelangelo. • The motivations are to advance the technology of 3D scanning, to place this technology in the service of the humanities, and to create a long-term digital archive of some important cultural artifacts. • More information at: http://graphics.stanford.edu/projects/mich/
The Digital Michelangelo Project • The largest dataset was of the David – 2 billion polygons and 7,000 color images. • For each statue and map fragment, researchers must • clean up the raw scans • align them with each other • merge them to form a seamless mesh • fill holes in this mesh • map color photographic data onto it. • Perhaps the biggest surface reconstruction project in history
The Digital Michelangelo Project • The resulting meshes contain hundreds of millions of polygons, so even a simple task like displaying them on a computer is challenging. • Need new ways to compress, transmit, and render large polygon meshes efficiently. • At present, researchers have built a full-resolution model Michelangelo's St. Matthew and several medium-resolution models of the head of David. • Scanview demonstration
Models from 3D scanning • The Stanford 3D scanning repository • http://graphics.stanford.edu/data/3Dscanrep/ • GA Tech large geometric models archive • http://www.cc.gatech.edu/projects/large_models/
Reconstruct objects from images • How to reconstruct objects from 3D medical images (MRIs, CT images, etc.)? • Hand tracing contours of the object and then connect the contours to create 3D surface model • The marching cubes algorithm (Lorensen & Cline, SIGGRAPH 1987) • http://www.exaflop.org/docs/marchcubes/index.html • Many other algorithms • This subject will be covered in my “Scientific Visualization” course
Polygon Mesh Models • The polygon mesh data structure is the most common and oldest modeling method for computer graphics. "Perspective Study of a Chalice", by Paolo Uccelloin 1430-1440, Florence, Italy
Polygon Mesh Method • A mesh is a collection of vertices and polygons that define the shape of an object • Meshes usually contain only triangles because it's easier to deal with triangles than general polygons • Benefits • Creating complex objects is simple. There are no limits to what a polygon mesh surface can do. • Drawbacks • Need to store large numbers of points in order to get a smooth surface. • Also, if you want to animate that surface, you have to determine a transformation for each of those points.
Issues with polygon mesh model • Model complexity vs. rendering speed • You need more and smaller polygons to model fine details of an object • But the more polygons you have in a scene, the slower the rendering • There is usually an upper limit (called polygon budget) for the number of polygons per scene • Especially for real-time graphics applications that requires 30+ frame/sec frame rate
Subdivision surfaces • The process of taking a low resolution polygon mesh and refining it to produce another shape that is more visually attractive (usually smooth) • Subdivision Surfaces are defined by an initial polygonal mesh, along with a subdivision (or refinement) operation. • Given a polygonal mesh, subdivision algorithm will generate a new mesh that has a greater number of polygonal elements, and is smoother
Parametric curves and surfaces • Use mathematical formulations to describe curves and surfaces • E.g. a NURBS surface
Solid modeling • Solid modeling describes the volume of space occupied by a solid • Necessary for many applications where objects must be maintained as solids. • Finite element analysis • CAD/CAM • Mass property determination • Every solid is defined and stored by its boundary, consists of faces, and includes the topology for each face
Procedural modeling • Some irregular or complex objects have dynamic topologies • Some objects have no solid surface • E.g. Smoke, water, etc. • Usually we need to write programs to generate these objects • E.g. particle systems, fractals, and L-systems
Modeling Natural Phenomena • Water (by Dr. Ron Fedkiw, et al.) • http://graphics.stanford.edu/~fedkiw/
Fire • Fire
Smoke • Smoke
Cloud • Cloud (by Dr. David Ebert) • http://dynamo.ecn.purdue.edu/~ebertd/cloud/
Plants and Flowers • Plants and flowers (by Dr. Przemyslaw Prusinkiewicz, et al.) • http://www.siggraph.org/education/materials/HyperGraph/modeling/procedural_modeling/plants_flowers/artificial_life_of_plants.htm
Terrain • Fractal method for terrain modeling (by Dr. Ken Musgrave) • www.kenmusgrave.com
Summary • The 3D computer graphics process • The 3D modeling techniques • Surface models • Polygon mesh models • Subdivision surfaces • Parametric curves and curved surfaces • Solid models • Procedural models
Reference • The Digital Michelangelo Project • http://graphics.stanford.edu/projects/mich/ • Download and try Blender • http://www.blender3d.com
Next lecture • Polygon mesh