Bagikan melalui


Fungsi D3DX10CompileFromMemory

Catatan

Alih-alih menggunakan fungsi warisan ini, kami sarankan Anda mengkompilasi offline dengan menggunakan pengkompilasi baris perintah Fxc.exe atau menggunakan API D3DCompile .

 

Kompilasi shader atau efek yang dimuat dalam memori.

Sintaks

HRESULT D3DX10CompileFromMemory(
  _In_        LPCSTR             pSrcData,
  _In_        SIZE_T             SrcDataLen,
  _In_        LPCSTR             pFileName,
  _In_  const D3D10_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

pSrcData [in]

Jenis: LPCSTR

Arahkan ke shader dalam memori.

SrcDataLen [in]

Jenis: SIZE_T

Ukuran shader dalam memori.

pFileName [in]

Jenis: LPCSTR

Nama file yang berisi kode shader.

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. Penunjuk ke antarmuka ANTARMUKA ID3D10Include untuk penanganan mencakup file. Mengatur ini ke NULL akan menyebabkan kesalahan kompilasi jika shader berisi #include.

pFunctionName [in]

Jenis: LPCSTR

Nama fungsi titik shader-entry tempat eksekusi shader dimulai. Saat Anda mengompilasi efek, D3DX10CompileFromMemory mengabaikan pFunctionName; kami menyarankan agar Anda mengatur pFunctionName ke NULL karena ini adalah praktik pemrograman yang baik untuk mengatur parameter penunjuk 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.

Flags1 [in]

Jenis: UINT

Bendera kompilasi shader.

Flags2 [in]

Jenis: UINT

Bendera kompilasi efek. Saat Anda mengompilasi shader dan bukan file efek, D3DX10CompileFromMemory 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.

Menampilkan nilai

Jenis: HRESULT

Nilai yang dikembalikan adalah salah satu nilai yang tercantum dalam Direct3D 10 Return Codes.

Persyaratan

Persyaratan Nilai
Header
D3DX10Async.h

Lihat juga

Fungsi Tujuan Umum