Bagikan melalui


Fungsi D3DX10CompileFromResource

Catatan

Alih-alih menggunakan fungsi warisan ini, kami sarankan Anda mengkompilasi offline dengan menggunakan pengkompilasi baris perintah Fxc.exe atau menggunakan API D3DCompile .

 

Mengkompilasi shader atau efek dari sumber daya.

Sintaks

HRESULT D3DX10CompileFromResource(
  _In_        HMODULE            hSrcModule,
  _In_        LPCTSTR            pSrcResource,
  _In_        LPCTSTR            pSrcFileName,
  _In_  const D3D_SHADER_MACRO *pDefines,
  _In_        LPD3D10INCLUDE     pInclude,
  _In_        LPCSTR             pFunctionName,
  _In_        LPCSTR             pProfile,
  _In_        UINT               Flags1,
  _In_        UINT               Flags2,
  _In_        ID3DX10ThreadPump  *pPump,
  _Out_       ID3D10Blob         **ppShader,
  _Out_       ID3D10Blob         **ppErrorMsgs,
  _Out_       HRESULT            *pHResult
);

Parameter

hSrcModule [in]

Jenis: HMODULE

Tangani ke modul sumber daya yang berisi shader. HMODULE dapat diperoleh dengan Fungsi GetModuleHandle.

pSrcResource [in]

Jenis: LPCTSTR

Nama sumber daya yang berisi shader. Jika pengaturan pengkompilasi memerlukan Unicode, jenis data LPCTSTR diselesaikan ke LPCWSTR. Jika tidak, jenis data diselesaikan ke LPCSTR.

pSrcFileName [in]

Jenis: LPCTSTR

Pilihan. Nama file efek, yang hanya digunakan untuk pesan kesalahan. Bisa NULL.

pDefines [in]

Jenis: const D3D_SHADER_MACRO*

Opsional. Penunjuk ke array definisi makro (lihat D3D_SHADER_MACRO). Struktur terakhir dalam array berfungsi sebagai terminator dan harus mengatur semua anggota ke 0. Jika tidak digunakan, atur pDefines ke NULL.

pInclude [in]

Jenis: LPD3D10INCLUDE

Pilihan. Pointer ke antarmuka ID3D10Include Interface untuk penanganan menyertakan file. Mengatur ini ke NULL akan menyebabkan kesalahan kompilasi jika shader berisi #include.

pFunctionName [in]

Jenis: LPCSTR

Nama fungsi titik masuk shader tempat eksekusi shader dimulai. Saat Anda mengompilasi efek, D3DX10CompileFromResource mengabaikan pFunctionName; kami menyarankan agar Anda mengatur pFunctionName ke NULL karena ini adalah praktik pemrograman yang baik untuk mengatur parameter pointer ke NULL jika fungsi yang dipanggil tidak akan menggunakannya.

pProfile [in]

Jenis: LPCSTR

String yang menentukan model shader; dapat berupa profil apa pun dalam model shader 2, model shader 3, atau model shader 4.

Bendera1 [in]

Jenis: UINT

Bendera kompilasi shader.

Flags2 [in]

Jenis: UINT

Bendera kompilasi efek. Saat Anda mengompilasi shader dan bukan file efek, D3DX10CompileFromResource mengabaikan Flags2; kami menyarankan agar Anda mengatur Flags2 ke nol karena ini adalah praktik pemrograman yang baik untuk mengatur parameter nonpointer ke nol jika fungsi yang dipanggil tidak akan menggunakannya.

pPump [in]

Jenis: ID3DX10ThreadPump*

Penunjuk ke antarmuka pompa utas (lihat Antarmuka ID3DX10ThreadPump). Gunakan NULL untuk menentukan bahwa fungsi ini tidak boleh kembali sampai selesai.

ppShader [out]

Jenis: ID3D10Blob**

Penunjuk ke Antarmuka ID3D10Blob yang berisi shader yang dikompilasi, serta informasi debug dan tabel simbol yang disematkan.

ppErrorMsgs [out]

Jenis: ID3D10Blob**

Penunjuk ke Antarmuka ID3D10Blob yang berisi daftar kesalahan dan peringatan yang terjadi selama kompilasi. Kesalahan dan peringatan ini identik dengan output debug dari debugger.

pHResult [out]

Jenis: HRESULT*

Penunjuk ke nilai yang dikembalikan. Mungkin NULL. Jika pPump bukan NULL, maka pHResult harus menjadi lokasi memori yang valid hingga eksekusi asinkron selesai.

Nilai kembali

Jenis: HRESULT

Nilai yang dikembalikan adalah salah satu nilai yang tercantum dalam Direct3D 10 Return Codes.

Persyaratan

Persyaratan Nilai
Header
D3DX10Async.h

Lihat juga

Fungsi Tujuan Umum