[CrashCourse CS] #27 3D Graphics

Steve·2021년 7월 4일
0

3D objects have coordinates X, Y and Z.

3D projection - Process of flattening objects into 2D plane
Wireframe rendering - Connecting the dots

Orthographic projection - Parallel sides in the cube appear as parallel
Perspective projection - Parallel lines converge as they get futher from the viewer

Polygons - Triangles

  • Three points unambiguously defien a plane.

Mesh - Collection of polygons

Game designers have to balance model fidelity vs polygon count for smooth framerate.

Rendering

Scanline rendering

Fillrate - Rate at which computer fills polyons with pixels
Jaggies - Rough edges

Anti-aliasing - Instead of filling pixels in a polygon with the same color, we can adjust the color based on how much the polygon cuts through each pixel.

  • Antialiasing is used all over the place including 2D graphics, like fonts and icons.

Occlusion - Objects hiding behind other algorithm
Painter's algorithm - A sort algorithm that arranges all the polygons from farthest to nearest, then render them in that order.

Z-buffering - keeps track of the closest distance to a polygon for every pixel in the scene by maintaining a Z-buffer.

Z-fighting - flickering effect
Back-face culling - Ignoring back-side of polygons to save processing time

Shading

Surface normal - direction of polygons
Flat shading - using surface normal to calculate shading
Gouraud shading, Phong shading - vary color across the surface

Texture

Texture mapping - Simplest texturing algorithm

Ways to make precessing faster

  1. Having special hardware just for graphical computations
  2. Divide up 3D scene into many smaller parts, and then render all the pieces in parallel rather than sequentially

GPU - Graphics Processing Unit, special processors just for graphics


Vocabulary

  • converge - 모여들다, 만나다, 수렴되다.
  • fidelity - 충실함, 정확도
  • occlude - 가리다

Thoughts

  • 게임학원에서는 3D 의 기본 개념들을 제대로 가르쳐주지 않아서 뭐가 뭔지 몰랐는데, PBS CS 를 통해 너무 쉽게 이해할 수 있었다.
profile
게임과 프론트엔드에 관심이 많습니다.

0개의 댓글