ECS 175 COMPUTER GRAPHICS - University of...
Transcript of ECS 175 COMPUTER GRAPHICS - University of...
![Page 1: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/1.jpg)
ECS 175
COMPUTER GRAPHICSKen Joy !Winter 2014
![Page 2: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/2.jpg)
Viewing Volume
!2ECS 175 – The Graphics Pipeline
![Page 3: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/3.jpg)
The Graphics Pipeline
!3ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
Transformation Processor
Camera TransformPrimitives
![Page 4: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/4.jpg)
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
![Page 5: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/5.jpg)
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
![Page 6: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/6.jpg)
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
![Page 7: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/7.jpg)
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
![Page 8: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/8.jpg)
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
![Page 9: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/9.jpg)
The Graphics Pipeline
!9ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
Transformation Processor
Camera TransformPrimitives
![Page 10: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/10.jpg)
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
!
![Page 11: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/11.jpg)
Clipping and Assembling
!11ECS 175 – The Graphics Pipeline
• Assembles primitives from vertices • Determines which objects are visible from camera
![Page 12: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/12.jpg)
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 !!
![Page 13: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/13.jpg)
Rasterization
!13ECS 175 – The Graphics Pipeline
• Fragments • Carry more than ‘just’ color • Depth, alpha, texture coordinates,… • are potential pixels !
![Page 14: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/14.jpg)
The Pipeline
!14ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
![Page 15: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/15.jpg)
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 !
![Page 16: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/16.jpg)
Lower Pipeline Summary
!16ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
3D Triangles
Clipped Triangles
2D Triangles Fragments
![Page 17: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/17.jpg)
Depth Buffers (pre-1974)
!17ECS 175 – The Graphics Pipeline
frame buffer
color lookup table
screen
![Page 18: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/18.jpg)
Depth Buffers (about-1975)
!18ECS 175 – The Graphics Pipeline
frame buffer
screen
![Page 19: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/19.jpg)
Depth Buffers (post-1975)
!19ECS 175 – The Graphics Pipeline
frame buffer
screen
depth buffer
![Page 20: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/20.jpg)
Depth Buffers
!20ECS 175 – The Graphics Pipeline
![Page 21: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/21.jpg)
• 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
![Page 22: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/22.jpg)
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
![Page 23: ECS 175 COMPUTER GRAPHICS - University of …graphics.cs.ucdavis.edu/~joy/ecs175/Lectures/Lecture7.pdfCOMPUTER GRAPHICS Ken Joy ! ... Input vertices - Output vertices World Space.](https://reader034.fdocuments.us/reader034/viewer/2022050706/5aa434bc7f8b9a517d8b8a2a/html5/thumbnails/23.jpg)
What do we have to do?
!23ECS 175 – The Graphics Pipeline
Vertex Processor
Clipper and Assembler Rasterizer Fragment
Processor
Learn How to Program These