Graphics Processing CS418 Computer Graphics John C. Hart Graphics - - PowerPoint PPT Presentation

graphics processing
SMART_READER_LITE
LIVE PREVIEW

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-1
SLIDE 1

Graphics Processing

CS418 Computer Graphics John C. Hart

slide-2
SLIDE 2

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-3
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
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
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
SLIDE 6

Graphics Processing

Vertex Shader Scan Converter Fragment Shader Integer pixel positions (x,y) covered by triangle

slide-7
SLIDE 7

Graphics Processing

Vertex Shader Scan Converter Fragment Shader Integer pixel positions (x,y) with RGB colors

slide-8
SLIDE 8

Graphics Processing

Vertex Shader Scan Converter Fragment Shader Lots of vertices processed independently of each other

slide-9
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
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
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
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
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
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

Vertex Shader Scan Converter Fragment Shader