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.
Top Related