3D Graphics Rendering and Terrain Modeling - PowerPoint PPT Presentation

About This Presentation
Title:

3D Graphics Rendering and Terrain Modeling

Description:

Technology and Historical Overview By Ricardo Veguilla Overview Introduction to 3D Computer Graphics OpenGL SGI vs Linux 3D Animation Terrain Modeler: Project Status ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 60
Provided by: eceUprmE9
Learn more at: http://www.ece.uprm.edu
Category:

less

Transcript and Presenter's Notes

Title: 3D Graphics Rendering and Terrain Modeling


1
3D Graphics Rendering and Terrain Modeling
  • Technology and Historical Overview

By Ricardo Veguilla
2
Overview
  • Introduction to 3D Computer Graphics
  • OpenGL
  • SGI vs Linux
  • 3D Animation
  • Terrain Modeler Project Status

3
Introduction 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.

4
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.

5
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.

6
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.

7
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.
8
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.

9
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.

10
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.

11
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

12
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.

13
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.

14
Screen Space
  • 2D space that represents the boundaries of the
    image to be produced.
  • Many optimization techniques are performed on
    screen space.

15
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.

16
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.

17
Types of Rendering Algorithms
  • Two general approaches
  • Pixel-oriented rendering
  • Ray tracers
  • Polygon-oriented rendering
  • Scan-line renderers

18
Ray tracers
  • Operates by tracing theoretical light rays as
    they intersect objects in the scene and the
    projection plane.

19
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.

20
Radiosity
  • Technique that models the inter-reflections of
    diffuse light between surfaces of the world or
    environment.
  • Produces more photorealistic illumination and
    shadows.

21
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.

22
Illumination for scan-line renderers
  • Lighting and shading is calculated using the
    normal vector.
  • The color is linearly interpolated across the
    polygon surface.

23
Common shading techniques scan-line renderer
  • Flat shading
  • Gouraud Shading
  • Phong Shading

24
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.

25
Gouraud Shading
  • A normal vector is calculated at each vertex.
  • Color is calculated for each vertex and
    interpolated across the polygon

26
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

27
Polygon shading techniques compared
28
Viewing frustum
  • Segment of the 3D world to be rendered
  • Objects outside the viewing volume are ignored.

29
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

30
Painters Algorithm
  • Polygon-oriented.
  • All the polygons are sorted by their depth and
    then displayed in this order.

31
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.

32
Perspective Projection
  • Projects the 3D world to a 2D image

33
  • The Open Graphics Language

34
OpenGL 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.

35
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.

36
OpenGL - Code Example
  • How to define a triangle
  • glBegin (GL_TRIANGLES)
  • glVertex (0,0,0)
  • glVertex (1,1,0)
  • glVertex (2,0,0)
  • glEnd ()

37
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

38
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.

39
SGI vs Linux
  • VS

40
SGI vs Linux
  • Linux is quickly becoming the preferred OS for
    OpenGL and 3D computer graphics development.
  • Today Linux dominates one of SGIs most
    controlled market Movie Special Effects.
  • Why?

41
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.

42
SGIs 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 SGIs hardware.
  • Most of the 3D rendering software was developed
    for IRIX (SGIs UNIX OS).

43
SGI economics disadvantages
  • SGIs workstations are expensive.
  • Historically FX houses purchased large amount of
    SGIs, which were amortized over several movies
    (usually 5 years).

44
The rise of Lintel (LinuxIntel)
  • 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.

45
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.

46
Lintel economic benefits
  • Using Lintel, a large portion of the hardware
    costs can be recouped with every movie.
  • Buying a new render-farm for each new movie is
    economically viable.

47
Not just for the render-farm
  • Initially Linux was used for render-farm.
  • Now it is used for the graphic workstation as
    well.
  • It is even displacing Apple computers as the
    standard platform for video/film editing and
    compositing.

48
Results?
  • Movies created using Lintel
  • Titanic
  • Star Wars Prequel Trilogy
  • The Harry Potter Movies
  • The Lord of the Rings Trilogy
  • Shrek and Shrek 2
  • Practically every movie involving special-effects
    made after the year 2000

49
Lintel on other 3D graphics areas.
  • The Lintel cost/performance also benefits the
    academic/scientific applications of 3D computer
    graphics.
  • Heavily used in automotive and aeronautics
    industries for solid modeling and simulations.

50
3D Animation
51
Luxo Jr.
  • The first film produced by Pixar in 1986.
  • It demonstrates the use of ray tracing to
    simulate the shifting light and shadow given by
    the animated lamps as well as simple surface
    textures.
  • It was the first CGI film to be nominated for an
    Academy Award.

52
Luxo Jr. Returns
  • 16 years after the debut of Luxo Jr., Steve Jobs
    demonstrated the same animation running in
    real-time on a Apple G5 computer with an Nvidia
    Geforce 3 GPU (Graphics Processor Unit).
  • On 1985 - Rendering each frame of the original
    animation took 55 hours of processing on a Cray
    Supercomputer
  • On 2001 Rendering each frame took 1/30 of a
    second on a personal computer

53
  • Terrain Modeler
  • Project Status

54
Previously implemented features
  • Application developed in C and tested exclusively
    on SGI.
  • Terrain image loading tested with a 201x201
    Matlab generated input file.
  • Terrain Modeling with OpenGL using points or
    unshaded polygons.
  • Fixed camera.
  • Terrain rotation and scaling.
  • Limited option for Level-of-detail (LOD)
    rendering.

55
Newly Implemented Features
  • Support for Autotools for cross-platform
    development (currently tested on SGI and Linux).
  • Code modularization and refactoring.
  • Full virtual camera.
  • Memory Manager subsystem for monitoring memory
    utilization.
  • Preliminary Lighting support.
  • Preliminary support for rendering multiple
    terrains.

56
Future Improvements
  • Full windowed application.
  • Support for screen captures.
  • Support for Land-marking (3D bookmarks)
  • Support for animation scripting and recording.
  • Support for simultaneous rendering of multiple
    terrains.

57
Future Improvements (Cont.)
  • Restructure code to accommodate three module
    abstraction layers
  • IO Layer Modules for reading and writing
    terrain files of different formats.
  • Sampling Layer Modules implementing different
    LOD algorithms with user-selected sampling value.
  • Rendering Layer Modules for rendering the
    terrain using different OpenGL primitives,
    rendering attributes and vendor-optimized code
    paths.

58
Long-term
  • Porting the project to Jogl Java OpenGL
  • http//java.sun.com/products/jfc/tsc/articles/jcan
    yon/

59
References
  • Wikipidia The Free Encyclopedia
  • http//www.wikipedia.org/
  • OpenGL - The Industry Standard for High
    Performance Graphics
  • http//www.opengl.org/
  • Google Image Search
  • http//images.google.com
  • Overview of 3D Interactive Graphics
  • http//www.siggraph.org/project-grants/com97/com97
    -tut.html
  • Linux Journal - Industry of Change Linux Storms
    Hollywood
  • http//www.linuxjournal.com/article/5472
  • JCanyon - Grand Canyon Demo
  • http//java.sun.com/products/jfc/tsc/articles/jcan
    yon/
Write a Comment
User Comments (0)
About PowerShow.com