texld - ps_2_0 ke atas
Contoh tekstur pada sampler tertentu, menggunakan koordinat tekstur yang disediakan. Instruksi ini berbeda dari instruksi texld - ps_1_4 yang digunakan dalam pixel shader versi 1_4.
Sintaks
texld dst, src0, src1 |
---|
Di mana:
- dst adalah register tujuan.
- src0 adalah register sumber yang menyediakan koordinat tekstur untuk sampel tekstur.
- src1 mengidentifikasi Sampler (Direct3D 9 asm-ps) (s#), di mana # menentukan nomor sampler tekstur mana yang akan diambil sampelnya. Sampler telah mengaitkan dengan tekstur dan status sampler yang ditentukan oleh D3DSAMPLERSTATETYPE.
ps_2_0 dan ps_2_x
dst harus berupa Daftar Sementara (r#) dan hanya masker .xyzw (masker default) yang diizinkan.
src0 harus berupa Texture Coordinate Register (t#) atau Temporary Register (r#), tanpa modifier atau swizzle.
src1 harus berupa Sampler (Direct3D 9 asm-ps) (s#), tanpa pengubah atau gerimis.
Jika bit batas D3DD3DPSHADERCAPS2_0_NODEPENDENTREADLIMIT tidak diatur (dalam D3DPSHADERCAPS2_0), instruksi tekstur tertentu (texld, texldp, texldb - ps, texldd ) mungkin bergantung pada, paling banyak, urutan ketiga. Instruksi tekstur dependen urutan pertama adalah instruksi tekstur di mana:
- src0 adalah Daftar Sementara (r#).
- dst sebelumnya ditulis, sekarang sedang ditulis lagi.
Instruksi tekstur dependen urutan kedua didefinisikan sebagai instruksi tekstur yang membaca atau menulis ke Daftar Sementara (r#) yang isinya, sebelum menjalankan instruksi tekstur, bergantung (mungkin secara tidak langsung) pada hasil instruksi tekstur dependen urutan pertama. Instruksi tekstur dependen (n)urutan berasal dari instruksi tekstur (n - 1)urutan ke-1.
ps_3_0
src1 harus berupa Sampler (Direct3D 9 asm-ps) (s#), tanpa pengubah. Gerimis diperbolehkan di src0 atau src1. Gerimis diterapkan ke koordinat tekstur sebelum pencarian tekstur.
Keterangan
Instruksi ini didukung dalam versi berikut:
Versi shader piksel | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
texld | x | x | x | x | x |
Jumlah koordinat yang diperlukan src0 untuk melakukan sampel tekstur tergantung pada bagaimana src1 dinyatakan, ditambah komponen .w. Jenis sampler dideklarasikan dengan dcl_samplerType (sm2, sm3 - ps asm). Jika src1 dinyatakan sebagai sampler 2D, maka src0 harus berisi koordinat .xy; jika src1 dinyatakan sebagai sampel kubus atau sampler volume, maka src0 harus berisi koordinat .xyz. Pengambilan sampel tekstur dengan dimensi yang lebih sedikit daripada yang ada dalam koordinat tekstur diizinkan karena komponen koordinat tekstur tambahan diabaikan.
Jika tekstur sumber berisi kurang dari empat komponen, default ditempatkan di komponen yang hilang. Default bergantung pada format tekstur seperti yang diperlihatkan dalam tabel berikut:
Format Tekstur | Nilai Default |
---|---|
D3DFMT_R5G6B5, D3DFMT_R8G8B8, D3DFMT_L8, D3DFMT_L16, D3DFMT_R3G3B2, D3DFMT_CxV8U8, D3DFMT_L6V5U5 | A = 1.0 |
D3DFMT_V8U8, D3DFMT_V16U16, D3DFMT_G16R16, D3DFMT_G16R16F, D3DFMT_G32R32F | B = A = 1,0 |
D3DFMT_A8 | R = G = B = 0,0 |
D3DFMT_R16F, D3DFMT_R32F | G = B = A = 1,0 |
Semua format kedalaman/stensil | R = B = 0,0, A = 1,0 |
Topik terkait
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