3-d rendering peter moore jackson cwach. what 3-d rendering is 3d rendering is the 3d computer...
TRANSCRIPT
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 models into 2D images with 3D photorealistic effects or non-photorealistic rendering on a computer.
What it’s used for• Real time
• Video games• Drafting• Marketing
• Pre-rendering• Movies• Animation• Photo-realistic renders
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
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
Examples of 3-D Rendering• Architectural Models
4/8/14
• Concept cars
• Concept kitchen
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.
• 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
Teapot Images
4/8/14
The actual Teapot (top) and the rendered teapot (left)
Types of Algorithms
•Ray Casting
•Ray Tracing
•Radiosity
•Rasterization
•and more!
• 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
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
Ray Tracing in Action!
4/8/14
A Great Example of Ray-Tracing
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
Radiosity Examples
Radiosity in progress (top)And a finished example, note the light Reflection on the chairs and metal bars
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
Rasterization Example
Determining squares for objects (left)And selecting pixel squares process (bottom)
Fast Inverse Square RootWhat it is and why we want it
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
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.
Questions
????
4/8/14