Enumerasi D3DTEXTUREOP
Mendefinisikan operasi penaduan tekstur per tahap.
Sintaks
typedef enum D3DTEXTUREOP {
D3DTOP_DISABLE = 1,
D3DTOP_SELECTARG1 = 2,
D3DTOP_SELECTARG2 = 3,
D3DTOP_MODULATE = 4,
D3DTOP_MODULATE2X = 5,
D3DTOP_MODULATE4X = 6,
D3DTOP_ADD = 7,
D3DTOP_ADDSIGNED = 8,
D3DTOP_ADDSIGNED2X = 9,
D3DTOP_SUBTRACT = 10,
D3DTOP_ADDSMOOTH = 11,
D3DTOP_BLENDDIFFUSEALPHA = 12,
D3DTOP_BLENDTEXTUREALPHA = 13,
D3DTOP_BLENDFACTORALPHA = 14,
D3DTOP_BLENDTEXTUREALPHAPM = 15,
D3DTOP_BLENDCURRENTALPHA = 16,
D3DTOP_PREMODULATE = 17,
D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
D3DTOP_MODULATECOLOR_ADDALPHA = 19,
D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
D3DTOP_BUMPENVMAP = 22,
D3DTOP_BUMPENVMAPLUMINANCE = 23,
D3DTOP_DOTPRODUCT3 = 24,
D3DTOP_MULTIPLYADD = 25,
D3DTOP_LERP = 26,
D3DTOP_FORCE_DWORD = 0x7fffffff
} D3DTEXTUREOP, *LPD3DTEXTUREOP;
Konstanta
-
D3DTOP_DISABLE
-
Menonaktifkan output dari tahap tekstur ini dan semua tahap dengan indeks yang lebih tinggi. Untuk menonaktifkan pemetaan tekstur, atur ini sebagai operasi warna untuk tahap tekstur pertama (tahap 0). Operasi alfa tidak dapat dinonaktifkan ketika operasi warna diaktifkan. Mengatur operasi alfa ke D3DTOP_DISABLE saat penpaduan warna diaktifkan menyebabkan perilaku yang tidak terdefinisi.
-
D3DTOP_SELECTARG1
-
Gunakan argumen warna atau alfa pertama tahap tekstur ini, tidak dimodifikasi, sebagai output. Operasi ini memengaruhi argumen warna saat digunakan dengan status tahap tekstur D3DTSS_COLOROP, dan argumen alfa saat digunakan dengan D3DTSS_ALPHAOP.
-
D3DTOP_SELECTARG2
-
Gunakan argumen warna kedua atau alfa tahap tekstur ini, yang tidak dimodifikasi, sebagai output. Operasi ini memengaruhi argumen warna saat digunakan dengan status tahap tekstur D3DTSS_COLOROP, dan argumen alfa saat digunakan dengan D3DTSS_ALPHAOP.
-
D3DTOP_MODULATE
-
Kalikan komponen argumen.
-
D3DTOP_MODULATE2X
-
Kalikan komponen argumen, dan geser produk ke kiri 1 bit (secara efektif mengalikannya dengan 2) untuk pencerahan.
-
D3DTOP_MODULATE4X
-
Kalikan komponen argumen, dan geser produk ke 2 bit kiri (mengalikannya secara efektif dengan 4) untuk mencerahkan.
-
D3DTOP_ADD
-
Tambahkan komponen argumen.
-
D3DTOP_ADDSIGNED
-
Tambahkan komponen argumen dengan bias - 0,5, membuat rentang nilai yang efektif dari - 0,5 hingga 0,5.
-
D3DTOP_ADDSIGNED2X
-
Tambahkan komponen argumen dengan bias - 0,5, dan geser produk ke kiri 1 bit.
-
D3DTOP_SUBTRACT
-
Kurangi komponen argumen kedua dari argumen pertama.
-
D3DTOP_ADDSMOOTH
-
Tambahkan argumen pertama dan kedua; kemudian kurangi produk mereka dari jumlah.
-
D3DTOP_BLENDDIFFUSEALPHA
-
Padukan tahap tekstur ini secara linier, menggunakan alfa terinterpolasi dari setiap vertex.
-
D3DTOP_BLENDTEXTUREALPHA
-
Padukan tahap tekstur ini secara linear, menggunakan alfa dari tekstur tahap ini.
-
D3DTOP_BLENDFACTORALPHA
-
Campuran tahap tekstur ini secara linier, menggunakan alfa skalar yang diatur dengan status render D3DRS_TEXTUREFACTOR.
-
D3DTOP_BLENDTEXTUREALPHAPM
-
Secara linier memadukan tahap tekstur yang menggunakan alfa yang telah diubah sebelumnya.
-
D3DTOP_BLENDCURRENTALPHA
-
Padukan tahap tekstur ini secara linier, menggunakan alfa yang diambil dari tahap tekstur sebelumnya.
-
D3DTOP_PREMODULATE
-
D3DTOP_PREMODULATE diatur dalam tahap n. Output tahap n adalah arg1. Selain itu, jika ada tekstur dalam tahap n + 1, D3DTA_CURRENT apa pun di tahap n + 1 telah ditentukan sebelumnya oleh tekstur di tahap n + 1.
-
D3DTOP_MODULATEALPHA_ADDCOLOR
-
Modulasi warna argumen kedua, menggunakan alfa argumen pertama; lalu tambahkan hasilnya ke argumen satu. Operasi ini hanya didukung untuk operasi warna (D3DTSS_COLOROP).
-
D3DTOP_MODULATECOLOR_ADDALPHA
-
Memodulasi argumen; lalu tambahkan alfa argumen pertama. Operasi ini hanya didukung untuk operasi warna (D3DTSS_COLOROP).
-
D3DTOP_MODULATEINVALPHA_ADDCOLOR
-
Mirip dengan D3DTOP_MODULATEALPHA_ADDCOLOR, tetapi gunakan inversi alfa argumen pertama. Operasi ini hanya didukung untuk operasi warna (D3DTSS_COLOROP).
-
D3DTOP_MODULATEINVCOLOR_ADDALPHA
-
Mirip dengan D3DTOP_MODULATECOLOR_ADDALPHA, tetapi gunakan inversi warna argumen pertama. Operasi ini hanya didukung untuk operasi warna (D3DTSS_COLOROP).
-
D3DTOP_BUMPENVMAP
-
Lakukan pemetaan benjolan per piksel, menggunakan peta lingkungan di tahap tekstur berikutnya, tanpa luminance. Operasi ini hanya didukung untuk operasi warna (D3DTSS_COLOROP).
-
D3DTOP_BUMPENVMAPLUMINANCE
-
Lakukan pemetaan benjolan per piksel, menggunakan peta lingkungan di tahap tekstur berikutnya, dengan luminance. Operasi ini hanya didukung untuk operasi warna (D3DTSS_COLOROP).
-
D3DTOP_DOTPRODUCT3
-
Memodulasi komponen dari setiap argumen sebagai komponen yang ditandatangani, menambahkan produknya; kemudian replikasi jumlah ke semua saluran warna, termasuk alfa. Operasi ini didukung untuk operasi warna dan alfa.
Di DirectX 6 dan DirectX 7, operasi multitekstur input di atas semuanya digeser ke bawah setengah (y = x - 0,5) sebelum digunakan untuk mensimulasikan data yang ditandatangani, dan hasil skalar secara otomatis dijepit ke nilai positif dan direplikasi ke ketiga saluran output. Selain itu, perhatikan bahwa sebagai operasi warna ini tidak memperbarui alfa, ini hanya memperbarui komponen RGB.
Namun, dalam shader DirectX 8.1 Anda dapat menentukan bahwa output dirutekan ke .rgb atau komponen .a atau keduanya (default). Anda juga dapat menentukan operasi skalar terpisah pada saluran alfa.
-
D3DTOP_MULTIPLYADD
-
Melakukan operasi multiply-accumulate. Dibutuhkan dua argumen terakhir, mengalikannya bersama-sama, dan menambahkannya ke argumen input/sumber yang tersisa, dan menempatkannya ke dalam hasil.
SRGBA = Arg1 + Arg2 * Arg3
-
D3DTOP_LERP
-
Secara linier menginterpolasi antara argumen sumber kedua dan ketiga dengan proporsi yang ditentukan dalam argumen sumber pertama.
SRGBA = (Arg1) * Arg2 + (1- Arg1) * Arg3.
-
D3DTOP_FORCE_DWORD
-
Memaksa enumerasi ini untuk mengkompilasi ke ukuran 32 bit. Tanpa nilai ini, beberapa pengkompilasi akan memungkinkan enumerasi ini dikompilasi ke ukuran selain 32 bit. Nilai ini tidak digunakan.
Keterangan
Anggota jenis ini digunakan saat mengatur warna atau operasi alfa dengan menggunakan nilai D3DTSS_COLOROP atau D3DTSS_ALPHAOP dengan metode IDirect3DDevice9::SetTextureStageState .
Dalam rumus di atas, SRGBA adalah warna RGBA yang dihasilkan oleh operasi tekstur, dan Arg1, Arg2, dan Arg3 mewakili warna RGBA lengkap dari argumen tekstur. Komponen individual dari argumen ditampilkan dengan subskrip. Misalnya, komponen alfa untuk argumen 1 akan ditampilkan sebagai Arg1A.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
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