D3DXCreateEffectFromFileEx 함수

ASCII 또는 이진 효과 설명에서 효과를 만듭니다. 이 함수는 애플리케이션이 효과 시스템에서 무시되는 매개 변수를 제어할 수 있도록 하는 D3DXCreateEffectFromFile 의 확장 버전입니다.

구문

HRESULT D3DXCreateEffectFromFileEx(
  _In_        LPDIRECT3DDEVICE9 pDevice,
  _In_        LPCTSTR           pSrcFile,
  _In_  const D3DXMACRO         *pDefines,
  _In_        LPD3DXINCLUDE     pInclude,
  _In_        LPCSTR            pSkipConstants,
  _In_        DWORD             Flags,
  _In_        LPD3DXEFFECTPOOL  pPool,
  _Out_       LPD3DXEFFECT      *ppEffect,
  _Out_       LPD3DXBUFFER      *ppCompilationErrors
);

매개 변수

pDevice [in]

형식: LPDIRECT3DDEVICE9

효과를 만들 디바이스에 대한 포인터입니다. IDirect3DDevice9를 참조하세요.

pSrcFile [in]

형식: LPCTSTR

파일 이름에 대한 포인터입니다. 이 매개 변수는 유니코드 및 ANSI 문자열을 모두 지원합니다. 설명 부분을 참조하세요.

pDefines [in]

형식: const D3DXMACRO*

전처리기 매크로 정의의 선택적 NULL 종료 배열입니다. D3DXMACRO를 참조하세요.

pInclude [in]

형식: LPD3DXINCLUDE

#include 지시문을 처리하는 데 사용할 선택적 인터페이스 포인터 ID3DXInclude입니다. 이 값이 NULL이면 파일에서 컴파일할 때 #includes 적용되거나 리소스 또는 메모리에서 컴파일될 때 오류가 발생합니다.

pSkipConstants [in]

형식: LCSTTR

효과 시스템에서 무시되는 효과 매개 변수의 문자열입니다. 문자열은 NULL 을 종료해야 하며 세미콜론으로 구분된 각 애플리케이션 관리 상수의 이름을 포함해야 합니다.

Flags [in]

형식: DWORD

pSrcFile에 텍스트 효과가 포함된 경우 플래그는 D3DXSHADER 플래그D3DXFX 플래그의 조합일 수 있습니다. 그렇지 않으면 pSrcFile에 이진 효과가 포함되고 적용되는 유일한 플래그는 D3DXFX 플래그입니다. 이제 Direct3D 10 HLSL 컴파일러가 기본값입니다. 자세한 내용은 효과 컴파일러 도구를 참조하세요.

pPool [in]

형식: LPD3DXEFFECTPOOL

공유 매개 변수에 사용할 ID3DXEffectPool 개체에 대한 포인터입니다. 이 값이 NULL이면 매개 변수가 공유되지 않습니다.

ppEffect [out]

형식: LPD3DXEFFECT*

컴파일된 효과를 포함하는 버퍼에 대한 포인터를 반환합니다. ID3DXEffect를 참조하세요.

ppCompilationErrors [out]

형식: LPD3DXBUFFER*

컴파일 오류 목록이 포함된 버퍼에 대한 포인터를 반환합니다. ID3DXBuffer를 참조하세요.

반환 값

형식: HRESULT

함수가 성공하면 반환 값이 D3D_OK. 함수가 실패하면 반환 값은 D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY 중 하나일 수 있습니다.

설명

이 함수는 애플리케이션이 애플리케이션에서 관리할 효과 상수를 지정할 수 있도록 하는 D3DXCreateEffectFromFile 의 확장 버전입니다. 애플리케이션에서 관리하는 상수는 효과 시스템에서 무시됩니다. 즉, 애플리케이션은 상수를 초기화하고 적절한 경우 상태를 저장하고 복원하는 역할을 담당합니다.

이 함수는 pSkipConstants의 각 상수를 검사하여 다음을 확인합니다.

  • 상수 레지스터에 바인딩됩니다.
  • HLSL 셰이더 코드에서만 사용됩니다.

효과에 없는 문자열에서 상수의 이름이 지정되면 무시됩니다.

컴파일러 설정에 유니코드가 필요한 경우 데이터 형식 LPCTSTR이 LPCWSTR로 확인됩니다. 그렇지 않으면 LPCTSTR 데이터 형식이 LPCSTR로 확인됩니다.

컴파일러 설정은 함수 버전도 결정합니다. 유니코드가 정의되면 함수 호출이 D3DXCreateEffectFromFileW로 확인됩니다. 그렇지 않으면 ANSI 문자열이 사용되므로 함수 호출이 D3DXCreateEffectFromFileA로 확인됩니다.

요구 사항

요구 사항
헤더
D3DX9Effect.h
라이브러리
D3dx9.lib

추가 정보

효과 함수

D3DXCreateEffectEx

D3DXCreateEffectFromResourceEx