DirectX (3)
-
2018.02.23 [펌] D3DXVec3TransformNormal 과 D3DXVec3TransformCoord 차이
D3DXVec3TransformNormal 과 D3DXVec3TransformCoord 의 차이에 대해서 간단히 말씀드리도록 하겠습니다. 단순하게 말하자면 D3DXVec3TransformNormal 은 벡터를 변환하는 것이고 D3DXVec3TransformCoord 는 위치를 변환하는 것입니다. 벡터와 행렬을 곱하기 위해서는 행과 열이 같은 차수여야 한다는 것을 알고 계실 것입니다. 예를 들어서 [x, y, z] 라는 3차원 벡터가 존재하는데 D3D 에서는 4x4 행렬을 곱하게 됩니다. 이러한 벡터를 행렬과 연산을 할 때는 차수를 맞춰줘야지 곱할 수 있게 됩니다. 즉 3차 벡터를 마치 1x4 행렬 혹은 4x1 행렬인 것처럼 만들어 주어야 4x4 행렬과 곱하는 것이 가능하다는 것이죠. D3DXVec3Tra..
-
2018.02.22 [펌] 렌더링 파이프라인
- 렌더링 파이프라인이란? 기하학적으로 3D 장면을 구성하고 가상의 카메라를 설정한 뒤에 모니터에 2D 표현을 만들어내는 과정을 수행해야하는데, 이와 같은 과정을 렌더링 파이프라인 이라고 한다. 파이프라인 내에서 몇 가지 단계에 의해 하나의 좌표 시스템에서 다른 시스템으로 변화하는 과정이 이용되는데, 이 변환에는 행렬이 이용되며, Direct3D의 책임 하에 이루어진다. 1. 로컬 스페이스 모델링 스페이스라고도 불리는 로컬 스페이스(Local Space)는 우리가 물체의 삼각형 리스트를 정의하는 데 이용하는 좌표 시스템이다. 로컬 스페이스는 모델링 과정을 쉽고 단순하게 만들어주며, 모델 자체의 로컬 좌표 시스템을 이용하는 것이 월드에서 직접 모델을 구성하는 것보다 쉽다. 2. 월드 스페이스 로컬 스페이스..
-
2016.03.16 [DirectX] memory pool에서의 D3DPOOL_DEFAULT와 D3DPOOL_MANAGED
cf. Memory Pool: DirectX의 자원(ex.serface)들은 여러 가지 종류의 메모리 풀에 저장할 수 있으며, 메모리 풀은 열거형 멤버로 지정된다. 메모리 종류 정리1. 시스템 메모리(system memory) : CPU RAM 메모리2. 비디오 메모리(video memory) : 그래픽카드 RAM 메모리그래픽카드도 하드웨어에 속한다. 그래픽카드의 핵심 칩이 GPU.GPU는 그래픽 연산을 처리하는 목적으로 만들어진 것이기때문에(특히 부동소수형의) 백터/행렬 등 선형연산류의 수치연산에 특화되어 빠르다. 그러나 조건문 등의 제어처리가 많거나, 메모리/하드웨어 엑세스 등의 기능에서는 CPU가 실질적으로 더 뛰어난 성능을 보인다. 3. AGP aperture 메모리 : 물리적으로는 시스템 메모리..