Bagikan melalui


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

Opsi kompilasi efek.

[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

Lihat juga

Fungsi Efek (Direct3D 10)