D3DXCreateEffectFromResourceEx 함수

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

구문

HRESULT D3DXCreateEffectFromResourceEx(
  _In_        LPDIRECT3DDEVICE9 pDevice,
  _In_        HMODULE           hSrcModule,
  _In_        LPCTSTR           pSrcResource,
  _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

디바이스에 대한 포인터입니다.

hSrcModule [in]

형식: HMODULE

효과 설명을 포함하는 모듈에 대한 핸들입니다. 이 매개 변수가 NULL이면 현재 모듈이 사용됩니다.

pSrcResource [in]

형식: LPCTSTR

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

pDefines [in]

형식: const D3DXMACRO*

전처리기 정의를 설명하는 D3DXMACRO 구조체의 선택적 NULL 종료 배열입니다. 이 값은 NULL일 수 있습니다.

pInclude [in]

형식: LPD3DXINCLUDE

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

pSkipConstants [in]

형식: LCSTTR

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

Flags [in]

형식: DWORD

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

pPool [in]

형식: LPD3DXEFFECTPOOL

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

ppEffect [out]

형식: LPD3DXEFFECT*

컴파일된 효과를 포함하는 버퍼를 반환합니다.

ppCompilationErrors [out]

형식: LPD3DXBUFFER*

컴파일 오류 목록이 포함된 버퍼를 반환합니다.

반환 값

형식: HRESULT

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

설명

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

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

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

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

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

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

D3DXCreateEffectFromResource는 RT_RCDATA 형식의 리소스에서 데이터를 로드합니다. Windows 리소스에 대한 자세한 내용은 MSDN을 참조하세요.

요구 사항

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

추가 정보

효과 함수

D3DXCreateEffectEx

D3DXCreateEffectFromFileEx