D3DUSAGE

리소스를 사용하는 방법을 식별하는 사용 옵션입니다.

다음 표에서는 사용 가능한 사용 옵션을 요약합니다.

상수 설명
D3DUSAGE_AUTOGENMIPMAP
리소스는 mipmap을 자동으로 생성합니다. Mipmap 자동 생성(Direct3D 9)을 참조하세요. 볼륨 텍스처 및 깊이 스텐실 표면/텍스처에는 Mipmap 자동 생성이 지원되지 않습니다. 이 사용법은 시스템 메모리(D3DPOOL_SYSTEMMEM)의 리소스에 대해 유효하지 않습니다.
D3DUSAGE_DEPTHSTENCIL
리소스는 깊이 스텐실 버퍼가 됩니다. D3DUSAGE_DEPTHSTENCILD3DPOOL_DEFAULT 사용할 수 있습니다.
D3DUSAGE_DMAP
리소스는 변위 맵이 됩니다.
D3DUSAGE_DONOTCLIP
꼭짓점 버퍼 콘텐츠에 클리핑이 필요하지 않습니다. 이 플래그가 설정된 버퍼를 사용하여 렌더링하는 경우 D3DRS_CLIPPING 렌더링 상태를 false로 설정해야 합니다.
D3DUSAGE_DYNAMIC
꼭짓점 버퍼에 동적 메모리 사용이 필요함을 나타내도록 설정합니다. 이는 드라이버가 버퍼를 배치할 위치를 결정할 수 있기 때문에 유용합니다. 일반적으로 정적 꼭짓점 버퍼는 비디오 메모리에 배치되고 동적 꼭짓점 버퍼는 AGP 메모리에 배치됩니다. 별도의 정적 사용은 없습니다. D3DUSAGE_DYNAMIC 지정하지 않으면 꼭짓점 버퍼가 정적입니다. D3DUSAGE_DYNAMIC D3DLOCK_DISCARD 및 D3DLOCK_NOOVERWRITE 잠금 플래그를 통해 엄격하게 적용됩니다. 따라서 D3DLOCK_DISCARDD3DLOCK_NOOVERWRITE D3DUSAGE_DYNAMIC 사용하여 만든 꼭짓점 버퍼에서만 유효합니다. 정적 꼭짓점 버퍼에 유효한 플래그가 아닙니다. 자세한 내용은 리소스 관리(Direct3D 9)를 참조하세요.
동적 꼭짓점 버퍼 사용에 대한 자세한 내용은 성능 최적화(Direct3D 9)를 참조하세요.
D3DUSAGE_DYNAMICD3DPOOL_MANAGED 호환되지 않으며 함께 사용하면 안 됩니다. D3DPOOL을 참조하세요.
텍스처는 D3DUSAGE_DYNAMIC 지정할 수 있습니다. 그러나 관리되는 텍스처는 D3DUSAGE_DYNAMIC 사용할 수 없습니다. 동적 텍스처에 대한 자세한 내용은 동적 텍스처 사용을 참조하세요.
D3DUSAGE_NONSECURE
공유 핸들이 있는 비안전 애플리케이션에서 보안 애플리케이션에서 만든 공유 화면을 열 수 있도록 허용합니다.
Direct3D 9와 Direct3D 9Ex 간의 차이점: 이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.
D3DUSAGE_NPATCHES
꼭짓점 버퍼가 N 패치를 그리는 데 사용되도록 하려면 를 설정합니다.
D3DUSAGE_POINTS
꼭짓점 또는 인덱스 버퍼가 그리기 지점 스프라이트에 사용됨을 나타내도록 설정합니다. 지점 스프라이트를 에뮬레이트하기 위해 소프트웨어 꼭짓점 처리가 필요한 경우 버퍼가 시스템 메모리에 로드됩니다.
D3DUSAGE_RENDERTARGET
리소스는 렌더링 대상이 됩니다. D3DUSAGE_RENDERTARGETD3DPOOL_DEFAULT 사용할 수 있습니다.
D3DUSAGE_RTPATCHES
꼭짓점 버퍼가 높은 순서의 기본 형식을 그리는 데 사용되도록 하려면 를 설정합니다.
D3DUSAGE_SOFTWAREPROCESSING
이 플래그를 사용하는 경우 소프트웨어에서 꼭짓점 처리가 수행됩니다. 이 플래그를 사용하지 않으면 하드웨어에서 꼭짓점 처리가 수행됩니다.
해당 디바이스에 대해 혼합 모드 또는 소프트웨어 꼭짓점 처리(D3DCREATE_MIXED_VERTEXPROCESSING D3DCREATE_SOFTWARE_VERTEXPROCESSING / )를 사용하도록 설정하면D3DUSAGE_SOFTWAREPROCESSING 플래그를 설정할 수 있습니다. 혼합 모드에서 소프트웨어 꼭짓점 처리에 버퍼를 사용하려면 D3DUSAGE_SOFTWAREPROCESSING 설정해야 하지만 혼합 모드(D3DCREATE_HARDWARE_VERTEXPROCESSING)에서 하드웨어 인덱스 처리를 사용할 때 최상의 성능을 위해 설정해서는 안 됩니다. 그러나 D3DUSAGE_SOFTWAREPROCESSING 설정은 하드웨어 및 소프트웨어 꼭짓점 처리와 함께 단일 버퍼를 사용하는 유일한 옵션입니다. 혼합 및 소프트웨어 디바이스에는 D3DUSAGE_SOFTWAREPROCESSING 허용됩니다.
D3DUSAGE_SOFTWAREPROCESSINGCheckDeviceFormat 과 함께 사용하여 소프트웨어 꼭짓점 처리 중에 특정 텍스처 형식을 꼭짓점 텍스처로 사용할 수 있는지 확인합니다. 가능하면 D3DPOOL_SCRATCH 텍스처를 만들어야 합니다.
D3DUSAGE_TEXTAPI
이 사용 플래그는 ComposeRects 호출에 사용되는 꼭짓점 버퍼 및 원본 표면에 대해 지정해야 합니다. 이 사용 플래그를 사용하여 만든 T exture는 텍스처 필터링에 사용할 수 없습니다. 이 사용 플래그를 사용하여 만든 꼭짓점 버퍼는 입력 스트림 원본으로 사용할 수 없습니다.
Direct3D 9와 Direct3D 9Ex 간의 차이점: 이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.
D3DUSAGE_WRITEONLY
애플리케이션이 꼭짓점 버퍼에만 쓴다는 것을 시스템에 알릴 수 있습니다. 이 플래그를 사용하면 드라이버가 효율적인 쓰기 작업 및 렌더링을 위해 최상의 메모리 위치를 선택할 수 있습니다. 이 기능을 사용하여 만든 꼭짓점 버퍼에서 읽으려는 시도는 실패합니다. D3DUSAGE_WRITEONLY 지정하지 않는 D3DPOOL_DEFAULT 만든 버퍼는 심각한 성능 저하를 겪을 수 있습니다. D3DUSAGE_WRITEONLYD3DPOOL_DEFAULT 버퍼의 성능에만 영향을 줍니다.
D3DUSAGE_RESTRICTED_CONTENT
이 플래그를 설정하면 리소스에 보호된 콘텐츠가 포함될 수 있음을 나타냅니다.
Direct3D 9와 Direct3D 9Ex 간의 차이점: 이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.
D3DUSAGE_RESTRICT_SHARED_RESOURCE
이 플래그를 설정하면 공유 리소스에 대한 액세스가 제한되어야 합니다.
Direct3D 9와 Direct3D 9Ex 간의 차이점: 이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.
D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER
이 플래그를 설정하면 드라이버가 공유 리소스에 대한 액세스를 제한해야 합니다. 호출자는 드라이버를 사용하여 인증된 채널을 만들어야 합니다. 그런 다음 드라이버는 공유 리소스를 열려는 프로세스에 대한 액세스를 허용해야 합니다.
Direct3D 9와 Direct3D 9Ex 간의 차이점: 이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.

