Ray Tracing
- RGB - additive color mixing
- CMYK - subtractive color mixing
transparency, reflective shader - recursive
polynomial is same as max intersection count
anti aliasing
2개씩 쏘기 레이
barycentric coordinates
반대편 대각선을 현재 점으로 옮긴 게 1
sum is 1 so compute only 2
Shader
빛으로 가는건 안막혀있으면 실선
- wood - 실선하다 점선, light로 실선
- reflective - recurvie하지만 첫 부딪히는 방향으로 점선
- transitive - 안으로 흰 녀석 실선 가고 직선방향 점선, 반사 실선
Graphics pipeline
- vertex shader - need normalized device coordinates
- tesselation shader
- geometry shader
- Clipping - remove the significant majority of triangles
- Perspective divide
- Rasterization
convert from normalized device coordinates to pixel indices
midpoint algorithm - update_criterion, stop_criterion
- fragment shader
- z-buffering
fragment shader
per pixel
- normal map
- fragment shader
vertex shader
The vertex shader transforms vertices into normalized device coordinates. Since the triangles need to be in normalized device coordinates in order to do clipping, it is not possible to clip before running the vertex shader.
normal can be computed r, theta outer product
a correctly orientated mesh 같은거 앞에 두번 나오면 순서 뒤집기 아니면 그냥 뒤에 2개 뒤
Perspective divide
Some critical information is lost during the perspective divide resulting in a segment across the middle of the image
Clipping needs to happen before the perspective divide, since otherwise objects that are outside the viewing area can become projected into the viewing area.
homogeneous coordinates
The extra coordinate makes it possible to represent translations and projections as a matrix



- 오른쪽 2개가 x, y 이동
- 아래쪽 2개는 분모에 더해지는
Z-buffer thread
For each pixel, identify the z-buffer that stores the smaller value. Copy the color and z value from that z-buffer and the corresponding image into the output for that pixel.
Acceleration
방문하는 cell은 가장 가까운 intersection 까지이고 intersection point 계산은 선상 전부 한다
- if Enormous number of intersections, nearly all return no intersection, need acceleration structures
- Query / walking the structure
벡터 가로세로 w로 나누기
Intersection
Count the number of intersections. If it is even, the point is outside. If it is odd, the point is inside
intersection list

event table
Bezier curve
비율선 계속 연결해서 만들기 곡선
0~1 로 이동한다 처음부
Bezier curve lies within the convex hull of its control points
Continuity
- G1 - geometrically continuous, may not have same magnitude
- C1 - parametric continuity ensured, magnitude of the vectors are equal
Bernstein polynomials
cubic Bezier
- outer ctrl pts are endpoints
- inner ones give 3× tangent
- blending functions (formula for cubic bezier)
- convex hull
- symmetry (t vs 1 − t)
- De Casteljau (eval and subdivide)
- affine transform curve = transform ctrl pts
- how to get C0/C1
Seonglae Cho