3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer...

23
3-D RENDERING Peter Moore Jackson Cwach

Transcript of 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer...

Page 1: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

3-D RENDERING

Peter Moore

Jackson Cwach

Page 2: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

What 3-D Rendering is• 3D rendering is the 3D computer graphics process of

automatically converting 3D wire frame models into 2D images with 3D photorealistic effects or non-photorealistic rendering on a computer.

Page 3: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

What it’s used for• Real time

• Video games• Drafting• Marketing

• Pre-rendering• Movies• Animation• Photo-realistic renders

Page 4: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

History of 3-D rendering• 3D rendering first needed in optimizing airplane cockpits• Started with an orthographic view designed by William

Fetter and evolved into a full image by use of the early program sketchpad, created by Ivan Sutherland

• Computer Aided Design(CAD) became possible and quickly took off

Page 5: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

History of 3-D rendering• 1963: First algorithm to eliminate hidden surfaces was

created• 1967: “The Little Red Book” was written. Within this book

lay all the knowledge needed to define 3D surfaces• Shaders to enhance the look

Page 6: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

Examples of 3-D Rendering• Architectural Models

Page 7: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

4/8/14

• Concept cars

• Concept kitchen

Page 8: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

How Algorithms are used• The type of algorithm(s) used are dependent on the intended purpose

of the rendered image(s). Different desired effects can incorporate more than one algorithm into the rendering process, such as lighting, shading, reflection, ect.

• For prerendering applications, the priority is focused on image accuracy. The desired image is expected to be rendered at a resolution suitable for discerning details. As an added bonus, algorithms are written to maximize runtime as well. The faster a scene can be rendered, the better the overall process.

• For real time applications, the minimum for render time is set at 1/24th of a second for movies and closer to 1/30th for video games. Anything slower than this will not cause the rendering to appear to happen in actual real time and the application will suffer in quality, such as frames per second and movement fluidity.

Page 9: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

• Standard reference model for the computer graphics industry because of its complex geometry. It had saddle points, a genus greater than 0 due to the hole in the handle, and can project a shadow onto itself.

• If the teapot appeared correct than one could assume their renderer was functional.

• Commonly used to test rendering software.

• Has become in-joke and hidden reference in many places such as in the Pipes screensaver for version of windows before XP 4/8/14

The Teapot

Page 10: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

Teapot Images

4/8/14

The actual Teapot (top) and the rendered teapot (left)

Page 11: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

Types of Algorithms

•Ray Casting

•Ray Tracing

•Radiosity

•Rasterization

•and more!

Page 12: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

• Send rays horizontally from the viewpoint into the scene.• Calculate distance to obstacle• Draw line centered vertically on the screen and scaled by

the distance• Any moving objects are flat sprites, always face the

camera• Complexity: O( W*N )

• W: Width of screen• N: Number of objects to check

Ray-Casting

Page 13: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

Ray-Tracing• Send rays from the eye through the screen and into the scene• On collision with obstacle send additional rays into the scene d

epending on the type of geometry hit• Refraction rays

• For glass geometry• Reflection rays

• For metallic geometry• Shadow rays

• For opaque geometry• Average the rays and that is the color of that pixel• Can handle most facets of rendering in one algorithm, shading/l

ighting/etc.• Complexity:O( W*H*N )

• W: Width of screen• H: Height of screen• N: Number of objects to check

Page 14: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

Ray Tracing in Action!

Page 15: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

4/8/14

A Great Example of Ray-Tracing

Page 16: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

Radiosity• Allows for the use of different lighting while rendering• Takes all of the surfaces which reflect light and the light

source itself when discerning where the shading and blending is done.

• Diffusely lights the whole scene

• Complexity: O( N^2 )• N: Number of subsurfaces

Page 17: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

Radiosity Examples

Radiosity in progress (top)And a finished example, note the light Reflection on the chairs and metal bars

Page 18: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

Rasterization• Is extremely fast compared to ray tracing, but only maps t

he pixels out and does not compute a way to color them or draw them on the screen.

• Geometry is broken up into triangles, each pixel on the screen checks if its center is inside the geometry. If it is then that pixel is mapped.

• After the rasterization, the pixels that are mapped are colored using scan conversion to decide which ones are to be colored and what color is to be used.

• Complexity: O( N )• N=number of triangles

Page 19: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

Rasterization Example

Determining squares for objects (left)And selecting pixel squares process (bottom)

Page 20: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

Fast Inverse Square RootWhat it is and why we want it

Page 21: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

Code of Fast Inverse Square Rootfloat Q_rsqrt( float number ){

long i;float x2, y;const float threehalfs = 1.5F;

x2 = number * 0.5F;y = number;i = * ( long * ) &y; // evil floating point bit level hackingi = 0x5f3759df - ( i >> 1 ); // what the fuck?y = * ( float * ) &i;y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration

// y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed

return y;}

4/8/14

Page 22: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

Conclusion• There is no best algorithm when it comes to 3D rendering,

rather it is a combination of algorithms to get the best looking result within some constraints. These algorithms take into account runtimes, clarity, and intended detail and purpose.

• This presentation has highlighted some of the most commonly used and key points to the art of 3-D rendering. There are many other possibilities and new ways being created to alter how we look at the virtual world around us.

Page 23: 3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.

Questions

????

4/8/14