DirectX Graphics 레퍼런스 Direct3D extension (D3DX) C/C++ 레퍼런스 함수 셰이더 함수 D3DXCompileShaderFromResource   [목차열람] [주소복사] [슬롯비우기]
D3DXCompileShaderFromResource 함수
 
Microsoft DirectX 9.0

D3DXCompileShaderFromResource 함수


셰이더 파일을 컴파일 한다.

구문

HRESULT WINAPI D3DXCompileShaderFromResource(      

    HMODULE hSrcModule,     LPCTSTR pSrcResource,     CONST D3DXMACRO* pDefines,     LPD3DXINCLUDE pInclude,     LPCTSTR pFunctionName,     LPCTSTR pTarget,     DWORD Flags,     LPD3DXBUFFER* ppShader,     LPD3DXBUFFER *ppErrorMsgs,     LPD3DXSHADER_CONSTANTTABLE *ppConstantTable );

파라미터

hSrcModule
[in] 이펙트의 기술을 포함한 모듈에의 핸들. 이 인수에 NULL 를 지정 하면, 현재의 모듈이 사용된다.
pSrcResource
[in] 리소스명을 지정하는 캐릭터 라인의 포인터. 컴파일러의 설정이 Unicode 를 요구하고 있는 경우, 데이터형 LPCTSTR 는 LPCWSTR 가 된다. 그 이외의 경우는, 이 캐릭터 라인의 데이터형은 LPCSTR 가 된다. 「주의」를 참조할것.
pDefines
[in] 프리프로세서 정의의 포인터. 「D3DXMACRO 」를 참조할것.
pInclude
[in] 옵션의 인터페이스 포인터 ID3DXInclude . #include 의사 명령의 처리에 사용한다. NULL 의 경우, 파일로부터 컴파일 했을 때에는 #includes 가 받아들여져 리소스 또는 메모리로부터 컴파일 했을 때에는 #includes 는 에러가 된다.
pFunctionName
[in] 실행을 시작 하는 셰이더 엔트리 포인트 함수의 포인터. 컴파일러의 설정이 Unicode 를 요구하고 있는 경우, 데이터형 LPCTSTR 는 LPCWSTR 가 된다. 그 이외의 경우는, 이 캐릭터 라인의 데이터형은 LPCSTR 가 된다. 「주의」를 참조할것.
pTarget
[in] 컴파일 타겟을 포함한 캐릭터 라인의 포인터. 「주의」를 참조할것.
Flags
[in] D3DXSHADER 에 의해 식별되는 컴파일 옵션.
ppShader
[out] 생성 된 셰이더를 포함한 버퍼를 돌려준다. 이 버퍼는, 컴파일 끝난 셰이더 코드와 파묻히고 있는 디버그 및 심볼 테이블 정보를 포함한다.
ppErrorMsgs
[out] 컴파일중에 발생한 에러 및 경고의 리스트를 포함한 버퍼를 돌려준다. 이것들은, 디버그 모드로 실행했을 때에 디버거가 표시하는 메시지와 같다. 이 값은 NULL 이라도 좋다.
ppConstantTable
[out] 셰이더내에 파묻히고 있는 D3DXSHADER_CONSTANTTABLE 블록의 포인터를 돌려준다. D3DXGetShaderConstantTable 를 사용해 셰이더 정수에 액세스 하는 경우는, 이 블록을 사용한다. 이 값은 NULL 이라도 좋다.

반환값

성공했을 경우는,D3D_OK 를 돌려준다.

실패했을 경우는, 다음의 몇개의 값을 돌려준다.

D3DERR_INVALIDCALL메서드의 호출이 무효이다. 예를 들어, 메서드의 파라미터에 무효인 값이 설정되어 있는 경우 등이다.
D3DXERR_INVALIDDATA데이터가 무효이다.
E_OUTOFMEMORYMicrosoft® Direct3D® 가 호출을 완료하기 위한 충분한 메모리를 할당할 수가 없었다.


주의

정점 셰이더, 픽셀 셰이더, 및 텍스처를 전부 칠하는 함수에 대해서 타겟을 지정할 수 있다.

정점 셰이더의 타겟vs_1_1, vs_2_0, vs_2_sw
픽셀 셰이더의 타겟ps_1_1, ps_1_2, ps_1_3, ps_1_4, ps_2_0, ps_2_sw
텍스처의 칠해의 타겟tx_0, tx_1

컴파일러의 설정이 Unicode 를 요구하고 있는 경우, 데이터형 LPCTSTR 는 LPCWSTR 가 된다. 그 이외의 경우는, 이 캐릭터 라인의 데이터형은 LPCSTR 가 된다.

컴파일러 설정에 의해, 함수의 버전도 정해진다. Unicode 가 정의되고 있는 경우, 이 함수의 호출은 D3DXCompileShaderFromResourceW 가 된다. 그 이외의 경우는 ANSI 캐릭터 라인을 사용하므로, 이 함수의 호출은 D3DXCompileShaderFromResourceA 가 된다.

함수의 정보

헤더d3dx9shader.h
임포트 라이브러리d3dx9.lib
최저한의 operating system Windows 98

참조

D3DXCompileShader ,D3DXCompileShaderFromFile


© 2002 Microsoft Corporation. All rights reserved.
↑TOP