다음을 통해 공유


D3D10CreateEffectFromMemory 함수(d3d10effect.h)

컴파일된 효과를 포함하는 버퍼에서 ID3D10Effect를 만듭니다.

구문

HRESULT D3D10CreateEffectFromMemory(
  [in]  void             *pData,
  [in]  SIZE_T           DataLength,
  [in]  UINT             FXFlags,
  [in]  ID3D10Device     *pDevice,
  [in]  ID3D10EffectPool *pEffectPool,
  [out] ID3D10Effect     **ppEffect
);

매개 변수

[in] pData

형식: void*

컴파일된 효과에 대한 포인터입니다.

[in] DataLength

형식: SIZE_T

pData의 길이입니다.

[in] FXFlags

형식: UINT

효과 컴파일 옵션.

[in] pDevice

형식: ID3D10Device*

디바이스에 대한 포인터입니다( ID3D10Device 인터페이스 참조).

[in] pEffectPool

형식: ID3D10EffectPool*

선택 사항입니다. 효과 간에 공유되는 효과 변수의 메모리 공간에 대한 포인터입니다( ID3D10EffectPool 인터페이스 참조).

[out] ppEffect

형식: ID3D10Effect**

만든 효과를 포함하는 ID3D10Effect 인터페이스 에 대한 포인터입니다.

반환 값

형식: HRESULT

다음 Direct3D 10 반환 코드 중 하나를 반환합니다.

설명

참고

연결 d3d10_1.lib 은 Direct3D10.1 프로그래밍 모델 구현인 의 d3d10_1.dll구현을 제공합니다. 연결 d3d10.lib 은 Direct3D10 프로그래밍 모델 구현인 의 d3d10.dll구현을 제공합니다.

이 메서드는 런타임 전에 컴파일되어 메모리에 로드된 효과에서 ID3D10Effect Interface 개체를 만드는 데 사용됩니다. 효과를 미리 컴파일하는 데 도움이 되는 내용은 오프라인 컴파일을 참조하세요. ASCII .fx 파일을 로드하고 컴파일하려면 효과 컴파일(Direct3D 10)을 참조하세요.

예제

효과 컴파일

fxc.exe /T fx_4_0 /Fo Tutorial03.fxo Tutorial03.fx      

런타임에 컴파일된 효과를 로드합니다.

ifstream is("tutorial03.fxo", ios::binary);
is.seekg(0,ios_base::end);
streampos pos = is.tellg();
is.seekg(0,ios_base::beg);
char * effectBuffer = new char[pos];
is.read(effectBuffer,pos);
	
hr = D3D10CreateEffectFromMemory((void *)effectBuffer,pos,0,g_pd3dDevice,NULL,&g_pEffect);

요구 사항

   
대상 플랫폼 Windows
헤더 d3d10effect.h
라이브러리 d3d10_1.lib, d3d10.lib
DLL d3d10_1.dll, d3d10.dll

추가 정보

효과 함수(Direct3D 10)