Fungsi D3DCompileFromFile (d3dcompiler.h)
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
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d3dcompiler.h |
Pustaka | D3DCompiler.lib |
DLL | D3DCompiler_47.dll |