리소스 조작(Direct3D 9)

애플리케이션은 장면을 렌더링하기 위해 리소스를 조작합니다. 먼저 애플리케이션은 다음 방법 중 하나를 사용하여 텍스처 리소스를 만들어야 합니다.

대신 D3DXCreatexxx 텍스트 변환 함수 중 하나를 사용하여 텍스처 리소스를 만들 수 있습니다.

텍스처 생성 메서드에서 반환되는 텍스처 개체는 표면 또는 볼륨에 대한 컨테이너입니다. 이러한 컨테이너를 일반적으로 버퍼라고 합니다. 리소스가 소유한 버퍼는 리소스의 사용량, 형식 및 풀을 상속하지만 고유한 형식을 갖습니다. 자세한 내용은 리소스 속성(Direct3D 9)을 참조하세요.

애플리케이션은 다음 메서드를 호출하여 아트워크를 로드하기 위해 포함된 표면에 액세스할 수 있습니다. 자세한 내용은 리소스 잠금(Direct3D 9)을 참조하세요.

잠금 메서드는 포함된 표면(예: 텍스처의 mipmap 하위 수준 또는 큐브 면)을 나타내는 인수를 사용하고 픽셀에 대한 포인터를 반환합니다. 일반적인 애플리케이션은 Surface 개체를 직접 사용하지 않습니다.

IDirect3DDevice9::CreateIndexBuffer 또는 IDirect3DDevice9::CreateVertexBuffer를 호출하여 기하 도형 지향 리소스를 만듭니다.

리소스에 따라 IDirect3DIndexBuffer9::Lock 또는 IDirect3DVertexBuffer9::Lock을 호출하여 버퍼 리소스를 잠그고 채웁니다.

관리되는 텍스처 리소스의 경우 리소스 만들기 프로세스가 여기서 끝납니다. 관리되지 않는 텍스처 리소스의 경우 애플리케이션은 IDirect3DDevice9::UpdateTexture를 호출하여 시스템 메모리 리소스를 디바이스 액세스 가능 리소스(하드웨어 가속용)로 승격합니다.

리소스에서 렌더링된 이미지를 표시하려면 애플리케이션에 색 및 깊이 스텐실 버퍼도 필요합니다. 일반적인 애플리케이션의 경우 색 버퍼는 백 버퍼 표면의 컬렉션인 디바이스의 스왑 체인이 소유하며 디바이스를 사용하여 암시적으로 만들어집니다. 깊이 스텐실 표면은 IDirect3DDevice9::CreateDepthStencilSurface 메서드를 사용하여 암시적으로 만들거나 명시적으로 만들 수 있습니다. 애플리케이션은 디바이스와 깊이 및 색 버퍼를 IDirect3DDevice9::SetRenderTarget 또는 IDirect3DDevice9::SetDepthStencilSurface 호출과 연결합니다.

최종 이미지 표시에 대한 자세한 내용은 장면 프레젠테이션(Direct3D 9)을 참조하세요.

Direct3D 리소스