Fungsi D3D10CreateEffectFromMemory (d3d10effect.h)
Membuat ID3D10Effect dari buffer yang berisi efek yang dikompilasi.
Sintaks
HRESULT D3D10CreateEffectFromMemory(
[in] void *pData,
[in] SIZE_T DataLength,
[in] UINT FXFlags,
[in] ID3D10Device *pDevice,
[in] ID3D10EffectPool *pEffectPool,
[out] ID3D10Effect **ppEffect
);
Parameter
[in] pData
Jenis: batal*
Penunjuk ke efek yang dikompilasi.
[in] DataLength
Jenis: SIZE_T
Panjang pData.
[in] FXFlags
Jenis: UINT
[in] pDevice
Jenis: ID3D10Device*
Pointer ke perangkat (lihat ID3D10Device Interface).
[in] pEffectPool
Jenis: ID3D10EffectPool*
Pilihan. Penunjuk ke ruang memori untuk variabel efek yang dibagikan di seluruh efek (lihat Antarmuka ID3D10EffectPool).
[out] ppEffect
Jenis: ID3D10Effect**
Penunjuk ke ANTARMUKA ID3D10Effect yang berisi efek yang dibuat.
Menampilkan nilai
Jenis: HRESULT
Mengembalikan salah satu Kode Pengembalian Direct3D 10 berikut.
Keterangan
Catatan
Penautan d3d10_1.lib
memberi Anda implementasi dalam d3d10_1.dll
, yang merupakan implementasi model pemrograman Direct3D10.1. Penautan d3d10.lib
memberi Anda implementasi di d3d10.dll
, yang merupakan implementasi model pemrograman Direct3D10.
Metode ini digunakan untuk membuat objek ANTARMUKA ID3D10Effect dari efek yang telah dikompilasi sebelum runtime dan dimuat ke dalam memori. Untuk bantuan prakompilasi efek, lihat Kompilasi Offline. Untuk memuat dan mengkompilasi file ASCII .fx, lihat Mengkompilasi Efek (Direct3D 10).
Contoh
Mengkompilasi efek
fxc.exe /T fx_4_0 /Fo Tutorial03.fxo Tutorial03.fx
Muat efek yang dikompilasi saat runtime.
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);
Persyaratan
Target Platform | Windows |
Header | d3d10effect.h |
Pustaka | d3d10_1.lib, d3d10.lib |
DLL | d3d10_1.dll, d3d10.dll |