Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
2 boyutlu çok örnekli dokulardan tek tek örnekleri okur.
ld2dms[_aoffimmi(u,v)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], sampleIndex |
---|
Ürün | Açıklama |
---|---|
dest |
[in] İşlemin sonucunun adresi. |
srcAddress |
[in] Örneği gerçekleştirmek için gereken doku koordinatları. |
srcResource |
[in] Hangi Doku veya Arabellekten getirilmeye başlandığını belirten bir doku yazmaç (t#) |
sampleIndex |
[in] srcResource'tan (skaler işlenen) okunacak örnekleri tanımlar. |
Açıklamalar
Bu yönerge, örnek yönergeye basitleştirilmiş bir alternatiftir. Belirtilen Dokudan sağlanan srcAddress ve sampleIndex tamsayısını kullanarak herhangi bir filtreleme (örneğin nokta örnekleme) olmadan veri getirir.
srcAddress , örneği imzasız tamsayılar biçiminde gerçekleştirmek için gereken doku koordinatları kümesini sağlar. srcAddress aralığın dışındaysa[0...( boyut -1)] #texels, ld2dms kaynağın biçimindeki tüm bileşenlerde her zaman 0 döndürür ve eksik bileşenler için varsayılan değerler (0,0,0,1,0f/0x00000001).
sampleIndex değerinin değişmez değer olması gerekmez. Çoklu örnek sayısının doku kaynağında belirtilmesi gerekmez ve derinlik veya kalıp görünümleriyle çalışır.
Aralık dışı adres davranışı üzerinde daha esnek bir denetim isteyen bir uygulama, örnekleyici durumu olarak tanımlanan adres kaydırma/yansıtma/sıkıştırma/sınır davranışına göre örnek yönergeyi kullanmalıdır.
Doku2D'ler için srcAddress.b (çekme sonrası) yoksayılır. Değer kullanılabilir dizi dizinleri aralığının dışındaysa [0...( dizi boyutu-1)], ardından ld2dms her zaman kaynağın biçiminde bulunan tüm bileşenlerde 0 döndürür ve eksik bileşenler için varsayılan değerler (0,0,0,1,0f/0x00000001).
Doku2D Dizileri için , srcAddress.b (geçiş sonrası) dizi dizinini sağlar. Aksi takdirde Doku2D ile aynı davranışa sahiptir.
srcAddress.a (geçiş sonrası) her zaman yoksayılır. HLSL derleyicisi hiçbir zaman orada hiçbir şey çıkarmaz.
srcResource , hangi Dokudan getirildiğini tanımlayan, bildirilmiş olması gereken bir doku yazmaçtır (t#) (22.3.11).
Hiçbir şeye bağlı olmayan t# dilinden getirilmeye başlanması, tüm bileşenler için 0 döndürür.
Adres Uzaklığı
İsteğe bağlı [_aoffimmi(u,v,w)] soneki (hemen tamsayıya göre adres uzaklığı), ld2dm'ler için doku koordinatlarının sağlanan bir anlık texel boşluk tamsayı sabit değerleri kümesi tarafından uzaklık olacağını gösterir. Değişmez değerler, [-8,7] tamsayı aralığına sahip 4 bit 2'nin tamamlayıcı sayılarından oluşan bir kümedir.
Uzaklıklar, texel uzayında doku koordinatlarına eklenir.
Doku1D/2B Dizilerin dizi ekseni boyunca adres uzaklıkları uygulanmaz.
doku1D'ler için _aoffimmi v,w bileşenleri yoksayılır.
Doku2D'ler için _aoffimmi w bileşeni yoksayılır.
ld2dm'lerin doku koordinatları işaretsiz tamsayılar olduğundan, uzaklık adresin sıfırın altına düşmesine neden olursa, büyük bir adrese kaydırılır ve sınır dışı erişime neden olur. Bu, ld gibi kaynak biçimindeki tüm bileşenlerde 0 döndürür ve eksik bileşenler için varsayılanlar (0,0,0,1,0f/0x00000001).
Örnek Numara
ld2dms herhangi bir kaynakta kullanılabilir. ld2dms, kaynaktan okunacak örneği belirlemek için ek (0 tabanlı) sampleIndex işlenenini kullanarak 2B çok örnekli kaynaklar dışında ld ile aynı şekilde çalışır.
Kaynaktaki örnek sayısını aşan bir sampleIndex belirtme işleminin sonucu tanımlanmamıştır, ancak cihaz bağlamının adres alanının dışında veri döndüremez.
Dönüş Türü Denetimi
Ld2dms tarafından hedef kayıt defterine döndürülen veri biçimi, örnek yönerge için açıklandığı şekilde belirlenir. srcResource parametresine (t#) bağlı biçimi temel alır.
Örnek yönergede olduğu gibi, ld2dms için döndürülen değerler, biçimde bulunmayan bileşenler için biçime özgü varsayılan değerlere sahip 4 vektörlerdir. srcResource üzerindeki swizzle, doku yükünden geri gelen 4 bileşenli sonucun nasıl kaydırileceğini belirler ve ardından dest üzerindeki .mask, dest içindeki hangi bileşenlerin güncelleştirileceğini belirler.
32 bit float değeri ld2dms tarafından 32 bit yazmaca okunduğunda, bitlere dokunulmaz; yani, normal olmayan değerler denormal olarak kalır. Bu, örnek yönergeden farklı bir durumdur.
Çeşitli Ayrıntılar
Bu yönergeyle ilişkili filtreleme olmadığından, LOD yanlılığı gibi kavramlar geçerli değildir. Buna göre örnekleyici s# parametresi yoktur.
Kısıtlamalar
- srcResource bir t# yazmaç olmalı, TextureCube, Texture1D veya Texture1DArray olmamalıdır. srcResource , t# yazmaçlarına bağlanamayan bir ConstantBuffer olamaz.
- srcResource'ta göreli adresleme işlemine izin verilmiyor.
- srcAddress ve sampleIndex geçici (r#/x#), sabit (cb#) veya giriş (v#) yazmaç olmalıdır.
- dest geçici (r#/x#) veya çıkış (o*#) yazmaç olmalıdır.
Bu yönerge aşağıdaki gölgelendirici aşamaları için geçerlidir:
Köşe Gölgelendiricisi | Geometri Gölgelendiricisi | Piksel Gölgelendiricisi |
---|---|---|
x | x | x |
En Düşük Gölgelendirici Modeli
Bu işlev aşağıdaki gölgelendirici modellerinde desteklenir.
Gölgelendirici Modeli | Destekleniyor |
---|---|
Gölgelendirici Modeli 5 | evet |
Gölgelendirici Modeli 4.1 | evet |
Gölgelendirici Modeli 4 | Hayır |
Gölgelendirici Modeli 3 (DirectX HLSL) | Hayır |
Gölgelendirici Modeli 2 (DirectX HLSL) | Hayır |
Gölgelendirici Modeli 1 (DirectX HLSL) | Hayır |