다음을 통해 공유


PFND3D11DDI_CREATEHULLSHADER 콜백 함수(d3d10umddi.h)

CreateHullShader 함수는 헐 셰이더를 만듭니다.

구문

PFND3D11DDI_CREATEHULLSHADER Pfnd3d11ddiCreatehullshader;

void Pfnd3d11ddiCreatehullshader(
  D3D10DDI_HDEVICE unnamedParam1,
  const UINT *pShaderCode,
  D3D10DDI_HSHADER unnamedParam3,
  D3D10DDI_HRTSHADER unnamedParam4,
  const D3D11DDIARG_TESSELLATION_IO_SIGNATURES *unnamedParam5
)
{...}

매개 변수

unnamedParam1

hDevice [in]

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

pShaderCode

pCode [in]

셰이더 코드를 구성하는 CONST UINT 토큰의 배열입니다. 셰이더 코드 스트림의 첫 번째 토큰은 항상 버전 토큰입니다. 스트림의 다음 토큰은 셰이더 코드 스트림의 끝을 결정하는 길이 토큰입니다. Direct3D 버전 11 셰이더 코드 형식에 대한 자세한 내용은 WDK에 포함된 D3d11tokenizedprogramformat.hpp 헤더 파일 내의 주석을 참조하세요.

unnamedParam3

hShader [in]

헐 셰이더에 대한 드라이버의 개인 데이터에 대한 핸들입니다. 드라이버는 드라이버의 CalcPrivateTessellationShaderSize 함수 호출에서 Microsoft Direct3D 런타임이 프라이빗 데이터에 할당해야 하는 메모리 영역의 크기(바이트)를 반환합니다. 핸들은 드라이버가 요청한 크기의 메모리 영역에 대한 포인터일 뿐입니다. 드라이버는 이 메모리 영역을 사용하여 테셀레이션 셰이더 개체와 관련된 내부 데이터 구조를 저장합니다.

unnamedParam4

hRTShader [in]

드라이버가 Direct3D 런타임으로 다시 호출할 때 사용해야 하는 헐 셰이더에 대한 핸들입니다.

unnamedParam5

pSignatures [in]

테셀레이션 셰이더의 서명을 형성하는 D3D11DDIARG_TESSELLATION_IO_SIGNATURES 구조체에 대한 포인터입니다.

반환 값

없음

설명

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

드라이버는 pfnSetErrorCb 함수에 대한 호출에서 E_OUTOFMEMORY(드라이버의 메모리가 부족하면) 또는 D3DDDIERR_DEVICEREMOVED(디바이스가 제거된 경우)를 전달할 수 있습니다. Direct3D 런타임은 다른 오류가 중요한 것으로 확인합니다. 드라이버가 D3DDDIERR_DEVICEREMOVED 포함하는 오류를 전달하면 Direct3D 런타임은 핸들이 유효하지 않다고 결정합니다. 따라서 런타임은 DestroyShader 함수를 호출하여 hShader 매개 변수가 지정하는 핸들을 삭제하지 않습니다.

요구 사항

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

추가 정보

CalcPrivateTessellationShaderSize

D3D11DDIARG_TESSELLATION_IO_SIGNATURES

D3D11DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb