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 |