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
-
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 |
|
Lihat juga