D3DDEVINFO_VCACHE 구조체(d3d9types.h)
DirectX 8.1 이상 버전만 해당합니다.
D3DDEVINFO_VCACHE 구조는 디바이스의 꼭짓점 캐시 정보를 설명합니다.
구문
typedef struct _D3DDEVINFO_VCACHE {
DWORD Pattern;
DWORD OptMethod;
DWORD CacheSize;
DWORD MagicNumber;
} D3DDEVINFO_VCACHE, *LPD3DDEVINFO_VCACHE;
멤버
Pattern
비트 패턴을 지정합니다. 드라이버는 비트 패턴을 CACH 4자 코드(FOURCC) 값으로 지정해야 합니다. 드라이버는 다음과 같이 MAKEFOURCC 매크로를 사용하여 FOURCC 값을 CACH로 지정할 수 있습니다.
MAKEFOURCC('C', 'A', 'C', 'H');
OptMethod
메시 최적화 방법을 지정합니다. 드라이버는 다음 값 중 하나를 사용하여 사용하는 메시 최적화를 지정할 수 있습니다.
값 | 의미 |
---|---|
D3DXMESHOPT_STRIPREORDER(0) | 가장 긴 스트립 최적화 |
D3DXMESHOPT_VCACHE (1) | 꼭짓점 캐시 기반 최적화 |
CacheSize
드라이버가 꼭짓점 캐시를 최적화하는 유효 크기(항목)를 지정합니다. 대부분의 경우 실제 캐시 크기가 더 큰 것으로 밝혀지므로 실제 캐시 크기는 CacheSize 에 지정된 크기가 아니어야 합니다. 드라이버는 OptMethod 멤버의 D3DXMESHOPT_VCACHE 지정하는 경우에만 CacheSize에서 최적화된 크기를 지정합니다.
MagicNumber
스트립 목록을 다시 시작할 시기를 결정할 때 시행착오 절차의 일부로 사용해야 하는 숫자를 지정합니다. 이 숫자는 1에서 CacheSize 멤버의 값으로 설정할 수 있습니다. 일반적으로 가장 좋은 값은 CacheSize/2에 가깝습니다.
설명
DirectX 8.1 버전만 해당합니다. Direct3D 런타임은 드라이버의 D3dGetDriverState 함수를 호출하여 드라이버에서 꼭짓점 캐시 정보를 가져옵니다. 이 D3dGetDriverState 호출에서 런타임은 런타임이 통과하는 DD_GETDRIVERSTATEDATA 구조체의 dwFlags 멤버에 D3DDEVINFOID_VCACHE 플래그를 지정합니다. 드라이버는 D3DDEVINFO_VCACHE 구조체에서 꼭짓점 캐시 정보를 지정하고 DD_GETDRIVERSTATEDATA lpdwStates 멤버에서 반환합니다.
DirectX 9.0 이상 버전만 해당합니다. Direct3D 런타임은 드라이버의 D3dDrawPrimitives2 콜백 호출에서 D3DDP2OP_CREATEQUERY 및 D3DDP2OP_ISSUEQUERY 명령을 지정하여 쿼리에 대한 드라이버 쪽 리소스를 만든 다음 드라이버에 꼭짓점 캐시 정보를 비동기적으로 쿼리합니다. D3DDP2OP_CREATEQUERY 명령을 사용하는 호출에서 런타임은 D3DHAL_DP2CREATEQUERY 구조체의 QueryType 멤버에 D3DQUERYTYPE_VCACHE 쿼리 형식을 지정합니다.
드라이버가 꼭짓점 캐시 쿼리를 완료하면 드라이버는 D3DHAL_DRAWPRIMITIVES2DATA 구조체의 dwErrorOffset 멤버에 있는 응답 버퍼의 총 크기를 설정하고 성공적으로 완료할 수 있도록 D3DHAL_DRAWPRIMITIVES2DATA ddrval 멤버를 D3D_OK 설정합니다. 또한 드라이버는 나가는 응답 버퍼를 사용하여 들어오는 명령 버퍼를 덮어씁니다. 이 응답 버퍼에는 꼭짓점 캐시 쿼리에 대한 응답을 식별하는 D3DHAL_DP2RESPONSEQUERY 구조가 포함되어 있습니다. 이 D3DHAL_DP2RESPONSEQUERY 뒤에 D3DDEVINFO_VCACHE 구조의 꼭짓점 캐시 데이터가 잇습니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | d3d9types.h(D3d9types.h 포함) |
추가 정보
D3DDP2OP_CREATEQUERY
D3DDP2OP_ISSUEQUERY