PFND3D11DDI_DRAWINSTANCEDINDIRECT 콜백 함수(d3d10umddi.h)
DrawInstancedIndirect 함수는 인덱싱되지 않은 기본 형식의 특정 인스턴스를 그립니다.
구문
PFND3D11DDI_DRAWINSTANCEDINDIRECT Pfnd3d11ddiDrawinstancedindirect;
void Pfnd3d11ddiDrawinstancedindirect(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HRESOURCE unnamedParam2,
UINT unnamedParam3
)
{...}
매개 변수
unnamedParam1
hDevice [in]
디스플레이 디바이스(그래픽 컨텍스트)에 대한 핸들입니다.
unnamedParam2
hBufferForArgs [in]
처리할 DrawInstancedIndirect에 대한 인수를 포함하는 버퍼에 대한 핸들입니다. 버퍼에는 다음과 같은 긴밀하게 압축된 구조체가 포함됩니다.
struct DrawInstancedIndirectArgs {
UINT VertexCountPerInstance;
UINT InstanceCount;
UINT StartVertexLocation;
UINT StartInstanceLocation;
}
이러한 인수에 대한 자세한 내용은 DrawInstanced 참조 페이지를 참조하세요.
unnamedParam3
AlignedByteOffsetForArgs [in]
hBufferForArgs가 지정하는 버퍼에 대한 오프셋(바이트)입니다. AlignedByteOffsetForArgs 는 4의 배수여야 합니다.
반환 값
없음
설명
드라이버는 pfnSetErrorCb 콜백 함수를 사용하여 오류 코드를 설정할 수 있습니다.
DrawInstancedIndirect 함수는 드라이버의 DrawInstanced 함수 호출과 동일한 작업을 수행합니다. 그러나 DrawInstancedIndirect 는 hBufferForArgs 매개 변수가 지정하는 버퍼의 내용에서 인덱싱되지 않은 기본 형식에 대한 정보를 가져옵니다. DrawInstancedIndirect 는 AlignedByteOffsetForArgs 매개 변수가 지정하는 바이트 오프셋부터 버퍼의 내용을 읽습니다.
Direct3D 런타임이 드라이버의 CreateResource(D3D11) 함수를 호출하여 hBufferForArgs 매개 변수가 지정하는 버퍼 리소스를 만들 때 런타임은 D3D11DDIARG_CREATERESOURCE 구조체의 MiscFlags 멤버에서 D3D11_DDI_RESOURCE_MISC_DRAWINDIRECT_ARGS 플래그를 설정해야 합니다.
드라이버는 D3DDDIERR_DEVICEREMOVED 제외하고 오류가 발생하지 않아야 합니다. 따라서 드라이버가 pfnSetErrorCb 함수에 대한 호출에서 D3DDDIERR_DEVICEREMOVED 제외하고 오류를 전달하는 경우 Direct3D 런타임은 오류가 중요하다고 결정합니다. 디바이스가 제거되더라도 드라이버는 D3DDDIERR_DEVICEREMOVED 반환할 필요가 없습니다. 그러나 디바이스 제거가 DrawInstancedIndirect (일반적으로 발생하지 않아야 하는) 작업을 방해하는 경우 드라이버는 D3DDDIERR_DEVICEREMOVED 반환할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | DrawInstancedIndirect는 Windows 7 운영 체제부터 지원됩니다. |
대상 플랫폼 | 데스크톱 |
머리글 | d3d10umddi.h(D3d10umddi.h 포함) |