
www.getmyuni.com Technology and Historical Overview 3D Graphics Rendering and Terrain Modeling www.getmyuni.com Overview • Introduction to 3D Computer Graphics • OpenGL • SGI vs Linux • 3D Animation • Terrain Modeler: Project Status www.getmyuni.comIntroduction to 3d Computer Graphics • 3D computer graphics is the science, study, and method of projecting a mathematical representation of 3D objects onto a 2D image using visual tricks such as perspective and shading to simulate the eye's perception of those objects. www.getmyuni.com 3D Graphics and Physics • 3D graphic software is largely based on simulating physical interactions. • Generally: • Space relations. • Light interactions. • In particular cases: • Material properties. • Object Movement. www.getmyuni.com Goals of 3D computers graphics • Practical goal: Visualization - to generate images (usually of recognizable subjects) that are useful in some way. • Ideal goal: Photorealism - to produce images indistinguishable from photographs. www.getmyuni.com Components of a 3D Graphic System • 3D Modeling: • A way to describe the 3D world or scene, which is composed of mathematical representations of 3D objects called models. • 3D Rendering: • A mechanism responsible for producing a 2D image from 3D models. www.getmyuni.com 3D Modeling • Simple 3D objects can be modeled using mathematical equations operating in the 3- dimensional Cartesian coordinate system. • Example: the equation x2 + y2 + z2 = r2 is a model of a perfect sphere with radius r. www.getmyuni.com Modeling considerations • Pure mathematical equations to represent 3D objects requires a great deal of computing power • Impractical for real-time applications such as games or interactive simulations. www.getmyuni.com Alternatives: Polygon Models • Modeling objects by sampling only certain points on the object, retaining no data about the curvature in between • More efficient, but less detailed. www.getmyuni.com Alternatives: Texture Mapping • Technique used to add surface color detail without increasing the complexity of a model. • An image is mapped to the surface of a model. www.getmyuni.com From 3D models to 2D images • A 3D world or scene is composed of collection of 3d models • Three different coordinates systems (or spaces) are defined for different model related operations: •Object Space •World Space •Screen Space www.getmyuni.com Object Space • The coordinate system in which a specific 3D object is defined. • Each object usually have its own object space with the origin at the object's center • The object center is the point about which the object is moved and rotated. www.getmyuni.com World Space • World space is the coordinate system of the 3D world to be rendered. • The position and orientation of all the models are defined relative to the center of the world space. • The position and orientation of the virtual camera is also defined relative to the world space. www.getmyuni.com Screen Space • 2D space that represents the boundaries of the image to be produced. • Many optimization techniques are performed on screen space. www.getmyuni.com Mathematics of 3D graphics • 3D operations like translation, rotation and scaling are performed using matrices and lineal algebra. • Each operation is performed by multiplying the 3D vertices by a specific transformation matrix. www.getmyuni.com 3D Rendering • The process of taking the mathematical model of the world and producing the output image. • The core of the rendering process involves projecting the 3D models onto a 2D image plane. www.getmyuni.com Types of Rendering Algorithms • Two general approaches: • Pixel-oriented rendering: • Ray tracers • Polygon-oriented rendering: • Scan-line renderers www.getmyuni.com Ray tracers • Operates by tracing theoretical light rays as they intersect objects in the scene and the projection plane. www.getmyuni.com Ray tracer limitations • Processor intensive. A full ray tracer is impractical for real-time applications. • Does not take into account inter-reflections of diffuse light, resulting in hard shadows. www.getmyuni.com Radiosity • Technique that models the inter-reflections of diffuse light between surfaces of the world or environment. • Produces more photorealistic illumination and shadows. www.getmyuni.com Scan-line renderers • Operate on an object-by-object basis, directly drawing each polygon to the screen. • Requires all objects – including those modeled with continuous curvature – to be tessellated into polygons. • Polygons are eventually tessellated into pixels. www.getmyuni.com Illumination for scan-line renderers • Lighting and shading is calculated using the normal vector. • The color is linearly interpolated across the polygon surface. www.getmyuni.comCommon shading techniques scan- line renderer •Flat shading •Gouraud Shading •Phong Shading www.getmyuni.com Flat Shading • The color of the polygon is calculated at the center of the polygon by using the normal vector. • The complete polygon surface is uniformly lighted. www.getmyuni.com Gouraud Shading • A normal vector is calculated at each vertex. • Color is calculated for each vertex and interpolated across the polygon www.getmyuni.com Phong Shading • The normal vectors are interpolated across the surface of the polygon • The color of each point within the polygon is calculated from its corresponding normal vector www.getmyuni.comPolygon shading techniques compared www.getmyuni.com Viewing frustum • Segment of the 3D world to be rendered • Objects outside the viewing volume are ignored. www.getmyuni.com Hidden surface determination • Not all objects inside the viewing frustum are always visible from the point of view of the camera. • Not all polygons of a particular object are visible from the point of view of the camera. • Common Techniques • Painters Algorithm • Z-Buffering www.getmyuni.com Painter’s Algorithm • Polygon-oriented. • All the polygons are sorted by their depth and then displayed in this order. www.getmyuni.com Z-Buffering • Pixel-oriented. • When multiple objects overlap (from the point of view of the camera) on a particular pixel, only the value of the pixel closest to the camera is used. • Implemented by saving the depth value of each displayed pixel in a buffer, and comparing the depth of each new overlapping pixel against the value in the buffer. www.getmyuni.com Perspective Projection • Projects the 3D world to a 2D image www.getmyuni.com The Open Graphics Language www.getmyuni.comOpenGL – The Open Graphics Language • De facto Application Programming Interface (API) for cross-platform development of 3D graphics applications. • Implementations available for all major Operating Systems and hardware platforms. • Support for hardware accelerated 3D rendering. • Scalable, high-level, easy to use, well documented. www.getmyuni.com History of OpenGL • Originally released by SGI in the early 90s. • Descendant of IRIX GL. • Previous 3D graphics APIs were generally platform dependant. • Born out of market pressure for a cross-platform 3D API during the late 80s. www.getmyuni.com OpenGL - Code Example • How to define a triangle: glBegin (GL_TRIANGLES); glVertex (0,0,0); glVertex (1,1,0); glVertex (2,0,0); glEnd (); www.getmyuni.com Development with OpenGL • OpenGL API designed only for drawing images. • Auxiliary visual toolkits are required for developing OpenGL applications for modern windowed desktop environments. • Potential options: • GLUT, SDL, GTK+ www.getmyuni.com Potential Auxiliary Toolkits • GLUT: Specifically designed for developing OpenGL demo applications. • SDL (Simple DirectMedia Layer): Library for multimedia and game development. • GTK+: General purpose toolkit for creating graphical user interfaces with OpenGL extensions available. www.getmyuni.com SGI vs Linux VS www.getmyuni.com SGI vs Linux • Linux is quickly becoming the preferred OS for OpenGL and 3D computer graphics development. • Today Linux dominates one of SGI’s most controlled market: Movie Special Effects. • Why? www.getmyuni.com SGI and Hollywood • Special effects production pipeline involves: • The graphic workstation – Used by the artists to create the models and textures used in the visual effects sequence. • The render-farm – A computer cluster dedicated for rendering the images or animations that form the visual effect sequence. www.getmyuni.com SGI’s Market dominance • SGI dominated the market of 3D graphics solutions during the 80s and 90s. • SGI hardware provided excellent performance for rendering calculations combined with a fast video subsystem. • The computer special effects market was locked-in to SGI’s hardware. • Most of the 3D rendering software was developed for IRIX (SGI’s UNIX OS). www.getmyuni.com SGI economics disadvantages • SGI’s workstations are expensive. • Historically FX houses purchased large amount of SGIs, which were amortized over several movies (usually 5 years). www.getmyuni.com The rise of Lintel (Linux+Intel) Causes: • The development of Linux (an open source UNIX clone for the PC) during the 90s. • The continuous performance increase of the Intel CPUs. • The development of consumer-level 3D acceleration hardware for the PC driven by the growing video game market. www.getmyuni.com Why the switch to Lintel? • Lintel platform provides a higher cost/performance ratio. • Linux is a POSIX complaint UNIX clone, porting the software from IRIX is trivial. • Linux is open-source and runs in multiple-architectures which greatly limits the possibility of vendor lock-in. www.getmyuni.com Lintel economic benefits • Using Lintel, a large portion
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages59 Page
-
File Size-