Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5...
Transcript of Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5...
![Page 1: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/1.jpg)
Rendering approaches
1.image-oriented foreach pixel ...
2.object-oriented
foreach object ... geometry image3D rendering
pipeline
![Page 2: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/2.jpg)
3D graphics pipeline
Vertex processing: coordinate transformations and color
Clipping and primitive assembly: output is a set of primitives
Rasterization: output is a set of fragments for each primitive
Fragment processing: update pixels in the frame buffer
Vertex processor
Clipper and primitive assembler
RasterizerFragment processorVertices Pixels
![Page 3: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/3.jpg)
Graphics Pipeline (slides courtesy K. Fatahalian)
![Page 4: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/4.jpg)
Vertex processing
v0
v1
v2
v3
v4
v5
Vertices
Vertices are transformed into “screen space”
Vertex processor
Clipper and primitive assembler
Rasterizer Fragment processor
Vertices Pixels
![Page 5: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/5.jpg)
Vertex processing
v0
v1
v2
v3
v4
v5
Vertices
Vertices are transformed into “screen space”
EACH VERTEX IS TRANSFORMED
INDEPENDENTLY
Vertex processor
Clipper and primitive assembler
Rasterizer Fragment processor
Vertices Pixels
![Page 6: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/6.jpg)
Primitive processing
v0
v1
v2
v3
v4
v5
Vertices
v0
v1
v2
v3
v4
v5
Primitives (triangles)
Then organized into primitives that are clipped and culled…
Vertex processor
Clipper and primitive assembler
Rasterizer Fragment processor
Vertices Pixels
![Page 7: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/7.jpg)
Rasterization
Primitives are rasterized into “pixel fragments”
Fragments
Vertex processor
Clipper and primitive assembler
Rasterizer Fragment processor
Vertices Pixels
![Page 8: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/8.jpg)
Rasterization
Primitives are rasterized into “pixel fragments”
EACH PRIMITIVE IS RASTERIZED INDEPENDENTLY
Vertex processor
Clipper and primitive assembler
Rasterizer Fragment processor
Vertices Pixels
![Page 9: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/9.jpg)
Fragment processing
Shaded fragments
Fragments are shaded to compute a color at each pixel
Vertex processor
Clipper and primitive assembler
Rasterizer Fragment processor
Vertices Pixels
![Page 10: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/10.jpg)
Fragment processing
EACH FRAGMENT IS PROCESSED INDEPENDENTLY
Fragments are shaded to compute a color at each pixel
Vertex processor
Clipper and primitive assembler
Rasterizer Fragment processor
Vertices Pixels
![Page 11: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/11.jpg)
Pixel operations
Pixels
Fragments are blended into the frame buffer at their pixel locations (z-buffer determines visibility)
Vertex processor
Clipper and primitive assembler
Rasterizer Fragment processor
Vertices Pixels
![Page 12: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/12.jpg)
Pipeline entities
v0
v1
v2
v3
v4
v5 v0
v1
v2
v3
v4
v5
Vertices Primitives Fragments
Pixels Fragments (shaded)
![Page 13: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/13.jpg)
Rasterization
![Page 14: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/14.jpg)
What is rasterization?
Rasterization is the process of determining which pixels are “covered” by the primitive
![Page 15: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/15.jpg)
What is rasterization?
input: primitives output: fragments
enumerate the pixels covered by a primitive
interpolate attributes across the primitive
Vertex processor
Clipper and primitive assembler
RasterizerFragment processorVertices Pixels
![Page 16: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/16.jpg)
Rasterization
Compute integer coordinates for pixels covered by the 2D primitives
Algorithms are invoked many, many times and so must be efficient
Output should be visually pleasing, for example, lines should have constant density
Obviously, should be able to draw all possible 2D primitives
![Page 17: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/17.jpg)
Screen coordinates
![Page 18: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/18.jpg)
Line Representation
![Page 19: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/19.jpg)
![Page 20: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/20.jpg)
![Page 21: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/21.jpg)
![Page 22: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/22.jpg)
![Page 23: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/23.jpg)
![Page 24: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/24.jpg)
Implicit Line Equation
<whiteboard>
![Page 25: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/25.jpg)
Implicit Line Equation
decision variable, d
![Page 26: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/26.jpg)
Implicit Line Equation
decision variable, d
![Page 27: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/27.jpg)
Implicit Line Equation
decision variable, d
![Page 28: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/28.jpg)
Implicit Line Equation
decision variable, d
![Page 29: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/29.jpg)
Line Drawing
![Page 30: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/30.jpg)
Which pixels should be used to approximate a line?
Draw the thinnest possible line that has no gaps
![Page 31: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/31.jpg)
![Page 32: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/32.jpg)
![Page 33: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/33.jpg)
Line drawing algorithm
y = y0for x = x0 to x1 do draw(x,y) if (<condition>) then y = y+1
(case: 0 < m <= 1)
•move from left to right•choose between
(x+1,y) and (x+1,y+1)
![Page 34: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/34.jpg)
Line drawing algorithm
y = y0for x = x0 to x1 do draw(x,y) if (<condition>) then y = y+1
(case: 0 < m <= 1)
•move from left to right•choose between
(x+1,y) and (x+1,y+1)
![Page 35: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/35.jpg)
Use the midpoint between the two pixels to choose
![Page 36: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/36.jpg)
Use the midpoint between the two pixels to choose
![Page 37: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/37.jpg)
Use the midpoint between the two pixels to choose
![Page 38: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/38.jpg)
Use the midpoint between the two pixels to choose
implicit line equation:
evaluate f at midpoint:<whiteboard>
![Page 39: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/39.jpg)
Use the midpoint between the two pixels to choose
implicit line equation:
evaluate f at midpoint:
![Page 40: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/40.jpg)
Line drawing algorithm(case: 0 < m <= 1)
y = y0for x = x0 to x1 do draw(x,y) if ( ) then y = y+1
![Page 41: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/41.jpg)
We can make the Midpoint Algorithm more efficient
y = y0for x = x0 to x1 do draw(x,y) if ( ) then y = y+1
![Page 42: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/42.jpg)
We can make the Midpoint Algorithm more efficient
by making it incremental!
![Page 43: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/43.jpg)
We can make the Midpoint Algorithm more efficient
![Page 44: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/44.jpg)
We can make the Midpoint Algorithm more efficient
![Page 45: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/45.jpg)
We can make the Midpoint Algorithm more efficient
y = y0d = f(x0+1,y0+1/2)for x = x0 to x1 do draw(x,y) if (d<0) then y = y+1 d = d+(y0-y1)+(x1-x0) else d = d+(y0-y1)
![Page 46: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/46.jpg)
Adapt Midpoint Algorithm for other cases
case: 0 < m <= 1
![Page 47: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/47.jpg)
Adapt Midpoint Algorithm for other cases
case: -1 <= m < 0
![Page 48: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/48.jpg)
Adapt Midpoint Algorithm for other cases
case: 1 <= mor m <= -1
![Page 49: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/49.jpg)
Line drawing references
• the algorithm we just described is the Midpoint Algorithm (Pitteway, 1967), (van Aken and Novak, 1985)
• draws the same lines as the Bresenham Line Algorithm (Bresenham, 1965)
![Page 50: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/50.jpg)
Triangles
![Page 51: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/51.jpg)
barycentric coordinates
![Page 52: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/52.jpg)
barycentric coordinates
![Page 53: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/53.jpg)
barycentric coordinates
![Page 54: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/54.jpg)
barycentric coordinates
![Page 55: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/55.jpg)
barycentric coordinates
![Page 56: Rendering approachesshinar/courses/cs230-winter-2016/Lecture...v5 Vertices v0 v1 v2 v3 v4 v5 Primitives (triangles) Then organized into primitives that are clipped and culled… Vertex](https://reader033.fdocuments.in/reader033/viewer/2022052020/6033a23b15ccee15396b25a9/html5/thumbnails/56.jpg)
barycentric coordinates
What are ?
<whiteboard>