Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.

Similar presentations


Presentation on theme: "COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS."— Presentation transcript:

1

2 COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS

3 RASTERIZATION CS 482 – FALL 2015 TRADITIONAL RENDERING PIPELINE SEPTEMBER 29, 2015: RENDERINGPAGE 113 THE TRADITIONAL APPROACH TO RENDERING A 3D SCENE HAS BEEN TO START WITH THE OBJECTS IN OBJECT SPACE AND DETERMINE WHAT PIXELS THEY AFFECT IN IMAGE SPACE. STEP 1 START WITH A SET OF 3D PRIMITIVES (E.G., TRIANGLES) AND APPLY ALL NEEDED TRANSFORMATION S STEP 2 ILLUMINATE THE PRIMITIVE VERTICES ACCORDING TO THEIR MATERIAL PROPERTIES, THEIR NORMAL VECTORS, AND THE LIGHT SOURCES STEP 3 CONVERT FROM WORLD SPACE TO EYE SPACE BY MOVING VIEW POSITION TO ORIGIN AND VIEWING DIRECTION ALONG Z- AXIS STEP 4 CLIP AGAINST VIEW FRUSTUM TO ELIMINATE UNNECESSA RY RENDERING STEP 5 USE PERSPECTIV E PROJECTION TO PROJECT TO 2D SCREEN SPACE STEP 6 MAP ALL PRIMITIVE VERTICES TO THEIR APPROPRIAT E PIXELS STEP 7 INTERPOLATE REMAINING PRIMITIVE PIXEL VALUES (COLOR, SHADING, DEPTH, ETC.) STEP 8 LOAD FRAME BUFFER WITH CLOSEST PIXEL VALUE IN DEPTH BUFFER

4 RASTERIZATION CS 482 – FALL 2015 ADVANTAGES & DISADVANTAGES SEPTEMBER 29, 2015: RENDERINGPAGE 114 UNTIL RECENTLY, RASTERIZATION HAS BEEN THE STANDARD APPROACH TO RENDERING. VIRTUALLY EVERY OPERATION IN THE RASTERIZATION PIPELINE HAS BEEN IMPLEMENTED AS A FIXED-FUNCTION ON GRAPHICS CARDS. BECAUSE NONE OF THE PRIMITIVES MUST BE COMPARED IN ANY OF THE RASTERIZATION STEPS, RASTERIZATION POSSESSES A BUILT-IN EFFICIENCY. UNFORTUNATELY, SOME OF THE MOST BASIC VISUAL EFFECTS (E.G., REFLECTION, SHADOWS, GLOBAL ILLUMINATION) REQUIRE ACCESS TO THE ENTIRE SCENE. THESE EFFECTS CAN ONLY BE ROUGHLY APPROXIMATED WITH RASTERIZATION.

5 RAY CASTING CS 482 – FALL 2015 OVERVIEW SEPTEMBER 29, 2015: RENDERINGPAGE 115 WITH THE DEVELOPMENT OF FAST GRAPHICS PROCESSING, AN ALTERNATIVE RENDERING APPROACH HAS ARISEN. ESSENTIALLY, A RAY IS CAST THROUGH THE CENTER OF EACH PIXEL IN THE DISPLAY AND THE PIXEL IS ASSIGNED THE COLOR OF THE CLOSEST OBJECT IN THE SCENE THAT IS BLOCKING THAT RAY.

6 RAY CASTING CS 482 – FALL 2015 MODERN RENDERING PIPELINE SEPTEMBER 29, 2015: RENDERINGPAGE 116 USING RAY CASTING TO RENDER A 3D SCENE INVOLVES A DECEPTIVELY SHORT LIST OF STEPS. STEP 1 ONE BY ONE, SEND A RAY FROM THE VIEWPOINT THROUGH THE CENTER OF EACH PIXEL STEP 2 DETERMINE THE CLOSEST INTERSECTIO N OF EACH RAY WITH THE PRIMITIVES COMPRISING THE SCENE STEP 3 USING THE MATERIAL PROPERTIES OF THAT PRIMITIVE, AS WELL AS ITS NORMAL VECTOR AND THE POSITION OF ALL LIGHT SOURCES, DETERMINE THE SHADED COLOR OF THE PRIMITIVE AT THE INTERSECTION POINT STEP 4 COLOR THE PIXEL WITH THE CALCULATED COLOR FOR THE INTERSECTIO N POINT

7 RAY CASTING CS 482 – FALL 2015 DISADVANTAGES SEPTEMBER 29, 2015: RENDERINGPAGE 117 RAY CASTING’S PRIMARY PROBLEMS INVOLVE EXCESSIVE COMPUTATION TIME, WITH A WORST-CASE TIME COMPLEXITY OF THE PRODUCT OF THE NUMBER OF PIXELS AND THE NUMBER OF POLYGONS IN THE SCENE. THE TIME COMPLEXITY OF RAY CASTING CAN BE DRAMATICALLY REDUCED BY CONDUCTING THE INITIAL RAY INTERSECTION TEST WITH BOUNDING SPHERES THAT SURROUND THE OBJECTS. IF THE RAY DOESN’T INTERSECT THE BOUNDING SPHERE, THEN IT CAN’T INTERSECT THE OBJECT; ONLY WHEN THE RAY DOES INTERSECT THE BOUNDING SPHERE IS IT NECESSARY TO DO THE MORE SERIOUS INTERSECTION COMPUTATIONS WITH THE OBJECT. ANOTHER WAY OF AVOIDING UNNECESSARY CALCULATIONS IS TO USE SPATIAL SUBDIVISION. BY DETERMINING WHICH SECTORS OF SPACE INCLUDE WHICH OBJECTS, THE RAY CASTING ALGORITHM MAY AVOID CONCERNING ITSELF WITH INTERSECTIONS BETWEEN RAYS AND SECTORS THAT THE RAYS NEVER ENTER.

8 RAY CASTING CS 482 – FALL 2015 ADVANTAGES SEPTEMBER 29, 2015: RENDERINGPAGE 118 WHEN SECONDARY RAYS ARE COMPUTED FROM THE PRIMARY RAY’S INTERSECTION POINT, RAY CASTING IS ENHANCED TO BECOME RAY TRACING, WHICH PERMITS THE CALCULATION OF REALISTIC SHADOWS, REFLECTIONS, AND REFRACTIONS (ALBEIT AT A VERY STEEP INCREASE IN COMPUTATIONAL OVERHEAD). RAY CASTING IS PARTICULARLY VALUABLE WHEN RENDERING VOLUMETRIC DATA. EACH RAY CAST THROUGH A PIXEL IS SAMPLED AT REGULAR INTERVALS AND THE ASSOCIATED VOXEL DATA IS COMBINED TO FORM A CLEARER NOTION OF THE ENTIRE VOLUME OF THE OBJECT, NOT JUST ITS SURFACE INFORMATION.

9 PROGRAMMABLE SHADERS CS 482 – FALL 2015 FIXED-FUNCTION PROBLEMS SEPTEMBER 29, 2015: RENDERINGPAGE 119 THE FIXED-FUNCTION GRAPHICS PIPELINE COULD BE IMPLEMENTED IN BOTH SOFTWARE AND HARDWARE WITH PREDICTABLE RESULTS ACROSS ALL COMPUTING PLATFORMS. HOWEVER, NUMEROUS GRAPHICS OPERATIONS DO NOT LEND THEMSELVES TO THE FIXED-FUNCTION APPROACH. EYE-SPACE- DEPENDENT MODELING (E.G., RAINBOW MODELING, BASED ON WATER DROPLETS DEFINING A PARTICULAR ANGLE BETWEEN THE EYE AND THE LIGHT) ANISOTROPIC SHADING (E.G., A BRUSHED METAL EFFECT NOT ACHIEVABLE WITH TRADITIONAL AMBIENT, DIFFUSE, AND SPECULAR LIGHTING EFFECTS) SCALE-INDEPENDENT TEXTURE EFFECTS (E.G., AUTOMATICALLY ADJUSTING THE TEXTURE BEING DISPLAYED TO THE CURRENT ZOOM FACTOR) CREATING GEOMETRY (E.G., ADJUSTING THE LEVEL OF DETAIL AS NEEDED IN ORDER TO ADAPT THE DISPLAYED IMAGE TO THE CURRENT SCREEN SPACE AND PROCESSING CAPABILITIES) THE NOTION OF INSERTING PROGRAMMABLE SHADERS AT KEY PLACES IN THE RENDERING PIPELINE WAS DEVELOPED AS A MEANS TO CREATE NEW EFFECTS WITHOUT HAVING TO PERMANENTLY ALTER THE RENDERER’S CODE OR THE GPU’S ARCHITECTURE.

10 PROGRAMMABLE SHADERS CS 482 – FALL 2015 PIPELINE SEPTEMBER 29, 2015: RENDERINGPAGE 120 Input Assembler Stage Rasterizer Stage Output Merger Stage Vertex Shader Stage (Programmable) Geometry Shader Stage (Programmable) Fragment Shader Stage (Programmable) Stream Output Stage Memory Resourc es (Buffer, Texture, Constant Buffer) Memory Resourc es (Buffer, Texture, Constant Buffer) Tessellation Control Shader Stage (Programmable) Tessellation Primitive Generator Stage Tessellation Evaluation Shader Stage (Programmable) Fixed-Function Stages Function entry points that are directly mapped to dedicated logic for their named purpose (usually common geometry transformations and pixel- shading functions) on GPUs designed to support them. Fixed-Function Stages Function entry points that are directly mapped to dedicated logic for their named purpose (usually common geometry transformations and pixel- shading functions) on GPUs designed to support them. Programmable Shader Stages Programs that calculate customizable rendering effects on graphics hardware with a high degree of flexibility, defining algorithms and introducing external variables or textures to construct images that may be altered on the fly. Programmable Shader Stages Programs that calculate customizable rendering effects on graphics hardware with a high degree of flexibility, defining algorithms and introducing external variables or textures to construct images that may be altered on the fly.


Download ppt "COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS."

Similar presentations


Ads by Google