다음을 통해 공유


PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT 콜백 함수(d3d10umddi.h)

DrawIndexedInstancedIndirect 함수는 인덱싱된 기본 형식의 특정 인스턴스를 그립니다.

구문

PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT Pfnd3d11ddiDrawindexedinstancedindirect;

void Pfnd3d11ddiDrawindexedinstancedindirect(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D10DDI_HRESOURCE unnamedParam2,
  UINT unnamedParam3
)
{...}

매개 변수

unnamedParam1

hDevice [in]

디스플레이 디바이스(그래픽 컨텍스트)에 대한 핸들입니다.

unnamedParam2

hBufferForArgs

처리할 DrawIndexedInstancedIndirect 에 대한 인수를 포함하는 버퍼에 대한 핸들입니다. 버퍼에는 다음과 같은 긴밀하게 압축된 구조가 포함됩니다.

struct DrawIndexedInstancedIndirectArgs {
  UINT IndexCountPerInstance; 
  UINT InstanceCount;
  UINT StartIndexLocation;
  INT BaseVertexLocation;
  UINT StartInstanceLocation;
}

이러한 인수에 대한 자세한 내용은 DrawIndexedInstanced 참조 페이지를 참조하세요.

unnamedParam3

AlignedByteOffsetForArgs

hBufferForArgs가 지정하는 버퍼에 대한 오프셋(바이트)입니다. AlignedByteOffsetForArgs 는 4의 배수여야 합니다.

반환 값

없음

설명

드라이버는 pfnSetErrorCb 콜백 함수를 사용하여 오류 코드를 설정할 수 있습니다.

DrawIndexedInstancedIndirect 함수는 드라이버의 DrawIndexedInstanced 함수 호출과 동일한 작업을 수행합니다. 그러나 DrawIndexedInstancedIndirecthBufferForArgs 매개 변수가 지정하는 버퍼의 내용에서 인덱스 기본 형식에 대한 정보를 가져옵니다. DrawIndexedInstancedIndirectAlignedByteOffsetForArgs 매개 변수가 지정하는 바이트 오프셋부터 시작하여 버퍼의 내용을 읽습니다.

Direct3D 런타임이 드라이버의 CreateResource(D3D11) 함수를 호출하여 hBufferForArgs 매개 변수가 지정하는 버퍼 리소스를 만드는 경우 런타임은 D3D11DDIARG_CREATERESOURCE 구조체의 MiscFlags 멤버에서 D3D11_DDI_RESOURCE_MISC_DRAWINDIRECT_ARGS 플래그를 설정해야 합니다.

D3DDDIERR_DEVICEREMOVED 경우를 제외하고 드라이버에 오류가 발생하지 않아야 합니다. 따라서 드라이버가 pfnSetErrorCb 함수를 호출할 때 D3DDDIERR_DEVICEREMOVED 경우를 제외하고 오류를 전달하는 경우 Direct3D 런타임은 오류가 중요하다고 결정합니다. 디바이스가 제거되더라도 드라이버는 D3DDDIERR_DEVICEREMOVED 반환할 필요가 없습니다. 그러나 디바이스 제거가 DrawIndexedInstancedIndirect (일반적으로 발생하지 않아야 하는) 작업을 방해하는 경우 드라이버는 D3DDDIERR_DEVICEREMOVED 반환할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 DrawIndexedInstancedIndirect는 Windows 7 운영 체제부터 지원됩니다.
대상 플랫폼 데스크톱
머리글 d3d10umddi.h(D3d10umddi.h 포함)

추가 정보

CreateResource(D3D11)

D3D11DDIARG_CREATERESOURCE

D3D11DDI_DEVICEFUNCS

DrawIndexedInstanced

pfnSetErrorCb