In our final content lecture, we look at how to parallelize the graphics pipeline. What is challenging about parallelizing the GPU? What are the ways we could parallelize it? We discuss the sorting taxonomy of parallelism strategies, look at di
We turn away from a fixed-function graphics pipeline and explore what we can do with a user-programmable pipeline, where not only pipeline stages but also the structure of the pipeline can be customized. We look at Reyes, delay streams, and the
The final stage of the graphics pipeline is composition/display. In this lecture we look at antialiasing algorithms, compositing, the depth buffer, and monitors. [Note: The beginning part of this lecture is the remainder of the rasterization le
Texturing is the process of applying images to geometry. We look at the function of texture and how we filter texture, and then how graphics hardware has implemented texturing. We also look at texture caching and texture compression. [Note: The
Rasterization is the GPU stage that produces fragments from screen-space triangles. We look at both pixel coverage and parameter interpolation algorithms. We also discuss perspective correction and look at historical SGI machines.[Note: The ra
In this lecture, we take a close look at the geometry stage of the graphics pipeline: transformations, homogeneous coordinates, the OpenGL lighting model, primitive assembly, clipping, and culling. We also look at ways to save computation and b
In this lecture we turn to the technology fundamentals behind the rise of the GPU: what are the technology trends of today's VLSI designs and how and why do they impact the GPU and its architecture? We also contrast CPUs and GPUs as well as the
The modern GPU can be used as a general-purpose processor. This field of "GPGPU" (general-purpose programmability of graphics hardware) or "GPU computing" is having an increasing impact on GPU architecture, GPU software and programming environm
The modern GPU can be used as a general-purpose processor. This field of "GPGPU" (general-purpose programmability of graphics hardware) or "GPU computing" is having an increasing impact on GPU architecture, GPU software and programming environm
The graphics pipeline has recently added programmable stages. This lecture covers the software and hardware fundamentals of the GPU's programmable stages, in particular the vertex shader and fragment shader.
How do we measure graphics performance? How do we characterize graphics hardware? What are the bottlenecks in a graphics application and how do we detect them? What are benchmarks, what makes a good benchmark, and how do we use benchmarks?