DirectX Graphics 레퍼런스 이펙트 레퍼런스 인터페이스 ID3DXEffectCompiler CompileShader [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
1 개 또는 복수의 기능을 포함한 이펙트로부터 셰이더를 컴파일 한다.
구문
HRESULT CompileShader(
D3DXHANDLE hFunction, DWORD Target, DWORD Flags, LPD3DXBUFFER *ppShader, LPD3DXBUFFER *ppErrorMsgs, LPD3DXSHADER_CONSTANTTABLE *ppConstantTable );
파라미터
- hFunction
- [in] 컴파일 하는 함수에 대한 일의의 식별자. NULL 를 지정할 수 없다. 「핸들」을 참조할것.
- Target
- [in] 컴파일 타겟을 식별한다. 컴파일 타겟은, DWORD 에 encode 된 셰이더 버전이다. encode 된 버전 번호를 생성하려면 ,D3DVS_VERSION 매크로를 사용한다. 현재 이 메서드가 지원 하고 있는 것은, 정점 셰이더의 컴파일 뿐이다.
- Flags
- [in] 컴파일 옵션. 더 자세한 정보는, 「D3DXSHADER 」를 참조할것.
- ppShader
- [out, retval] 컴파일 된 셰이더를 포함한 버퍼. 컴파일러 셰이더는 DWORD 의 배열이다. 버퍼에의 액세스의 더 자세한 정보는, 「ID3DXBuffer 」를 참조할것.
- ppErrorMsgs
- [out, retval] 발생한 최초의 compile error 메시지를 반드시 포함한 버퍼. 이것에는, 이펙트의 compile error와 상위 레벨 언어의 compile error가 포함된다. 버퍼에의 액세스의 더 자세한 정보는, 「ID3DXBuffer 」를 참조할것.
- ppConstantTable
- [out, retval] 정수 테이블의 포인터. 정수 테이블의 정수의 더 자세한 정보는, 「D3DXSHADER_CONSTANTTABLE 」를 참조할것. 또, 정수 테이블에는,D3DXGetShaderConstantTable 를 사용해 액세스 할 수도 있다.
반환값
성공했을 경우는,S_OK 를 돌려준다.
인수가 무효인 경우는,D3DERR_INVALIDCALL 를 돌려준다.
실패했을 경우는,E_FAIL 를 돌려준다.
주의
이 메서드는, C 와 같은 언어로 기술한 함수로부터 셰이더를 컴파일 한다. 더 자세한 정보는, 「상위 레벨 셰이더 언어」를 참조할것.
참조
D3DXSHADER_CONSTANTINFO ,D3DXSHADER_CONSTANTTABLE ,D3DXGetShaderConstantTable