GPUs, Points, and Lines - #GPUJune2
Channel: RTL Engineering
Date: 03/06/2022

How GPUs draw triangles is common knowledge, but have you ever wondered how GPUs draw other primitives like points and lines?  This video is part of #GPUJune2, and goes over several methods, with some examples in early 3D accelerators.

Correction: The far edge is the line where 
s + t - 1 = 0

Clarification: When referring to barycentric rasterizers, I am specifically talking about those that use edge equations but do not necessarily need to use barycentric parameter interpolation.

Clarification: Whether the Voodoo GPUs used a barycentric or DDA rasterizer is uncertain. The simulation uses a barycentric one and there is evidence to support that to be the case.

Technicality: The barycentric coordinate form presented is not generalized, but a specific transformation that's useful for rasterization. That form comes directly out of the edge equations, and holds true for orthogonal interpolants like the figure shown. Explaining the difference and being more precise is beyond the scope of this video though.
Also, the coordinates s and t, are not drawn correctly, where they should be orthogonal to the edges, but that also would have made the explanation more confusing.



Chapters:
0:00 Points, Lines, and Rasterization
2:02 Drawing Points
4:40 Drawing Lines
7:42 P-Triangles
10:30 Method Comparison