DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 정수 D3DUSAGE   [목차열람] [주소복사] [슬롯비우기]
D3DUSAGE
 
Microsoft DirectX 9.0

D3DUSAGE


리소스의 사용법을 지정하는 옵션. 다음 표에, 각 리소스 타입의 사용법을 정리한다. 2 번째의 표에, 각 리소스 타입으로 이용할 수 있는 사용법을 나타낸다.

사용법

#define설명
D3DUSAGE_AUTOGENMIPMAP리소스는, 밉맵을 자동 생성한다. 「밉맵의 자동 생성」을 참조할것. 밉맵의 자동 생성은, 볼륨 텍스처 및 스텐실 표면/텍스처에서는 지원하지 않는다.

이 사용법은, 시스템 메모리 (D3DPOOL_SYSTEMMEM) 내의 리소스에 대해서는 유효하지 않다.

D3DUSAGE_DEPTHSTENCIL리소스는, 스텐실 버퍼이다. D3DUSAGE_DEPTHSTENCIL 는, D3DPOOL_DEFAULT 와 동시에 사용한다.
D3DUSAGE_DMAP리소스는, 디스플레이스먼트 맵이다.
D3DUSAGE_DONOTCLIP정점 버퍼의 내용이 결코 클리핑을 요구하지 않는 것을 나타낸다. 이 플래그가 설정된 버퍼를 사용해 렌더링 하는 경우는, D3DRS_CLIPPING 렌더링 스테이트가 FALSE 로 설정되지 않으면 안 된다.
D3DUSAGE_DYNAMIC

정점 버퍼가 동적인 메모리의 사용을 필요로 하는 것을 나타낸다. 버퍼의 배치 장소를 드라이버를 결정될 수 있으므로, 드라이버에 있어 유용하다. 일반적으로, 정적인 정점 버퍼는 비디오 메모리에 배치되어 동적인 정점 버퍼는 AGP (Accelerated Graphics Port) 메모리에 배치된다. 그 밖에 정적인 사용법은 없기 때문에 주의 해야 한다. D3DUSAGE_DYNAMIC 를 지정하고 있지 않는 경우는, 정적인 정점 버퍼가 생성 된다. D3DUSAGE_DYNAMIC 는, D3DLOCK_DISCARD 및 D3DLOCK_NOOVERWRITE 잠금 플래그에 의해 엄밀하게 강제당한다. 그 결과, D3DLOCK_DISCARD 및 D3DLOCK_NOOVERWRITE 는, D3DUSAGE_DYNAMIC 로 생성 된 정점 버퍼에 대해서만 유효가 된다. 이러한 플래그는, 정적인 정점 버퍼에 대해서는 유효하지 않다. 더 자세한 정보는, 「리소스의 관리」를 참조할것.

동적인 정점 버퍼의 사용법의 더 자세한 정보는, 「퍼포먼스의 최적화」를 참조할것.

D3DUSAGE_DYNAMIC 와 D3DPOOL_MANAGED 는 호환성이 없기 때문에, 동시에는 사용할 수 없다. 「D3DPOOL 」를 참조할것.

텍스처에서는, D3DUSAGE_DYNAMIC 를 지정할 수 있다. 다만, 관리되는 텍스처에서는 D3DUSAGE_DYNAMIC 를 사용할 수 없다. 동적 텍스처의 더 자세한 정보는, 「동적 텍스처의 사용법」을 참조할것.

D3DUSAGE_NPATCHESN 패치의 드로잉(Drawing)에 정점 버퍼를 사용할 때에 설정한다.
D3DUSAGE_POINTS포인트의 드로잉(Drawing)에 정점 버퍼를 사용할 때에 설정한다.
D3DUSAGE_RENDERTARGET리소스는, 렌더링 타겟이다. D3DUSAGE_RENDERTARGET 는, D3DPOOL_DEFAULT 와 동시에 사용한다.
D3DUSAGE_RTPATCHES고차원 기본도형의 드로잉(Drawing)에 정점 버퍼를 사용할 때에 설정한다.
D3DUSAGE_SOFTWAREPROCESSING이 플래그를 사용하면 정점 처리가 소프트웨어로 행해진다. 이 플래그를 사용하지 않는 경우는, 정점 처리가 하드웨어로 행해진다.

D3DUSAGE_SOFTWAREPROCESSING 은, 소프트웨어 정점 처리로 특정의 텍스처 포맷이 정점 텍스처로서 사용할 수 있을지 어떨지를 확인하기 위해서,IDirect3D9::CheckDeviceFormat 와 동시에 사용한다. 사용할 수 있는 경우는, 3DPOOL_SCRATCH 로 텍스처를 생성 할 필요가 있다.

D3DUSAGE_WRITEONLY정점 버퍼에의 쓰기 조작 밖에 실행하지 않는 것을 시스템에 알린다. 이 플래그를 사용하는 것으로, 드라이버는 최적인 메모리 영역을 선택해 효율적으로 쓰기 처리나 렌더링을 실행한다. 이 능력을 사용해 생성 된 정점 버퍼로부터의 읽기는 실패한다. D3DUAGE_WRITEONLY 를 지정하지 않는 D3DPOOL_DEFAULT 를 사용해 생성 한 버퍼는, 퍼포먼스의 대폭적인 저하를 가져올 가능성이 있다.

사용법과 풀의 편성

특정의 풀 타입에 대해서, 특정의 사용법을 사용할 수 있다. 더 자세한 정보는, 「D3DPOOL 」를 참조할것.

사용법과 리소스의 편성

사용법은, 리소스를 생성 할 경우에 지정하는지, 기존의 리소스의 능력을 테스트할 경우에 CheckDeviceFormat 를 사용해 지정한다. 이 표는, 각각의 리소스 타입에 적용 가능한 사용법을 나타내고 있다.

사용법정점 버퍼 생성인덱스 버퍼 생성텍스처 생성큐브 텍스처 생성볼륨 텍스처 생성표면 생성장치 포맷 체크
D3DUSAGE_AUTOGENMIPMAPxxx
D3DUSAGE_DEPTHSTENCILxxxx
D3DUSAGE_DMAPxx
D3DUSAGE_DONOTCLIPxx
D3DUSAGE_DYNAMICxxxxxx
D3DUSAGE_NPATCHESxx
D3DUSAGE_POINTSxx
D3DUSAGE_RTPATCHESxx
D3DUSAGE_RENDERTARGETxxxx
D3DUSAGE_SOFTWAREPROCESSINGxxxxxx
D3DUSAGE_WRITEONLYxx

하드웨어가 이러한 사용법을 지원 하고 있을지 어떨지를 체크하려면 ,IDirect3D9::CheckDeviceFormat 를 사용하는 것.

이하에 리소스 생성 메서드를 나타낸다.

풀 타입의 더 자세한 정보는, 「D3DPOOL 」를 참조할것.

정수 정보

헤더d3d9types.h
최저한의 operating systemWindows 98

관련 항목



© 2002 Microsoft Corporation. All rights reserved.
↑TOP