Fungsi D3DX10CompileFromFile
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 file.
Sintaks
HRESULT D3DX10CompileFromFile(
_In_ LPCTSTR pSrcFile,
_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
-
pSrcFile [in]
-
Jenis: LPCTSTR
Nama file yang berisi kode shader. Jika pengaturan pengkompilasi memerlukan Unicode, jenis data LPCTSTR diselesaikan ke LPCWSTR. Jika tidak, jenis data diselesaikan ke LPCSTR.
-
pDefines [in]
-
Jenis: const D3D_SHADER_MACRO*
Pilihan. 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, D3DX10CompileFromFile 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
-
Flags2 [in]
-
Jenis: UINT
Bendera kompilasi efek. Saat Anda mengompilasi shader dan bukan file efek, D3DX10CompileFromFile 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.
Keterangan
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Lihat juga