3D Graphics Rendering and Terrain Modeling Overview

3D Graphics Rendering and Terrain Modeling Overview

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

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    59 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us