목록게임/게임 그래픽 프로그래밍 (16)
센로그
※ 참고 본문 내용들은 좌표값이 열벡터로 표현될 때에 관한 것임. 행벡터로 사용하고 싶으면 양 변 전치하면 됨. (AB)T = (BT)(AT) 열벡터를 v, 변환 행렬을 M이라고 할 때 Mv가 변환된 결과값이 될 것. 행벡터(vT)인 경우, (Mv)T = (vT)(MT)가 성립함. OpenGL은 열벡터(column vector style)를 사용하는 데 반해, DirectX에서는 행벡터(row vector style)를 사용함. 따라서 변환 순서 유의하자. ◆ Scaling 오브젝트의 사이즈를 바꾸는 것. Scaling factor S는 몇 배를 키울건지를 의미함. 각 Vertex 좌표에 곱하는 S가 1보다 크면 커지고, 1보다 작으면 작아짐 ◇ 2D Scaling 각 Vertex 좌표(coordinat..
◆ Vectors and Matrices 3D 그래픽에서는 많은 벡터와 행렬 연산이 나오기 때문에 잘 알고있어야 함~ ◆ 벡터의 크기 (Magnitude) ||v|| = \(\sqrt{a² + b²}\) Vector v = (3,1)일 때 v의 크기 ||v|| = \(\sqrt{3² + 1²}\) = \(\sqrt{10}\) ◆ 벡터의 연산 - 덧셈, 뺄셈, 상수배 덧셈, 뺄셈, 상수배는 각각 요소별로 계산하면 됨 Vector a = (1,2) 이고 Vector b = (2,1)일 때 a + b = (3,3) a - b = (-1,1) 3a = (3,6) ◆ 벡터의 연산 - 스칼라곱 (Dot Product, Scalar Product) aㆍb = a₁b₁ + a₂b₂ = ||a||||b||c..
◆ Polygon이란? 3차원 메쉬의 정보를 표현하는 데 쓰이는 기본 단위 평면(plane) 위에 표현되는 기본 도형들. ㆍ보통 게임 그래픽에서는 삼각형 폴리곤을 많이 사용함. ※ but, 무조건 삼각형은 아님! - 삼각형(triangle polygon)은 연산이 빠르지만, 빛 계산이 어려울 수 있음(→ 게임에서 주로 사용) - 사각형(quad polygon)은 연산이 좀 느리지만, 빛 계산 정확히 할 수 있음(→ 영화에서 주로 사용) ㆍ폴리곤의 크기가 작을수록 정교하고 부드러운 메쉬 표현 가능 ◆ Polygon Mesh의 특징 Typical closed mesh(구멍이 없는 mesh)의 경우,일반적으로 트라이앵글 개수 = 정점의 개수 * 2 정도이다. 삼각형 메쉬의 꼭짓점을 v(vertex..
◆ Overview of the Graphics Pipeline in DirectX 12 • The Compute Shader • Input Assembler (IA) Stage • Vertex Shader (VS) Stage • Hull Shader (HS) Stage • Tessellator (TS) Stage • Domain Shader (DS) Stage • Geometry Shader (GS) Stage • Stream Output (SO) Stage • Rasterizer Stage (RS) • Pixel Shader (PS) Stage • Output Merger (OM) Stage *여기서 Shader Stage는 프로그래밍 가능한 단계 ■ Vertex buffer / Index buffe..