Upload
dinhnhu
View
315
Download
8
Embed Size (px)
Citation preview
ECS 175
COMPUTER GRAPHICSKen Joy !Winter 2014
Viewing Volume
!2ECS 175 – The Graphics Pipeline
The Graphics Pipeline
!3ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
Transformation Processor
Camera TransformPrimitives
The Graphics Pipeline
!4ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
Transformation Processor
Camera Transform
Most important pre-2000
Primitives
The Graphics Pipeline
!5ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
Transformation Processor
Camera Transform
Most important post-2000
Primitives
The Graphics Pipeline
!6ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
Transformation Processor
Camera TransformPrimitives
Produce VerticesTriangle Processors Bezier Patches, B-Spline Patches Subdivision Methods Modeling Systems
Model SpaceVertices Color Texture Coordinates
The Graphics Pipeline
!7ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
Transformation Processor
Camera TransformPrimitives
4x4 Matrix EngineInput vertices - Output vertices
World Space
The Graphics Pipeline
!8ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
Transformation Processor
Camera TransformPrimitives
4x4 Matrix EngineProjective space
Image Space
The Graphics Pipeline
!9ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
Transformation Processor
Camera TransformPrimitives
The Vertex Processor
!10ECS 175 – The Graphics Pipeline
• Operates on vertices • “Transform” the object and place it in relation to camera • Perform coordinate transformations • Process per-vertex attributes (colors, etc.) !
• OpenGL: • Vertex Shader: Maps vertices to vertices
!
Clipping and Assembling
!11ECS 175 – The Graphics Pipeline
• Assembles primitives from vertices • Determines which objects are visible from camera
Rasterization
!12ECS 175 – The Graphics Pipeline
• Working towards a representation that fits frame buffer • From normalized device coordinates
to window coordinates • Identify pixels ‘inside’ of primitive • Convert primitives into sets of fragments • Interpolate attributes given by vertices !!
Rasterization
!13ECS 175 – The Graphics Pipeline
• Fragments • Carry more than ‘just’ color • Depth, alpha, texture coordinates,… • are potential pixels !
The Pipeline
!14ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
The Fragment Processor
!15ECS 175 – The Graphics Pipeline
• Operates on fragments • Apply per-fragment operations (color, texture, …) • Hidden surface removal • Alpha compositing • Update frame buffer pixels !
Lower Pipeline Summary
!16ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
3D Triangles
Clipped Triangles
2D Triangles Fragments
Depth Buffers (pre-1974)
!17ECS 175 – The Graphics Pipeline
frame buffer
color lookup table
screen
Depth Buffers (about-1975)
!18ECS 175 – The Graphics Pipeline
frame buffer
screen
Depth Buffers (post-1975)
!19ECS 175 – The Graphics Pipeline
frame buffer
screen
depth buffer
Depth Buffers
!20ECS 175 – The Graphics Pipeline
• Programmable stages in computer graphics pipeline !!!!!
• Operations are inherently parallel • SIMD: Single Instruction, Multiple Data !
• Stages are implemented on graphics hardware • From vertices to pixels
Lower Pipeline Summary
!21ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
Triangle Processors Bezier Patches, B-Spline Patches Subdivision Methods Modeling Systems
What do we have to do?
!22ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
Transformation Processor
Camera TransformPrimitives
Vertices Color Texture Coordinates
Produce VerticesModel Space
What do we have to do?
!23ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
Learn How to Program These