Escolar Documentos
Profissional Documentos
Cultura Documentos
Chris Seitz
3D Scene = Image =
Collection of Array of pixels
3D primitives (triangles, lines, points)
CPU
System Memory
Graphics Board
Video Memory
GPU
Transform Rasterize
position: triangle
3D -> screen
Interpolate
Compute vertex attributes
attributes
Shade
pixels
Resolve
visibility
©2004 NVIDIA Corporation. All rights reserved.
2D Triangles Bus
(PCI) Frame
2D Triangles Textures
Buffer
Textures
Scissor Test
Fragment
tested against scissor rectangle
Screen Position Alpha Test
(x, y) Frame Buffer
tested against reference value
Alpha Value Stencil Test Stencil Buffer
a
stencil buffer value at (x, y)
tested against reference value Z-Buffer
Depth Z Test
z
Color Buffer
tested against z-buffer value at (x, y)
Color Alpha Blending Pixels
(Visibility test)
(r, g, b)
+ =
Sampling
Magnification, Minification
Filtering
Bilinear, Trilinear, Anisotropic
Mipmapping
Perspective Correct Interpolation
©2004 NVIDIA Corporation. All rights reserved.
or
Point
Bilinear
Trilinear
Anisotropic
(4X) & Trilinear
Multitexture
2
2D Triangles Bus
(AGP) Frame
2D Triangles Textures
Buffer
Textures
=
©2004 NVIDIA Corporation. All rights reserved.
Hardware
Transform &
Lighting
3D Bus
Triangles
(AGP) Frame
3D Triangles Textures
Buffer
Textures
System
Memory Video Memory
Transform Lighting
World Matrix
Model or Object Space Material Properties
World Space
Model-View Matrix Light Properties
View Matrix
Vertex Color
Projection Matrix
Pixel Shading
Multitexture
Programmable
Vertex Shading
3D Bus
Triangles
(AGP)
Frame
3D Triangles Textures
Buffer
Textures
System
Memory Video Memory
+ =
Diffuse light Normal Map Diffuse light with bumps
Cubemap
z Environment Mapping
Reflection vector
(x , y y is used to lookup
,z )
x into the cubemap
Cubemap lookup
in direction (x, y, z)
Projected Texture
(x, y, z, w)
Texture Projection
(x/w, y/w)
z
(x,y,z)
y
Volume Texture x
Solid Textures
3D Noise Noise Perturbation
Supersampling:
Compute color and Z at higher
resolution and display averaged
color to smooth out the visual
artifacts
Multisampling:
Same thing except only Z is
computed at higher resolution
Multisampling performs
antialiasing on primitive
edges only
©2004 NVIDIA Corporation. All rights reserved.
Multiple
Vertex and
Pixel Shaders
Programmable
Pixel Shading
(DirectX 9.0)
Scalable
Architecture
3D Bus
Triangles
(AGP)
Frame
3D Triangles Textures
Buffer
Textures
System
Memory Video Memory
Application
BUS
Commands
Vertex Pixel Frame
Shader Shader Buffer
3D API
Programs
(OpenGL or DirectX)
Geometry
// Light computation
float light = dot(lightDirection, normal);
Shader Model
3.0
64-Bit
Color
3D Bus
Triangles
(PCIe)
Frame
3D Triangles Textures
Buffer
Textures
System
Memory Video Memory
Far Cry
©2004 NVIDIA Corporation. All rights reserved.
Display and print devices have a low dynamic range of around 100
Tone mapping is the process of displaying high dynamic range images on those
low dynamic range devices
OpenEXR is a high dynamic range image format that is compatible with NVIDIA’s
64-bit color format
100 e
x Rat Graphics Bandwidth
te
Ver
(GB/sec)
h
nd widt
s Ba
10 phic
Gra
idth
nd w
Bu s Ba
1 re qu en cy
C PU F
1000 R ate lo ps
Fill sf
Pix
e l hic
e ap
at Gr
100 xR
rte
Ve
0.1
1994 2004 2014
100 MHz
©2004 NVIDIA Corporation. All rights reserved.
Dawn Nalu
NV3x NV4x
130Mtrans 222M
©2004 NVIDIA Corporation. All rights reserved.