METODE ID3DXEffectCompiler::SetLiteral
Mengalihkan status harfiah parameter. Parameter harfiah memiliki nilai yang tidak berubah selama masa pakai efek.
Sintaks
HRESULT SetLiteral(
[in] D3DXHANDLE hParameter,
[in] BOOL Literal
);
Parameter
-
hParameter [in]
-
Jenis: D3DXHANDLE
Pengidentifikasi unik untuk parameter. Lihat Handel (Direct3D 9).
-
Literal [in]
-
Jenis: BOOL
Atur ke TRUE untuk menjadikan parameter harfiah, dan FALSE jika parameter dapat mengubah nilai selama masa pakai shader.
Menampilkan nilai
Jenis: HRESULT
Jika metode berhasil, nilai yang dikembalikan D3D_OK. Jika metode gagal, nilai yang dikembalikan dapat D3DERR_INVALIDCALL.
Keterangan
Metode ini hanya mengubah apakah parameter tersebut harfiah atau tidak. Untuk mengubah nilai parameter, gunakan metode seperti ID3DXBaseEffect::SetBool atau ID3DXBaseEffect::SetValue.
Fungsi ini harus dipanggil sebelum efek dikompilasi. Berikut adalah contoh bagaimana seseorang dapat menggunakan fungsi ini:
LPD3DXEFFECTCOMPILER pEffectCompiler;
char errors[1000];
HRESULT hr;
hr = D3DXCreateEffectCompilerFromFile("shader.fx",
NULL, NULL, 0,
&pEffectCompiler,
&errors);
//In the fx file, literalInt is declared as an int.
//By calling this function, the compiler will treat
//it as a literal (i.e. #define)
hr = pEffectCompiler->SetLiteral("literalInt", TRUE);
//create ten different variations of the same effect
LPD3DXBUFFER pEffects[10];
LPD3DXBUFFER pErrors;
for(int i = 0; i < 10; ++i)
{
hr = pEffectCompiler->SetInt("literalInt", i);
hr = pEffectCompiler->CompileEffect(0, &pEffects[i], &pErrors);
}
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk