목록게임 (69)
센로그
◆ Direct3D 12 graphics PipelineGPU 처러 과정에는 특별한 파이프라인 구조가 존재함. 한 스테이지의 output이 다음 스테이지의 input이 됨~앞으로 이 그래픽스 파이프라인을 하나하나 살펴볼 것임 ~ Shader : 프로그래밍 가능함나머지는 하드웨어적으로 고정된 함수 사용진한 초록색 : 무조건 있어야 함연한 초록색 : 선택적으로 빼도 됨 ◆ Input Assembler (IA)GPU가 CPU로부터 Vertex 정보(VBV, IBV)를 받아서 읽고, 규칙에 따라 처리해서 primitive로 만들어줌.이 부분은 우리가 코딩하는 부분이 아니고 하드웨어적 요소로 이미 만들어져 있는 부분임 VBV(Vertex Buffer View) : CPU에서 만들어진 vertex 정보가 쭉 들어가..
※ 참고 본문 내용들은 좌표값이 열벡터로 표현될 때에 관한 것임. 행벡터로 사용하고 싶으면 양 변 전치하면 됨. (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..
◆ Introduction n개의 joint가 있다고 할 때, θ_1~θ_n까지의 joint angle이 존재한다. θ_j는 j번째 joint의 회전 각도. (회전축을 알고있다고 가정) IK를 풀기 위해, end effector가 최대한 target position에 가깝도록 하는 joint angle들이 결정되어야 함. s_1~s_k : root에 대한 end effector들의 상대 좌표라 하자. s 벡터 : end effector position들을 {s_1, s_2, ... , s_k}^T 열벡터 형태로 표현. t 벡터 : target position들을 {t_1, t_2, ... , t_k)^T 열벡터 형태로 표현함. t_i는 i번째 end effector의 targe..
IK란 뭐고, 왜 배우는지에 대한 내용. ◆ 관절체가 있는 캐릭터의 Animation 관절체가 있는 캐릭터 애니메이션이 현실적으로 느껴지게 하려면 몇가지 제한(constraint)이 필요함 1) 관절이 돌아갈 수 있는 최대 각도가 있음 2) 관절들은 서로 겹칠 수 없음 3) 관절 길이, 키 등 개인적 차이에 따라 물리적으로 타당하게 움직여야 함 ◆ Inverse Kineatics (IK) 란? 관절체의 끝단(end-effector)의 움직임을 이용해 나머지 관절체의 움직임(position, rotation 등)을 결정하는 기술 모든 관절에 대해 각각의 움직임을 정의해줘야하는 Forward Kinematics (FK) 와 반대(Inverse)되는 기술! ◆ IK problem IK문제는 비선형적(non-l..
◆ 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..