SLIDE 1
Graphics Processing CS418 Computer Graphics John C. Hart Graphics - - PowerPoint PPT Presentation
Graphics Processing CS418 Computer Graphics John C. Hart Graphics - - PowerPoint PPT Presentation
Graphics Processing CS418 Computer Graphics John C. Hart Graphics Processing Graphics Processor Triangle mesh with Image of RGB-colored vertices at 3-D floating- pixels at 2-D integer point spatial coordinate planar coordinate positions
SLIDE 2
SLIDE 3
Graphics Processing
Graphics Processor Triangle mesh with vertices at 3-D floating- point spatial coordinate positions (x,y,z) Image of RGB-colored pixels at 2-D integer planar coordinate positions (x,y)
SLIDE 4
Graphics Processing
Vertex Shader Scan Converter Fragment Shader Triangle with vertices at 3-D floating-point spatial coordinate positions (x,y,z)
SLIDE 5
Graphics Processing
Vertex Shader Scan Converter Fragment Shader Triangle mesh with vertices at 2-D floating-point viewing window coordinate positions (x,y)
SLIDE 6
Graphics Processing
Vertex Shader Scan Converter Fragment Shader Integer pixel positions (x,y) covered by triangle
SLIDE 7
Graphics Processing
Vertex Shader Scan Converter Fragment Shader Integer pixel positions (x,y) with RGB colors
SLIDE 8
Graphics Processing
Vertex Shader Scan Converter Fragment Shader Lots of vertices processed independently of each other
SLIDE 9
Graphics Processing
Vertex Shader Scan Converter Fragment Shader Lots of vertices processed independently of each other Lots of fragments (pixels) processed independently of each other
SLIDE 10
Serial Processing
- Single processor
- Single instruction pointer (IP) indicates which
instruction will be executed next
- Same program needs to be re-run on each data item
IP Proc
vertex data
DP
vertex shader
SLIDE 11
Multi-Core (CPU) Processing
- Multiple processors, each with its own IP
- Can work on multiple data items simultaneously
IP Proc
vertex data
DP
vertex shader
IP Proc DP
SLIDE 12
SIMD Processing
- Single Instruction Multiple Data processing
- Array of processors, all sharing the same IP
- Each processor operates on its own data pointer
IP Proc
vertex data
DP
vertex shader
Proc DP Proc DP Proc DP
SLIDE 13
Many-Core (GPU) Processing
- SIMD arrays of 32 processors
(“warp” of threads)
- Arrays of SIMD arrays
- Can process thousands of vertices
- r pixels each clock
vertex data
IP Proc DP Proc DP Proc DP Proc DP IP Proc DP Proc DP Proc DP Proc DP IP Proc DP Proc DP Proc DP Proc DP IP Proc DP Proc DP Proc DP Proc DP
vertex shader
SLIDE 14
What Have We Learned
- Three steps to render a mesh
- 1. Process the vertices
- 2. Scan convert into fragments
- 3. Process the fragments
- Write custom parallel programs for
vertex shaders and fragment shaders
- Shaders run on SIMD array processors