리소스 속성(Direct3D 9)

모든 리소스는 다음 속성을 공유합니다.

  • 사용 현황. 예를 들어 리소스를 텍스처 또는 렌더링 대상으로 사용하는 방식입니다.
  • 형식. 데이터의 형식(예: 2D 표면의 픽셀 형식)입니다.
  • 풀. 리소스가 할당되는 메모리 유형입니다.
  • 을 입력한 다음 리소스 유형(예: 꼭짓점 버퍼 또는 렌더링 대상)입니다.

리소스 사용이 적용됩니다. 특정 작업에서 리소스를 사용하는 애플리케이션은 리소스를 만들 때 해당 작업을 지정해야 합니다. 리소스에 대해 정의된 사용 상수 목록은 D3DUSAGE를 참조하세요.

D3DUSAGE_RTPATCHES, D3DUSAGE_NPATCHES 및 D3DUSAGE_POINTS 상수는 이러한 버퍼의 데이터가 각각 삼각형 또는 그리드 패치, N 패치 또는 점 스프라이트에 사용될 가능성이 있음을 드라이버에 나타냅니다. 이러한 플래그는 하드웨어가 호스트 처리 없이 이러한 작업을 수행할 수 없는 경우에 제공됩니다. 따라서 드라이버는 CPU가 액세스할 수 있도록 시스템 메모리에 이러한 표면을 할당하려고 합니다. 드라이버가 하드웨어에서 이러한 작업을 완전히 수행할 수 있는 경우 이러한 표면을 비디오 또는 AGP 메모리에 할당하여 호스트 복사를 방지하고 성능을 2배 이상 향상시킬 수 있습니다. 이러한 플래그에서 제공하는 정보는 절대로 필요하지 않습니다. 드라이버는 데이터에서 이러한 작업이 수행되고 있음을 감지할 수 있으며 이후 프레임에 대한 버퍼를 시스템 메모리로 다시 이동합니다.

사용 플래그 및 특정 리소스와 관련된 방법에 대한 자세한 내용은 개별 리소스 만들기 방법의 참조 페이지를 참조하세요.

리소스의 표면 형식에 대한 자세한 내용은 D3DFORMAT 열거형 형식을 참조하세요.

리소스의 버퍼를 보유하는 메모리 클래스를 풀이라고 합니다. 풀 값은 D3DPOOL 열거형 형식으로 정의됩니다. 단일 리소스에 포함된 다른 개체(즉, Mipmap의 밉 수준)에 대해 풀을 혼합할 수 없으며, 리소스에 대해 풀을 선택하면 풀을 변경할 수 없습니다.

리소스 유형은 애플리케이션이 IDirect3DDevice9::CreateCubeTexture와 같은 리소스 만들기 메서드를 호출할 때 런타임에 암시적으로 설정됩니다. 리소스 종류는 D3DRESOURCETYPE 열거형 형식으로 정의됩니다. 애플리케이션은 런타임에 이러한 형식을 쿼리할 수 있습니다. 그러나 대부분의 시나리오에는 런타임 형식 검사가 필요하지 않을 것으로 예상됩니다.

Direct3D 리소스