설명

사용량 및 리소스 조합

사용량은 리소스를 만들 때 지정되거나 CheckDeviceType 을 사용하여 기존 리소스의 기능을 테스트하도록 지정됩니다. 다음 표에서는 어떤 리소스 종류에 적용할 수 있는 사용량을 식별합니다.

사용량 꼭짓점 버퍼 만들기 인덱스 버퍼 만들기 텍스처 만들기 큐브 텍스처 만들기 볼륨 텍스처 만들기 Surface 만들기 디바이스 형식 확인
D3DUSAGE_AUTOGENMIPMAP x x x
D3DUSAGE_DEPTHSTENCIL x x x x
D3DUSAGE_DMAP x x
D3DUSAGE_DONOTCLIP x x
D3DUSAGE_DYNAMIC x x x x x x
D3DUSAGE_NONSECURE x x x x x x x
D3DUSAGE_NPATCHES x x
D3DUSAGE_POINTS x x
D3DUSAGE_RTPATCHES x x
D3DUSAGE_RENDERTARGET x x x x
D3DUSAGE_SOFTWAREPROCESSING x x x x x x
D3DUSAGE_TEXTAPI x x
D3DUSAGE_WRITEONLY x x

 

CheckDeviceFormat을 사용하여 이러한 사용에 대한 하드웨어 지원을 검사.

각 리소스 만들기 메서드는 여기에 나열되어 있습니다.

D3DXCreatexxx 텍스처링 함수는 리소스를 만들기 위해 이러한 상수 값 중 일부를 사용합니다.

풀 유형 및 특정 사용량의 제한 사항에 대한 자세한 내용은 D3DPOOL을 참조하세요.

요구 사항

요구 사항
헤더
D3d9types.h

추가 정보

Direct3D 상수

D3DUSAGE_QUERY

D3DDECLUSAGE

D3DPOOL