Fungsi D3D10CompileShader (d3d10shader.h)
Mengkompilasi shader HLSL .
Sintaks
HRESULT D3D10CompileShader(
[in] LPCSTR pSrcData,
[in] SIZE_T SrcDataSize,
[in] LPCSTR pFileName,
[in] const D3D10_SHADER_MACRO *pDefines,
[in] LPD3D10INCLUDE pInclude,
[in] LPCSTR pFunctionName,
[in] LPCSTR pProfile,
[in] UINT Flags,
[out] ID3D10Blob **ppShader,
[out] ID3D10Blob **ppErrorMsgs
);
Parameter
[in] pSrcData
Jenis: LPCSTR
Penunjuk ke string yang berisi kode sumber shader.
[in] SrcDataSize
Jenis: SIZE_T
Ukuran pSrcData, dalam byte.
[in] pFileName
Jenis: LPCSTR
Nama file yang berisi kode shader.
[in] pDefines
Jenis: const D3D10_SHADER_MACRO*
Pilihan. Penunjuk ke array definisi makro (lihat D3D10_SHADER_MACRO).
Struktur terakhir dalam array berfungsi sebagai terminator dan harus mengatur semua anggota ke 0.
Jika tidak digunakan, atur pDefines ke NULL.
[in] pInclude
Jenis: LPD3D10INCLUDE*
Pilihan. Pointer ke antarmuka ID3D10Include Interface untuk penanganan menyertakan file. Mengatur ini ke NULL akan menyebabkan kesalahan kompilasi jika shader berisi #include.
[in] pFunctionName
Jenis: LPCSTR
Nama fungsi titik masuk shader tempat eksekusi shader dimulai.
[in] pProfile
Jenis: LPCSTR
String yang menentukan profil shader atau model shader.
[in] Flags
Jenis: UINT
Opsi kompilasi shader.
[out] ppShader
Jenis: ID3D10Blob**
Penunjuk ke Antarmuka ID3D10Blob yang berisi shader yang dikompilasi, serta informasi debug dan tabel simbol yang disematkan.
[out] ppErrorMsgs
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.
Mengembalikan nilai
Jenis: HRESULT
Mengembalikan salah satu Kode Pengembalian Direct3D 10 berikut.
Keterangan
Fungsi ini menggunakan versi pengkompilasi HLSL yang dirilis dalam DirectX SDK November 2006.
Fungsi ini menerapkan dua cara untuk menyediakan informasi shader input. Gunakan pSrcData dan SrcDataLen untuk menentukan string yang berisi kode HLSL shader (dan atur pFileName ke NULL) atau gunakan pFileName untuk menentukan nama shader atau file efek (dan atur pSrcData ke NULL).
Untuk menyiapkan tahap alur yang dapat diprogram, kompilasi shader lalu ikat shader ke tahap alur yang sesuai. Misalnya, berikut adalah contoh kompilasi shader geometri (lihat Mengkompilasi Geometry Shader).
Fungsi ini, D3D10CompileShader, memanggil versi pengkompilasi shader yang dikirim setiap kali sistem operasi dirilis. Versi pengompilasi shader yang lebih terbaru dikirim ketika DirectX SDK dikirim, yang dapat diakses dari D3DX dengan memanggil versi fungsi titik masuk pengompilasi shader seperti D3DX10CompileFromFile. Lebih baik menggunakan fungsi titik entri D3DX untuk memastikan versi terbaru pengkompilasi shader akan digunakan jika Anda akan mendistribusikan ulang pustaka yang dapat didistribusikan ulang DirectX.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d3d10shader.h |
Pustaka | D3D10.lib |
DLL | D3D10.dll |