Fungsi D3D10CompileShader (d3d10shader.h)

Mengkompilasi shader HLSL .

Catatan Gunakan D3DX10CompileFromMemory alih-alih fungsi ini.
 

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

Lihat juga

Fungsi Shader