DirectX Graphics 레퍼런스 이펙트 레퍼런스 함수 D3DXCreateEffectCompilerFromFile [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
이펙트의 ASCII 기술 또는 바이너리 기술로부터 이펙트 컴파일러를 생성 한다.
구문
HRESULT D3DXCreateEffectCompilerFromFile(
LPCSTR pSrcFile, CONST D3DXMACRO* pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTCompiler *ppEffectCompiler, LPD3DXBUFFER *ppParseErrors );
파라미터
- pSrcFile
- [in] 파일명의 포인터. 이 인수는, Unicode 캐릭터 라인과 ANSI 캐릭터 라인의 양쪽 모두를 지원 하고 있다. 「주의」를 참조할것.
- pDefines
- [in] 프리프로세서 정의의 포인터. 「D3DXMACRO 」를 참조할것.
- pInclude
- [in] 옵션의 인터페이스 포인터 ID3DXInclude . #include 의사 명령의 처리에 사용한다. 이 값에 NULL 를 지정 하면, #includes 는 파일로부터 컴파일 하는 경우는 유효하지만, 리소스나 메모리로부터 컴파일 하는 경우는 에러가 된다.
- Flags
- [in] D3DXSHADER 로 식별되는 컴파일 옵션.
- ppEffectCompiler
- [out, retval] 이펙트 컴파일러가 저장 된,ID3DXEffectCompiler 인터페이스의 포인터 주소.
- ppParseErrors
- [out, retval] 컴파일시에 발생한 에러 메시지가 저장 된,ID3DXBuffer 인터페이스의 포인터 주소. 에러 메시지를 무시하려면 , 이 인수에 NULL 를 설정한다.
반환값
성공했을 경우는,D3D_OK 를 돌려준다.
실패했을 경우는, 다음의 몇개의 값을 돌려준다.
D3DERR_INVALIDCALL 메서드의 호출이 무효이다. 예를 들어, 메서드의 인수에 무효인 값이 설정되어 있는 경우 등이다. E_OUTOFMEMORY Microsoft® Direct3D® 가 호출을 완료하기 위한 충분한 메모리를 할당할 수가 없었다.
주의
컴파일러 설정에 의해, 함수의 버전도 정해진다. Unicode 를 정의 하면, 함수 호출은 D3DXCreateEffectCompilerFromFileW 에 해결된다. 그 이외의 경우, ANSI 캐릭터 라인이 사용되고 있으므로, 함수 호출은 D3DXCreateEffectCompilerFromFileA 에 해결된다.
함수의 정보
헤더 d3dx9effect.h 임포트 라이브러리 d3dx9.lib 최저한의 operating system Windows 98
참조
D3DXCreateEffectCompiler ,D3DXCreateEffectCompilerFromResource