Fungsi D3DCompileFromFile (d3dcompiler.h)

Catatan Anda dapat menggunakan API ini untuk mengembangkan aplikasi Bursa Windows, tetapi Anda tidak dapat menggunakannya di aplikasi yang Anda kirimkan ke Bursa Windows. Lihat bagian , "Mengkompilasi shader untuk UWP", dalam keterangan untuk D3DCompile2.
 
Mengkompilasi kode Microsoft High Level Shader Language (HLSL) ke dalam bytecode untuk target tertentu.

Sintaks

HRESULT D3DCompileFromFile(
  [in]            LPCWSTR                pFileName,
  [in, optional]  const D3D_SHADER_MACRO *pDefines,
  [in, optional]  ID3DInclude            *pInclude,
  [in]            LPCSTR                 pEntrypoint,
  [in]            LPCSTR                 pTarget,
  [in]            UINT                   Flags1,
  [in]            UINT                   Flags2,
  [out]           ID3DBlob               **ppCode,
  [out, optional] ID3DBlob               **ppErrorMsgs
);

Parameter

[in] pFileName

Penunjuk ke string konstanta yang dihentikan null yang berisi nama file yang berisi kode shader.

[in, optional] pDefines

Array opsional struktur D3D_SHADER_MACRO yang menentukan makro shader. Setiap definisi makro berisi nama dan definisi yang dihentikan null. Jika tidak digunakan, atur ke NULL. Struktur terakhir dalam array berfungsi sebagai terminator dan harus mengatur semua anggota ke NULL.

[in, optional] pInclude

Penunjuk opsional ke antarmuka ID3DInclude yang digunakan pengkompilasi untuk menangani sertakan file. Jika Anda mengatur parameter ini ke NULL dan shader berisi #include, kesalahan kompilasi terjadi. Anda dapat meneruskan makro D3D_COMPILE_STANDARD_FILE_INCLUDE , yang merupakan penunjuk ke penangan sertakan default. Default ini termasuk handler mencakup file yang relatif terhadap direktori saat ini.

#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)

[in] pEntrypoint

Penunjuk ke string konstanta yang dihentikan null yang berisi nama fungsi titik entri shader tempat eksekusi shader dimulai. Saat Anda mengompilasi efek, D3DCompileFromFile mengabaikan pEntrypoint; kami menyarankan agar Anda mengatur pEntrypoint ke NULL karena ini adalah praktik pemrograman yang baik untuk mengatur parameter penunjuk ke NULL jika fungsi yang dipanggil tidak akan menggunakannya.

[in] pTarget

Penunjuk ke string konstanta yang dihentikan null yang menentukan target shader atau serangkaian fitur shader untuk dikompilasi. Target shader dapat menjadi model shader (misalnya, model shader 2, model shader 3, model shader 4, atau model shader 5 dan yang lebih baru). Target juga dapat menjadi jenis efek (misalnya, fx_4_1). Untuk informasi tentang target yang didukung berbagai profil, lihat Menentukan Target Pengkompilasi.

[in] Flags1

Kombinasi opsi kompilasi shader yang digabungkan dengan menggunakan operasi OR bitwise. Nilai yang dihasilkan menentukan bagaimana pengkompilasi mengkompilasi kode HLSL.

[in] Flags2

Kombinasi opsi kompilasi efek yang digabungkan dengan menggunakan operasi OR bitwise. Nilai yang dihasilkan menentukan bagaimana pengkompilasi mengkompilasi efek. Saat Anda mengompilasi shader dan bukan file efek, D3DCompileFromFile 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.

[out] ppCode

Penunjuk ke variabel yang menerima penunjuk ke antarmuka ID3DBlob yang dapat Anda gunakan untuk mengakses kode yang dikompilasi.

[out, optional] ppErrorMsgs

Penunjuk opsional ke variabel yang menerima penunjuk ke antarmuka ID3DBlob yang dapat Anda gunakan untuk mengakses pesan kesalahan pengkompilasi, atau NULL jika tidak ada kesalahan.

Mengembalikan nilai

Mengembalikan salah satu kode pengembalian Direct3D 11.

Keterangan

Catatan Versi D3dcompiler_44.dll atau yang lebih baru dari file berisi fungsi pengompilasi D3DCompileFromFile .
 

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header d3dcompiler.h
Pustaka D3DCompiler.lib
DLL D3DCompiler_47.dll

Lihat juga

Fungsi