PFND3D10DDI_CREATEGEOMETRYSHADER 콜백 함수(d3d10umddi.h)
CreateGeometryShader 함수는 기하 도형 셰이더를 만듭니다.
구문
PFND3D10DDI_CREATEGEOMETRYSHADER Pfnd3d10ddiCreategeometryshader;
void Pfnd3d10ddiCreategeometryshader(
D3D10DDI_HDEVICE unnamedParam1,
const UINT *pShaderCode,
D3D10DDI_HSHADER unnamedParam3,
D3D10DDI_HRTSHADER unnamedParam4,
const D3D10DDIARG_STAGE_IO_SIGNATURES *unnamedParam5
)
{...}
매개 변수
unnamedParam1
hDevice [in]
디스플레이 디바이스(그래픽 컨텍스트)에 대한 핸들입니다.
pShaderCode
셰이더 코드를 구성하는 CONST UINT 토큰의 배열입니다. 셰이더 코드 스트림의 첫 번째 토큰은 항상 버전 토큰입니다. 스트림의 다음 토큰은 셰이더 코드 스트림의 끝을 결정하는 길이 토큰입니다. Direct3D 버전 10 셰이더 코드의 형식에 대한 자세한 내용은 WDK에 포함된 D3d10tokenizedprogramformat.hpp 헤더 파일 내의 주석을 참조하세요.
unnamedParam3
hShader [in]
기하 도형 셰이더에 대한 드라이버의 개인 데이터에 대한 핸들입니다. 드라이버는 드라이버의 CalcPrivateShaderSize 함수 호출에서 Microsoft Direct3D 런타임이 프라이빗 데이터에 할당해야 하는 메모리 영역의 크기(바이트)를 반환합니다. 핸들은 실제로 드라이버가 요청한 메모리 영역에 대한 포인터일 뿐입니다. 드라이버는 이 메모리 영역을 사용하여 셰이더 개체와 관련된 내부 데이터 구조를 저장합니다.
unnamedParam4
hRTShader [in]
드라이버가 Direct3D 런타임으로 다시 호출할 때마다 사용해야 하는 스트림 출력이 있는 기하 도형 셰이더에 대한 핸들입니다.
unnamedParam5
pSignatures [in]
셰이더의 서명을 구성하는 D3D10DDIARG_STAGE_IO_SIGNATURES 구조체에 대한 포인터입니다.
반환 값
없음
설명
드라이버는 pfnSetErrorCb 콜백 함수를 사용하여 오류 코드를 설정할 수 있습니다.
드라이버는 pfnSetErrorCb 함수에 대한 호출에서 E_OUTOFMEMORY(드라이버가 메모리가 부족하면) 또는 D3DDDIERR_DEVICEREMOVED(디바이스가 제거된 경우)를 전달할 수 있습니다. Direct3D 런타임은 다른 오류가 중요한지 확인합니다. 드라이버가 D3DDDIERR_DEVICEREMOVED 포함한 오류를 전달하면 Direct3D 런타임에서 핸들이 유효하지 않은 것으로 확인됩니다. 따라서 런타임은 DestroyShader 함수를 호출하여 hShader 매개 변수가 지정하는 핸들을 삭제하지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
대상 플랫폼 | 데스크톱 |
머리글 | d3d10umddi.h(D3d10umddi.h 포함) |