Status – Week 283 Victor Moya. 3D Graphics Pipeline Akeley & Hanrahan course. Akeley & Hanrahan...

Post on 21-Dec-2015

215 views 1 download

Tags:

Transcript of Status – Week 283 Victor Moya. 3D Graphics Pipeline Akeley & Hanrahan course. Akeley & Hanrahan...

Status – Week Status – Week 283283

Victor MoyaVictor Moya

3D Graphics Pipeline3D Graphics Pipeline

Akeley & Hanrahan course.Akeley & Hanrahan course. Fixed vs Programmable.Fixed vs Programmable. OpenGL MachineOpenGL Machine

3D Graphics Pipeline3D Graphics Pipeline

3D Graphics Pipeline3D Graphics Pipeline

Application: Simulation, Input event Application: Simulation, Input event handlers, modify data structures, database handlers, modify data structures, database traversal, primitive generation, utility traversal, primitive generation, utility functions.functions.

Command: command buffering, command Command: command buffering, command interpretation, unpack and perform format interpretation, unpack and perform format conversion, mantain graphics state.conversion, mantain graphics state.

Geometry: evaluation of polynomials for Geometry: evaluation of polynomials for curved surfaces, transform and projection, curved surfaces, transform and projection, clipping, culling and primitive assembly.clipping, culling and primitive assembly.

GeometryGeometry

Vertex operations:Vertex operations: (1) Transform coordinates and normal (1) Transform coordinates and normal

Model => World.Model => World. World => Eye.World => Eye.

(2) Normalize the length of the normal.(2) Normalize the length of the normal. (3) Compute vertex lightning.(3) Compute vertex lightning. (4) Transform texture coordinates.(4) Transform texture coordinates. (5) Transform coordinates to clip coordinates (5) Transform coordinates to clip coordinates

(projection).(projection). (8) Divide coordinate by w.(8) Divide coordinate by w. (9) Apply affine viewport transform (x, y, z).(9) Apply affine viewport transform (x, y, z).

GeometryGeometry

Primitive operations:Primitive operations: (6) Primitive assembly (6) Primitive assembly (7) Clipping:(7) Clipping: (10) Backface cull: eliminate back-(10) Backface cull: eliminate back-

facing triangles. facing triangles. Primitive generation: new pipeline Primitive generation: new pipeline

stage (ATI TruForm).stage (ATI TruForm).

RasterizationRasterization

Setup (per-triangle).Setup (per-triangle). Sampling (triangle = {fragments}.Sampling (triangle = {fragments}. Interpolation (interpolate colors Interpolation (interpolate colors

and coordinates).and coordinates).

RasterizationRasterization

Converts primitives to fragments.Converts primitives to fragments. Primitive: point, line, polygon, …Primitive: point, line, polygon, … Fragment: transient data structure Fragment: transient data structure

short x, y;short x, y;

long depth;long depth;

short r, g, b, a;short r, g, b, a;

Fragment selection.Fragment selection. Parameter Assignment (color, depth ...).Parameter Assignment (color, depth ...).

TextureTexture

Texture transformation and Texture transformation and projection.projection.

Texture address calculation.Texture address calculation. Texture filtering.Texture filtering.

FragmentFragment

Texture combiners and fog.Texture combiners and fog. Owner, scrissor, depth, alpha and Owner, scrissor, depth, alpha and

stencil tests.stencil tests. Blending or compositing.Blending or compositing. Dithering and logical operations.Dithering and logical operations.

DisplayDisplay

Gamma correction.Gamma correction. Analog to digital conversion.Analog to digital conversion.

Programmable PipelineProgrammable Pipeline

Vertex ProgramVertex Program

Vertex ProgramVertex Program

Fragment ProgramFragment Program

Fragment ProgramFragment Program

Some real examplesSome real examples

ATI R300.ATI R300. 3DLabs P10.3DLabs P10. Matrox Parhelia.Matrox Parhelia.

ATI R300. SpecsATI R300. Specs 0.15 micron technology0.15 micron technology 110+ million transistors.110+ million transistors. 8 pixel rendering pipelines, 1 texture unit per 8 pixel rendering pipelines, 1 texture unit per

pipeline, 16 textures per pass.pipeline, 16 textures per pass. 4 programmable vect4 vertex shader 4 programmable vect4 vertex shader

pipelines.pipelines. 256-bit DDR memory bus.256-bit DDR memory bus. Up to 256 MB of memory on board, clocket at Up to 256 MB of memory on board, clocket at

over 300 MHz (19,2 GB/s).over 300 MHz (19,2 GB/s). AGP8X.AGP8X. Full DirectX 9 Pixel and Vertex Shader support.Full DirectX 9 Pixel and Vertex Shader support.

ATI R300. Specs.ATI R300. Specs.

ATI R300. GPU.ATI R300. GPU.

ATI R300. Memory ATI R300. Memory Crossbar.Crossbar.

ATI R300. Vertex Shader.ATI R300. Vertex Shader.

ATI R300. Pixel Shader.ATI R300. Pixel Shader.

ATI R300. Pixel Shader.ATI R300. Pixel Shader.

3D Labs P10. Specs.3D Labs P10. Specs. 0.15-micron manufacturing process (same process as 0.15-micron manufacturing process (same process as

the GeForce4)the GeForce4) 76M transistors76M transistors Fabbed at TSMC (NVIDIA's chips are made here as well)Fabbed at TSMC (NVIDIA's chips are made here as well) 860 ball HSBGA package (TSMC's latest packaging 860 ball HSBGA package (TSMC's latest packaging

technology)technology) 4 pixel rendering pipelines, can process two textures 4 pixel rendering pipelines, can process two textures

per pipelineper pipeline 256-bit DDR memory interface (up to 20GB/s of memory 256-bit DDR memory interface (up to 20GB/s of memory

bandwidth w/ 312.5MHz DDR)bandwidth w/ 312.5MHz DDR) up to 256MB of memory on-boardup to 256MB of memory on-board AGP 4X supportAGP 4X support Full DX8 pixel and vertex shader supportFull DX8 pixel and vertex shader support

3DLabs P10. Evolution.3DLabs P10. Evolution.

3DLabs P10. Pipeline.3DLabs P10. Pipeline.

3DLabs P10. Pipeline.3DLabs P10. Pipeline.

3DLabs. Command.3DLabs. Command.

3DLabs. Vertex Units.3DLabs. Vertex Units.

3DLabs P10. Raster Pipe.3DLabs P10. Raster Pipe.

3DLabs P10. Texture Pipe.3DLabs P10. Texture Pipe.

3DLabs P10. Pixel Pipe.3DLabs P10. Pixel Pipe.

3DLabs P10. Virtual 3DLabs P10. Virtual Memory.Memory.

Matrox Parhelia. Specs.Matrox Parhelia. Specs. 0.15-micron GPU manufactured at UMC0.15-micron GPU manufactured at UMC 80 Million transistors80 Million transistors 4 pixel rendering pipelines, can process four 4 pixel rendering pipelines, can process four

textures per pipeline per clocktextures per pipeline per clock 4 programmable vect4 vertex shaders4 programmable vect4 vertex shaders 256-bit DDR memory bus (up to 20GB/s of 256-bit DDR memory bus (up to 20GB/s of

memory bandwidth w/ 312.5MHz DDR)memory bandwidth w/ 312.5MHz DDR) up to 256MB of memory on boardup to 256MB of memory on board AGP 4/8X supportAGP 4/8X support Full DX8 pixel and vertex shader supportFull DX8 pixel and vertex shader support

Matrox Parhelia. Pipeline.Matrox Parhelia. Pipeline.