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 함수 호출과 동일한 작업을 수행합니다. 그러나 DrawInstancedIndirecthBufferForArgs 매개 변수가 지정하는 버퍼의 내용에서 인덱싱되지 않은 기본 형식에 대한 정보를 가져옵니다. DrawInstancedIndirectAlignedByteOffsetForArgs 매개 변수가 지정하는 바이트 오프셋부터 버퍼의 내용을 읽습니다.

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 포함)

추가 정보

CreateResource(D3D11)

D3D11DDIARG_CREATERESOURCE

D3D11DDI_DEVICEFUNCS

DrawInstanced

pfnSetErrorCb