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.
Visual Studio'daki Gölgelendirici Tasarım Aracı görsel efektleri grafik olarak temsil eder. Bu grafikler, hedeflenen etkiyi elde etmek için kesin yollarla seçilen ve bağlanan düğümlerden oluşturulur. Her düğüm bir bilgi parçasını veya matematiksel işlevi temsil eder ve aralarındaki bağlantılar sonucu elde etmek için bilgilerin grafikte nasıl aktığını gösterir. Düğüm türleri filtreler, dokular, parametreler, sabitler, yardımcı program düğümleri ve matematik düğümleridir.
Düğüm yapısı
Tüm düğümler ortak öğelerin birleşiminden oluşur. Her düğümün sağ tarafında en az bir çıkış terminali vardır (gölgelendiricinin çıkışını temsil eden son renk düğümü hariç). Hesaplamaları veya doku örnekleyicilerini temsil eden düğümlerin sol tarafında giriş terminalleri vardır, ancak bilgileri temsil eden düğümlerin giriş terminalleri yoktur. Çıkış terminalleri, bilgileri bir düğümden diğerine taşımak için giriş terminallerine bağlanır.
Girişleri yükseltme
Gölgelendirici Tasarım Aracı, efektin bir oyunda veya uygulamada kullanılabilmesi için nihai olarak HLSL kaynak kodu oluşturması gerektiğinden, Shader Tasarım Aracı düğümleri HLSL'nin kullandığı tür yükseltme kurallarına tabidir. Grafik donanımı öncelikli olarak kayan nokta değerleri üzerinde çalıştığından, farklı türler arasında tür yükseltmesi (örneğin, 'den int
float
, veya 'den- float
double
) sık karşılaşılan bir durumdur. Bunun yerine, grafik donanımı aynı işlemi aynı anda birden çok bilgi parçası üzerinde kullandığından, birçok girişin daha kısasının en uzun girişin boyutuyla eşleşecek şekilde uzatıldığı farklı bir yükseltme türü oluşabilir. Uzatılma şekli girişin türüne ve ayrıca işlemin kendisine bağlıdır:
Küçük tür bir skaler değerse:
Skaler değeri, boyutu büyük girişe eşit olan bir vektöre çoğaltılır. Örneğin, skaler giriş 5.0, işlemin en büyük girişi ne olursa olsun üç öğeli bir vektör olduğunda vektör (5.0, 5.0, 5.0) olur.
Küçük tür bir vektörse ve işlem çarpımlıysa (*, /, %, vb.), o zaman:
Vektör değeri, boyutu büyük girişe eşit olan bir vektörnün önde gelen öğelerine kopyalanır ve sondaki öğeler 1,0 olarak ayarlanır. Örneğin, vektör girişi (5.0, 5.0), dört öğeli bir vektörle çarpıldığında vektör (5.0, 5.0, 1.0, 1.0) olur. Bu, 1.0 çarpımlı kimliği kullanarak çıkışın üçüncü ve dördüncü öğelerini korur.
Küçük tür bir vektörse ve işlem ekliyse (+, -, vb.), sonra:
Vektör değeri, boyutu büyük girişe eşit olan bir vektörnün öndeki öğelerine kopyalanır ve sondaki öğeler 0,0 olarak ayarlanır. Örneğin, vektör girişi (5.0, 5.0), dört öğeli bir vektöre eklendiğinde vektör (5.0, 5.0, 0.0, 0.0) olur. Bu, 0,0 ek kimliğini kullanarak çıkışın üçüncü ve dördüncü öğelerini korur.
Düğümler ve düğüm türleri
Gölgelendirici Tasarım Aracı filtreler, doku düğümleri, parametreler, sabitler, yardımcı program düğümleri ve matematik düğümleri olmak üzere altı farklı düğüm türü sağlar ve her türe ait birkaç ayrı düğüm vardır.
Sabit düğümler
Gölgelendirici Tasarım Aracı sabit düğümler, piksel gölgelendiricisi hesaplamalarında değişmez değerleri ve ilişkilendirilmiş köşe özniteliklerini temsil eder. Köşe öznitelikleri ilişkilendirilmiş olduğundan ve her piksel için farklı olduğundan, her piksel gölgelendirici örneği sabitin farklı bir sürümünü alır. Bu, her piksele benzersiz bir görünüm verir.
Köşe özniteliği ilişkilendirmesi
Bir oyun veya uygulamadaki 3B sahnenin görüntüsü, köşeler, köşe öznitelikleri ve ilkel tanımlarla tanımlanan birçok nesnenin matematiksel olarak ekran piksellerine dönüştürülmesiyle oluşturulur. Piksele benzersiz görünümünü vermek için gereken tüm bilgiler, pikselin ilkel öğeyi oluşturan farklı köşelere yakınlığıyla bir araya gelen köşe öznitelikleri aracılığıyla sağlanır. Temel öğe, temel bir işleme öğesidir; yani nokta, çizgi veya üçgen gibi basit bir şekildir. Köşelerden yalnızca birine çok yakın olan bir piksel, bu köşeyle neredeyse aynı sabitleri alır, ancak bir ilkelin tüm köşeleri arasında eşit aralıklı bir piksel, bu köşelerin ortalaması olan sabitleri alır. Grafik programlamada, piksellerin aldığı sabitlerin ilişkilendirilmiş olduğu söylenir. Piksellere bu şekilde sabit veri sağlamak iyi görsel kalite sağlar ve aynı zamanda bellek ayak izi ve bant genişliği gereksinimlerini azaltır.
Her piksel gölgelendirici örneği yalnızca bir sabit değer kümesi alır ve bu değerleri değiştiremese de, farklı piksel gölgelendiricisi örnekleri farklı sabit veri kümeleri alır. Bu tasarım, bir gölgelendirici programının ilkeldeki her piksel için farklı bir renk çıkışı oluşturmasını sağlar.
Sabit düğüm başvurusu
Düğüm | Ayrıntılar | Özellikler |
---|---|---|
Kamera Vektör | Geçerli pikselden dünya uzayında kameraya uzanan vektör. Bunu kullanarak dünya uzayında yansımaları hesaplayabilirsiniz. Çıktı Output : float3 Geçerli pikselden kameraya vektör. |
Hiçbiri |
Renk Sabiti | Sabit bir renk değeri. Çıktı Output : float4 Renk değeri. |
Çıktı Renk değeri. |
Sabit | Sabit bir skaler değer. Çıktı Output : float Skaler değer. |
Çıktı Skaler değer. |
2B Sabit | İki bileşenli vektör sabiti. Çıktı Output : float2 Vektör değeri. |
Çıktı Vektör değeri. |
3B Sabit | Üç bileşenli vektör sabiti. Çıktı Output : float3 Vektör değeri. |
Çıktı Vektör değeri. |
4B Sabit | Dört bileşenli vektör sabiti. Çıktı Output : float4 Renk değeri. |
Çıktı Vektör değeri. |
Normalleştirilmiş Konum | Normalleştirilmiş cihaz koordinatlarıyla ifade edilen geçerli pikselin konumu. x koordinatı ve y koordinatı [-1, 1] aralığında değerlere sahiptir, z koordinatının [0, 1] aralığında bir değeri vardır ve w bileşeni görünüm alanında nokta derinliği değerini içerir; w normalleştirilmemiş. Çıktı Output : float4 Geçerli pikselin konumu. |
Hiçbiri |
Nokta Rengi | Malzeme yayma rengi ve köşe rengi özniteliklerinin bir bileşimi olan geçerli pikselin yayma rengi. Çıktı Output : float4 Geçerli pikselin dağınık rengi. |
Hiçbiri |
Nokta Derinliği | Görünüm alanında geçerli pikselin derinliği. Çıktı Output : float Geçerli pikselin derinliği. |
Hiçbiri |
Normalleştirilmiş Nokta Derinliği | Normalleştirilmiş cihaz koordinatlarıyla ifade edilen geçerli pikselin derinliği. Sonucun [0, 1] aralığında bir değeri vardır. Çıktı Output : float Geçerli pikselin derinliği. |
Hiçbiri |
Ekran Konumu | Geçerli pikselin ekran koordinatlarıyla ifade edilen konumu. Ekran koordinatları geçerli görünüm penceresine dayanır. x ve y bileşenleri ekran koordinatlarını, z bileşeni [0, 1] aralığına normalleştirilmiş derinliği ve w bileşeni de görünüm alanında derinlik değerini içerir. Çıktı Output : float4 Geçerli pikselin konumu. |
Hiçbiri |
Surface Normal | Nesne alanında geçerli pikselin yüzey normali. Nesne alanında aydınlatma katkılarını ve yansımalarını hesaplamak için bunu kullanabilirsiniz. Çıktı Output : float3 Geçerli pikselin yüzey normali. |
Hiçbiri |
Tanjant Uzay Kamera Vektör | Geçerli pikselden tanjant uzayda kameraya uzanan vektör. Tanjant alanda yansımaları hesaplamak için bunu kullanabilirsiniz. Çıktı Output : float3 Geçerli pikselden kameraya vektör. |
Hiçbiri |
Tanjant Uzay Işık Yönü | Geçerli pikselin tanjant alanında bir ışık kaynağından ışığın hangi yönde atıldığını tanımlayan vektör. Tanjant alanında aydınlatmayı ve belirtik katkıları hesaplamak için bunu kullanabilirsiniz. Çıkış: Output : float3 Geçerli pikselden bir ışık kaynağına vektör. |
Hiçbiri |
Dünya Normali | Dünya uzayında geçerli pikselin yüzey normali. Bunu, dünya uzayında aydınlatma katkılarını ve yansımalarını hesaplamak için kullanabilirsiniz. Çıktı Output : float3 Geçerli pikselin yüzey normali. |
Hiçbiri |
Dünya Konumu | Geçerli pikselin dünya uzayı içindeki konumu. Çıktı Output : float4 Geçerli pikselin konumu. |
Hiçbiri |
Parametre düğümleri
Shader Tasarım Aracı parametre düğümleri, malzeme özellikleri, yön ışıkları, kamera konumu ve zaman gibi çizim başına uygulama denetimi altındaki gölgelendiriciye girişleri temsil eder. Bu parametreleri her çizim çağrısıyla değiştirebildiğiniz için, bir nesneye farklı görünümler vermek için aynı gölgelendiriciyi kullanabilirsiniz.
Parametre düğümü başvurusu
Düğüm | Ayrıntılar | Özellikler |
---|---|---|
Kamera Dünya Konumu | Dünyanın uzayında kameranın konumu. Çıkış: Output : float4 Kameranın konumu. |
Hiçbiri |
Açık Yön | Dünya uzayında bir ışık kaynağından ışığın hangi yönde atıldığını tanımlayan vektör. Bunu, dünya uzayında aydınlatmayı ve belirtik katkıları hesaplamak için kullanabilirsiniz. Çıkış: Output : float3 Geçerli pikselden bir ışık kaynağına vektör. |
Hiçbiri |
Malzeme Ortam | Dolaylı aydınlatmaya atfedilen geçerli pikselin dağınık renk katkısı. Bir pikselin dağınık rengi, aydınlatmanın pürüzlü yüzeylerle nasıl etkileşime geçtiğini simüle eder. Dolaylı aydınlatmanın bir nesnenin gerçek dünyadaki görünümüne nasıl katkıda bulunabileceğini yaklaşık olarak ayarlamak için Material Ambient parametresini kullanabilirsiniz. Çıkış: Output : float4 Dolaylı yani ortam aydınlatması nedeniyle geçerli pikselin dağınık rengi. |
Erişim Özelliğin Model Düzenleyicisi'nden ayarlanmasını sağlamak için Genel; aksi takdirde Özel. Değer Dolaylı yani ortam aydınlatması nedeniyle geçerli pikselin dağınık rengi. |
Malzeme Dağılımı | Geçerli pikselin doğrudan aydınlatmayı nasıl yaydığını açıklayan bir renk. Bir pikselin dağınık rengi, aydınlatmanın pürüzlü yüzeylerle nasıl etkileşime geçtiğini simüle eder. Material Diffuse parametresini kullanarak geçerli pikselin doğrudan aydınlatmayı (yani yön, nokta ve spot ışıkları) nasıl yaydığını değiştirebilirsiniz. Çıkış: Output : float4 Geçerli pikselin doğrudan aydınlatmayı nasıl yaydığını açıklayan bir renk. |
Erişim Özelliğin Model Düzenleyicisi'nden ayarlanmasını sağlamak için Genel; aksi takdirde Özel. Değer Geçerli pikselin doğrudan aydınlatmayı nasıl yaydığını açıklayan bir renk. |
Malzeme İzinli | Geçerli pikselin kendisine sağladığı aydınlatmaya atfedilen renk katkısı. Parlayan bir nesnenin benzetimini yapmak için bunu kullanabilirsiniz; yani, kendi ışığını sağlayan bir nesne. Bu ışık diğer nesneleri etkilemez. Çıkış: Output : float4 Geçerli pikselin kendi kendine sağlanan aydınlatmadan kaynaklanan renk katkısı. |
Erişim Özelliğin Model Düzenleyicisi'nden ayarlanmasını sağlamak için Genel; aksi takdirde Özel. Değer Geçerli pikselin kendi kendine sağlanan aydınlatmadan kaynaklanan renk katkısı. |
Malzeme Belirtimi | Geçerli pikselin doğrudan aydınlatmayı nasıl yansıttığını açıklayan bir renk. Bir pikselin belirtik rengi, ışıklandırmanın pürüzsüz, ayna benzeri yüzeylerle nasıl etkileşime geçtiğini simüle eder. Geçerli pikselin doğrudan aydınlatmayı (yani yön, nokta ve spot ışıklarını) yansıtma şeklini değiştirmek için Material Specular parametresini kullanabilirsiniz. Çıkış: Output : float4 Geçerli pikselin doğrudan aydınlatmayı nasıl yansıttığını açıklayan bir renk. |
Erişim Özelliğin Model Düzenleyicisi'nden ayarlanmasına izin vermek için Genel; aksi takdirde Özel. Değer Geçerli pikselin doğrudan aydınlatmayı nasıl yansıttığını açıklayan bir renk. |
Malzeme Belirtik Gücü | Belirtik vurguların yoğunluğunu açıklayan skaler değer. Belirtik güç ne kadar büyük olursa, belirtik vurgular o kadar yoğun ve geniş bir alana ulaşır. Çıkış: Output : float Geçerli pikseldeki belirtik vurguların yoğunluğunu açıklayan üstel terim. |
Erişim Özelliğin Model Düzenleyicisi'nden ayarlanmasını sağlamak için Genel; aksi takdirde Özel. Değer Geçerli pikseldeki belirtik vurguların yoğunluğunu tanımlayan üs. |
Normalleştirilmiş Zaman | [0, 1] aralığına kadar normalleştirilen saniye sayısı, zaman 1'e ulaştığında 0'a sıfırlanır. Bunu, örneğin doku koordinatlarına, renk değerlerine veya diğer özniteliklere animasyon eklemek için gölgelendirici hesaplamalarında parametre olarak kullanabilirsiniz. Çıkış: Output : float Saniye olarak normalleştirilmiş süre. |
Hiçbiri |
Time | Saniye olarak süre. Bunu, örneğin doku koordinatlarına, renk değerlerine veya diğer özniteliklere animasyon eklemek için gölgelendirici hesaplamalarında parametre olarak kullanabilirsiniz. Çıkış: Output : float Saniyeler içinde. |
Hiçbiri |
Doku düğümleri
Gölgelendirici Tasarım Aracı doku düğümleri çeşitli doku türlerini ve geometrilerini örneklemektedir ve doku koordinatları üretebilir veya dönüştürebilir. Dokular nesneler üzerinde renk ve aydınlatma ayrıntısı sağlar.
Doku düğümü başvurusu
Düğüm | Ayrıntılar | Özellikler |
---|---|---|
Küp Haritası Örneği | Belirtilen koordinatlarda bir küp haritasından renk örneği alır. Yansıma efektleri için renk ayrıntısı sağlamak veya küresel bir nesneye 2B dokudan daha az bozulmaya sahip bir doku uygulamak için küp haritası kullanabilirsiniz. Giriş: UVW : float3 Doku küpü üzerinde örneğin alındığı konumu belirten bir vektör. Örnek, bu vektör küple kesiştiği yerde alınır. Çıkış: Output : float4 Renk örneği. |
Doku Örnekleyici ile ilişkili doku yazmacı. |
Normal Harita Örneği | Belirtilen koordinatlarda 2B normal bir haritadan normal bir örnek alır Bir nesnenin yüzeyinde ek geometrik ayrıntının görünümünü simüle etmek için normal bir harita kullanabilirsiniz. Normal haritalar, renk verileri yerine birim vektörlerini temsil eden paketlenmiş veriler içerir Giriş: UV : float2 Örneğin alındığı koordinatlar. Çıkış: Output : float3 Normal örnek. |
Eksen Ayarlama Normal harita örneğinin hazır olma durumunu ayarlamak için kullanılan faktör. Doku Örnekleyici ile ilişkili doku yazmacı. |
Pan UV | Belirtilen doku koordinatlarını zamanın bir işlevi olarak kaydırıyor. Bir dokuyu veya normal haritayı nesnenin yüzeyi boyunca taşımak için bunu kullanabilirsiniz. Giriş: UV : float2 Kaydıracak koordinatlar. Time : float Saniye cinsinden kaydırma süresi. Çıkış: Output : float2 Kaydırılmış koordinatlar. |
Hız X Saniye başına x ekseni boyunca kaydırılan texel sayısı. Hız Y Saniye başına y ekseni boyunca kaydırılan texel sayısı. |
Parallax UV | Belirtilen doku koordinatlarını yükseklik ve görüntüleme açısı işlevi olarak değiştirir. Bunun oluşturduğu etki parallax eşlemesi veya sanal yer değiştirme eşlemesi olarak bilinir. Düz bir yüzeyde derinlik yanılsaması oluşturmak için kullanabilirsiniz. Giriş: UV : float2 Yer değiştirme koordinatları. Height : float Koordinatlarla UV ilişkili heightmap değeri.Çıkış: Output : float2 Yerlerinden edilmiş koordinatlar. |
Derinlik Düzlemi Parallax etkisi için başvuru derinliği. Varsayılan olarak değer 0,5'tir. Daha küçük değerler dokuyu kaldırır; daha büyük değerler onu yüzeye batırıyor. Derinlik Ölçeği Paralaks etkisinin ölçeği. Bu, görünür derinliğin daha fazla veya daha az belirgin olmasını sağlar. Tipik değerler 0,02 ile 0,1 arasında değişir. |
UV Döndürme | Belirtilen doku koordinatlarını merkezi bir nokta etrafında zamanın işlevi olarak döndürür. Bir nesnenin yüzeyinde doku veya normal harita döndürmek için bunu kullanabilirsiniz. Giriş: UV : float2 Döndürülecek koordinatlar. Time : float Saniye cinsinden kaydırma süresi. Çıkış: Output : float2 Döndürülen koordinatlar. |
Orta X Döndürme merkezini tanımlayan x koordinatı. Orta Y Döndürme merkezini tanımlayan y koordinatı. Hız Dokunun saniyede döndürüldüğünde radyan cinsinden açı. |
Doku Koordinatı | Geçerli pikselin doku koordinatları. Doku koordinatları, yakındaki köşelerin doku koordinat öznitelikleri arasında ilişkilendirme yaparak belirlenir. Bunu doku alanında geçerli pikselin konumu olarak düşünebilirsiniz. Çıkış: Output : float2 Doku koordinatları. |
Hiçbiri |
Doku Boyutları | 2B doku haritasının genişliğini ve yüksekliğini gösterir. Bir gölgelendiricideki doku genişliğini ve yüksekliğini göz önünde bulundurmak için doku boyutlarını kullanabilirsiniz. Çıkış: Output : float2 Doku genişliği ve yüksekliği, vektör olarak ifade edilir. Genişlik, vektörünün ilk öğesinde depolanır. Yükseklik ikinci öğede depolanır. |
Doku Doku boyutlarıyla ilişkili doku yazmaç. |
Texel Delta | 2B doku haritasının ifadeleri arasındaki delta (uzaklık) çıkışını alır. Bir gölgelendiricide komşu texel değerlerini örneklemek için texel deltasını kullanabilirsiniz. Çıkış: Output : float2 Normalleştirilmiş doku alanında vektör olarak ifade edilen bir texel'den sonraki texel'e (çapraz olarak pozitif yönde hareket eden) delta (uzaklık). Deltanın U veya V koordinatlarını seçmeli olarak yoksayarak veya yok sayarak tüm komşu ifadelerin konumlarını türetebilirsiniz. |
Doku Texel deltasıyla ilişkili doku yazmaç. |
Doku Örneği | Belirtilen koordinatlarda bir 2B doku haritasından renk örneği alır. Bir nesnenin yüzeyinde renk ayrıntısı sağlamak için doku haritası kullanabilirsiniz. Giriş: UV : float2 Örneğin alındığı koordinatlar. Çıkış: Output : float4 Renk örneği. |
Doku Örnekleyici ile ilişkili doku yazmacı. |
Matematik düğümleri
Shader Tasarım Aracı matematik düğümleri cebirsel, mantık, trigonometrik ve diğer matematik işlemlerini gerçekleştirir.
Dekont
Gölgelendirici Tasarım Aracı matematik düğümleriyle çalışırken tür yükseltme özellikle belirgindir. Tür yükseltmenin giriş parametrelerini nasıl etkilediği hakkında daha fazla bilgi için Giriş yükseltme bölümüne bakın.
Matematik düğümü başvurusu
Düğüm | Ayrıntılar | Özellikler |
---|---|---|
Abs | Bileşen başına belirtilen girişin mutlak değerini hesaplar. Girdinin X her bileşeni için negatif değerler pozitif yapılır, böylece sonucun her bileşeni pozitif bir değere sahip olur.Giriş: X : float , float2 , float3 veya float4 Mutlak değerin belirleneceği değerler. Output: Output : girişle aynı X Bileşen başına mutlak değer. |
Hiçbiri |
Topla | Bileşen başına belirtilen girişlerin bileşene göre toplamını hesaplar. Sonucun her bileşeni için ilgili giriş X ve giriş Y bileşenleri birlikte eklenir.Giriş: X : float , float2 , float3 veya float4 Bir araya eklenecek değerlerden biri. Y : girişle aynı X Bir araya eklenecek değerlerden biri. Çıkış: Output : girişle aynı X Bileşen başına toplam. |
Hiçbiri |
Ceil | Bileşen başına belirtilen girişin tavanını hesaplar. Bir değerin tavanı, bu değerden büyük veya buna eşit en küçük tamsayıdır. Giriş: X : float , float2 , float3 veya float4 Tavanın hesaplandığı değerler. Çıkış: Output : girişle aynı X Tavan, bileşen başına. |
Hiçbiri |
Kelepçe | Belirtilen girişin her bileşenini önceden tanımlanmış bir aralığa kelepçeler. Sonucun her bileşeni için, tanımlı aralığın altındaki değerler aralıktaki en düşük değere eşit hale getirilir, tanımlı aralığın üzerindeki değerler aralıktaki en büyük değere eşit hale getirilir ve aralıktaki değerler değiştirilmez. Giriş: X : float , float2 , float3 veya float4 Sıkıştıracak değerler. Çıkış: Output : girişle aynı X Bileşen başına kıskaçlı değer. |
Maksimum Aralıktaki mümkün olan en büyük değer. Min Aralıktaki mümkün olan en küçük değer. |
Çünkü | Belirtilen girişin kosinüsünü bileşen başına radyan cinsinden hesaplar. Sonucun her bileşeni için, radyan cinsinden sağlanan ilgili bileşenin kosinüsü hesaplanır. Sonuç, [-1, 1] aralığında değerleri olan bileşenlere sahiptir. Giriş: X : float , float2 , float3 veya float4 Kosinüsünü hesaplamak için radyan cinsinden değerler. Çıkış: Output : girişle aynı X Bileşen başına kosinüsü. |
Hiçbiri |
Çapraz | Belirtilen üç bileşenli vektörlerin çarpım çarpımını hesaplar. İki vektör tarafından tanımlanan bir yüzeyin normalini hesaplamak için çapraz ürünü kullanabilirsiniz. Giriş: X : float3 Çapraz ürünün sol tarafındaki vektör. Y : float3 Çapraz ürünün sağ tarafındaki vektör. Çıkış: Output : float3 Çapraz ürün. |
Hiçbiri |
Mesafe | Belirtilen noktalar arasındaki uzaklığı hesaplar. Sonuç pozitif bir skaler değerdir. Giriş: X : float , float2 , float3 veya float4 Arasındaki mesafeyi belirlemek için noktalardan biri. Y : girişle aynı X Arasındaki mesafeyi belirlemek için noktalardan biri. Çıkış: Output : girişle aynı X Uzaklık. |
Hiçbiri |
Bölmek | Belirtilen girişlerin bileşen açısından bölüm değerini hesaplar. Sonucun her bileşeni için ilgili giriş X bileşeni, ilgili giriş Y bileşenine bölünür.Giriş: X : float , float2 , float3 veya float4 Kar payı değerleri. Y : girişle aynı X Bölen değerleri. Çıkış: Output : girişle aynı X Bileşen başına bölüm. |
Hiçbiri |
Nokta | Belirtilen vektörlerin nokta çarpımını hesaplar. Sonuç bir skaler değerdir. noktalı ürünü kullanarak iki vektör arasındaki açıyı belirleyebilirsiniz. Giriş: X : float , float2 , float3 veya float4 Terimlerden biri. Y : girişle aynı X Terimlerden biri. Çıkış: Output : float Noktalı ürün. |
Hiçbiri |
Kat | Bileşen başına belirtilen girişin tabanını hesaplar. Sonucun her bileşeni için değeri, girişin ilgili bileşeninden küçük veya buna eşit en büyük tamsayı değeridir. Sonucun her bileşeni tamsayıdır. Giriş: X : float , float2 , float3 veya float4 Katın hesaplandığı değerler. Çıkış: Output : girişle aynı X Kat, bileşen başına. |
Hiçbiri |
Fmod | Belirtilen girişlerin bileşen açısından modüllerini (kalan) hesaplar. Sonucun her bileşeni için, ilgili giriş bileşeninin bazı tamsayı (tam sayı) katı, m, girişin Y X ilgili bileşeninden çıkarılır ve kalan bir bileşen bırakılır. kat, m, geri kalanı ilgili giriş bileşeninden küçük olacak ve ilgili giriş Y X bileşeniyle aynı işarete sahip olacak şekilde seçilir. Örneğin, fmod(-3.14, 1.5) -0.14'tür.Giriş: X : float , float2 , float3 veya float4 Kar payı değerleri. Y : girişle aynı X Bölen değerleri. Çıkış: Output : girişle aynı X Modül, bileşen başına. |
Hiçbiri |
Frac | Bileşen başına belirtilen girişin tamsayı (tamsayı) bölümünü kaldırır. Sonucun her bileşeni için, girişin ilgili bileşeninin integral bölümü kaldırılır, ancak kesirli bölüm ve işaret korunur. Bu kesirli değer [0, 1) aralığında yer alır. Örneğin, -3,14 değeri -0,14 değeri olur. Giriş: X : float , float2 , float3 veya float4 Kesirli bölümün hesaplandığı değerler. Çıkış: Output : girişle aynı X Bileşen başına kesirli bölüm. |
Hiçbiri |
Lerp | Doğrusal İlişkilendirme. Belirtilen girişlerin bileşen açısından ağırlıklı ortalamasını hesaplar. Sonucun her bileşeni için ve girişlerinin X Y ilgili bileşenlerinin ağırlıklı ortalaması. Ağırlık, bir skaler tarafından Percent sağlanır ve tüm bileşenlere tekdüzen uygulanır. Noktaları, renkleri, öznitelikleri ve diğer değerleri ilişkilendirmek için bunu kullanabilirsiniz.Giriş: X : float , float2 , float3 veya float4 Kaynak değer. Sıfır olduğunda Percent , sonuç bu girişe eşittir.Y : girişle aynı X Terminal değeri. Bir olduğunda Percent , sonuç bu girişe eşittir.Percent : float Girişten girişe X Y olan uzaklık yüzdesi olarak ifade edilen skaler ağırlık.Çıkış: Output : girişle aynı X Belirtilen girişlerle birlikte çizili bir değer. |
Hiçbiri |
Çarpma Ekle | Belirtilen girişlerin bileşen açısından çarpma-ekleme işlemini hesaplar. Sonucun her bileşeni için, girişlerin M ilgili bileşenlerinin ürünü ve A ilgili giriş B bileşenine eklenir. Bu işlem dizisi ortak formüllerde bulunur; örneğin, bir çizginin nokta eğimi formülünde ve bir girişi ölçeklendirmek ve sonra sapmak için kullanılan formülde.Giriş: M : float , float2 , float3 veya float4 Birlikte çarpmak için değerlerden biri. A : girişle aynı M Birlikte çarpmak için değerlerden biri. B : girişle aynı M Diğer iki girişin ürününe eklenecek değerler. Çıkış: Output : girişle aynı M Bileşen başına çarpma-ekleme işleminin sonucu. |
Hiçbiri |
Maksimum | Belirtilen girişlerin bileşen açısından en yüksek sayısını hesaplar. Sonucun her bileşeni için, girişlerin ilgili bileşenlerinden daha fazla alınır. Giriş: X : float , float2 , float3 veya float4 En yüksek değerin hesaplandığı değerlerden biri. Y : girişle aynı X En yüksek değerin hesaplandığı değerlerden biri. Çıkış: Output : girişle aynı X Bileşen başına en yüksek değer. |
Hiçbiri |
Min | Belirtilen girişlerin bileşen açısından en düşük değerini hesaplar. Sonucun her bileşeni için, girişlerin ilgili bileşenlerinden daha azı alınır. Giriş: X : float , float2 , float3 veya float4 En düşük değerin hesaplandığı değerlerden biri. Y : girişle aynı X En düşük değerin hesaplandığı değerlerden biri. Çıkış: Output : girişle aynı X Bileşen başına en düşük değer. |
Hiçbiri |
Çarpma | Belirtilen girişlerin bileşen açısından çarpımını hesaplar. Sonucun her bileşeni için, girişlerin X ilgili bileşenleri ve Y birlikte çarpılır.Giriş: X : float , float2 , float3 veya float4 Birlikte çarpmak için değerlerden biri. Y : girişle aynı X Birlikte çarpmak için değerlerden biri. Çıkış: Output : girişle aynı X Ürün, bileşen başına. |
Hiçbiri |
Normalleştirmek | Belirtilen vektör normalleştirir. Normalleştirilmiş vektör özgün vektör yönünü korur, ancak büyüklüğünü korumaz. Bir vektörünün büyüklüğünün önemli olmadığı hesaplamaları basitleştirmek için normalleştirilmiş vektörleri kullanabilirsiniz. Giriş: X : float2 , float3 veya float4 Normalleştirecek vektör. Çıkış: Output : girişle aynı X Normalleştirilmiş vektör. |
Hiçbiri |
Bir Eksi | Bileşen başına 1 ile belirtilen giriş arasındaki farkı hesaplar. Sonucun her bileşeni için, girişin ilgili bileşeni 1'den çıkarılır. Giriş: X : float , float2 , float3 veya float4 1'den çıkarılacak değerler. Çıkış: Output : girişle aynı X Bileşen başına 1 ile belirtilen giriş arasındaki fark. |
Hiçbiri |
Power | Belirtilen girişlerin bileşen açısından üstelleştirmesini (gücü) hesaplar. Sonucun her bileşeni için, ilgili giriş bileşeni girişin X Y ilgili bileşeninin gücüne yükseltilir.Giriş: X : float , float2 , float3 veya float4 Temel değerler Y : girişle aynı X Üs değerleri. Çıkış: Output : girişle aynı X Bileşen başına üs. |
Hiçbiri |
Doymuş | Belirtilen girişin her bileşenini [0, 1] aralığına kelepçeler. Bu aralığı, hesaplamalardaki yüzdeleri ve diğer göreli ölçümleri göstermek için kullanabilirsiniz. Sonucun her bileşeni için, girişin 0'dan küçük karşılık gelen bileşen değerleri 0'a, 1'den büyük değerler 1'e eşit hale getirilir ve aralıktaki değerler değiştirilmez. Giriş: X : float , float2 , float3 veya float4 Doygunluk için değerler. Çıkış: Output : girişle aynı X Bileşen başına doygun değer. |
Hiçbiri |
Günah | Belirtilen girişin sinüsünü bileşen başına radyan cinsinden hesaplar. Sonucun her bileşeni için, radyan cinsinden sağlanan ilgili bileşenin sinüsü hesaplanır. Sonuç, [-1, 1] aralığında değerleri olan bileşenlere sahiptir. Giriş: X : float , float2 , float3 veya float4 Sinüsünü hesaplamak için radyan cinsinden değerler. Çıkış: Output : girişle aynı X Bileşen başına sinüs. |
Hiçbiri |
Sqrt | Belirtilen girişin bileşen başına karekökünü hesaplar. Sonucun her bileşeni için ilgili bileşenin karekökünü hesaplanır. Giriş: X : float , float2 , float3 veya float4 Kare kökün hesaplandığı değerler. Çıkış: Output : girişle aynı X Bileşen başına karekök. |
Hiçbiri |
Subtract | Belirtilen girişlerin bileşen açısından farkını hesaplar. Sonucun her bileşeni için ilgili giriş bileşeni, ilgili giriş Y X bileşeninden çıkarılır. Bunu, ilk girişten ikinci girişe kadar uzanan vektörleri hesaplamak için kullanabilirsiniz.Giriş: X : float , float2 , float3 veya float4 Çıkarılacak değerler. Y : girişle aynı X Girdisinden X çıkarıla değerler.Çıkış: Output : girişle aynı X Bileşen başına fark. |
Hiçbiri |
3B Vektörü Dönüştür | Belirtilen 3B vektörü farklı bir alana dönüştürür. Bunu kullanarak noktaları veya vektörleri ortak bir alana getirerek anlamlı hesaplamalar yapabilirsiniz. Giriş: Vector : float3 Dönüştürülecek vektör. Çıkış: Output : float3 Dönüştürülen vektör. |
Sistemden Vektörünün yerel alanı. Sisteme Vektörün dönüştürülmesi için boşluk. |
Yardımcı program düğümleri
Gölgelendirici Tasarım Aracı yardımcı program düğümleri, diğer kategorilere düzgün bir şekilde uymayan yaygın, kullanışlı gölgelendirici hesaplamalarını temsil eder. Bazı yardımcı program düğümleri vektörleri birbirine ekleme veya sonuçları koşullu olarak seçme gibi basit işlemler gerçekleştirirken, diğerleri popüler aydınlatma modellerine göre bilgi işlem aydınlatması katkıları gibi karmaşık işlemler gerçekleştirir.
Yardımcı program düğümü başvurusu
Düğüm | Ayrıntılar | Özellikler |
---|---|---|
Ekleme Vektöru | Belirtilen girişleri birbirine ekleyerek bir vektör oluşturur. Giriş: Vector : float , float2 veya float3 Eklenecek değerler. Value to Append : float Eklenecek değer. Çıkış: Output : float2 , float3 veya float4 girişin türüne bağlı olarak Vector Yeni vektör. |
Hiçbiri |
Fresnel | Fresnel düşüşünü belirtilen normal yüzeye göre hesaplar. Fresnel düşüş değeri, geçerli pikselin normal yüzeyinin görünüm vektörüyle ne kadar yakın olduğunu gösterir. Vektörler hizalandığında işlevin sonucu 0'dır; vektörler daha az benzer hale geldikçe sonuç artar ve vektörler ortogonal olduğunda maksimuma ulaşır. Geçerli pikselin yönlendirmesi ile kamera arasındaki ilişkiye bağlı olarak efektin daha fazla veya daha az belirgin olmasını sağlamak için bunu kullanabilirsiniz. Giriş: Surface Normal : float3 Geçerli pikselin tanjant alanında tanımlanan, geçerli pikselin yüzey normali. Normal eşlemede olduğu gibi görünür yüzeyi normal olarak ayarlamak için bunu kullanabilirsiniz. Çıkış: Output : float Geçerli pikselin yansıtması. |
Üs Fresnel düşüşünü hesaplamak için kullanılan üs. |
If | Koşullu olarak bileşen başına üç olası sonuç arasından birini seçer. Koşul, belirtilen diğer iki giriş arasındaki ilişki tarafından tanımlanır. Sonucun her bileşeni için, ilk iki girişin ilgili bileşenleri arasındaki ilişkiye bağlı olarak, üç olası sonuçtan birinin karşılık gelen bileşeni seçilir. Giriş: X : float , float2 , float3 veya float4 Karşılaştıracak sol taraftaki değer. Y : girişle aynı tür X Karşılaştırmak için sağ taraftaki değer. X > Y : girişle aynı tür X değerinden büyük Y olduğunda X seçilen değerler.X = Y : girişle aynı tür X değerine eşit Y olduğunda X seçilen değerler.X < Y : girişle aynı tür X değerinden küçük Y olduğunda X seçilen değerler.Çıkış: Output : float3 Bileşen başına seçilen sonuç. |
Hiçbiri |
Lambert | Belirtilen normal yüzeyi kullanarak geçerli pikselin rengini Lambert aydınlatma modeline göre hesaplar. Bu renk, doğrudan aydınlatma altında ortam rengi ve yayma aydınlatma katkılarının toplamıdır. Ortam rengi dolaylı aydınlatmanın toplam katkısını yaklaşık olarak ifade eder, ancak ek aydınlatma yardımı olmadan düz ve donuk görünür. Dağınık aydınlatma, nesneye şekil ve derinlik eklemeye yardımcı olur. Giriş: Surface Normal : float3 Geçerli pikselin tanjant alanında tanımlanan, geçerli pikselin yüzey normali. Normal eşlemede olduğu gibi görünür yüzeyi normal olarak ayarlamak için bunu kullanabilirsiniz. Diffuse Color : float3 Geçerli pikselin yayma rengi, genellikle Nokta Rengi. Giriş sağlanmazsa, varsayılan değer beyazdır. Çıkış: Output : float3 Geçerli pikselin dağınık rengi. |
Hiçbiri |
Maske Vektör | Belirtilen vektör bileşenlerini maskeler. Belirli renk kanallarını bir renk değerinden kaldırmak veya belirli bileşenlerin sonraki hesaplamalar üzerinde etkisi olmasını önlemek için bunu kullanabilirsiniz. Giriş: Vector : float4 Maske vektör. Çıkış: Output : float4 Maskelenmiş vektör. |
Kırmızı / X Kırmızı (x) bileşenin maskesini çıkarmak için False ; aksi takdirde True. Yeşil / Y Yeşil (y) bileşenin maskesini çıkarmak için False ; aksi takdirde True. Mavi / Z Mavi (z) bileşeni maskelemek için False ; aksi takdirde True. Alfa / W Alfa (w) bileşenini maskelemek için False ; aksi takdirde True. |
Düşünceler ion Vektör | Geçerli pikselin yansıma vektörlerini kamera konumuna göre tanjant alanında hesaplar. Yansımaları, küp haritası koordinatlarını ve belirtik aydınlatma katkılarını hesaplamak için bunu kullanabilirsiniz Giriş: Tangent Space Surface Normal : float3 Geçerli pikselin tanjant alanında tanımlanan, geçerli pikselin yüzey normali. Normal eşlemede olduğu gibi görünür yüzeyi normal olarak ayarlamak için bunu kullanabilirsiniz. Çıkış: Output : float3 Yansıma vektör. |
Hiçbiri |
Aynasal | Belirtilen yüzey normalini kullanarak Phong aydınlatma modeline göre specular aydınlatma katkısını hesaplar. Specular aydınlatma, bir nesneye, örneğin su, plastik veya metallere parlak, yansıtıcı bir görünüm verir. Giriş: Surface Normal : float3 Geçerli pikselin tanjant alanında tanımlanan, geçerli pikselin yüzey normali. Normal eşlemede olduğu gibi görünür yüzeyi normal olarak ayarlamak için bunu kullanabilirsiniz. Çıkış: Output : float3 Belirtik vurguların renk katkısı. |
Hiçbiri |
Filtre düğümleri
Gölgelendirici Tasarım Aracı filtre düğümleri bir girişi (örneğin, bir renk veya doku örneği) figüratif bir renk değerine dönüştürür. Bu figüratif renk değerleri genellikle fotorealistik olmayan işlemede veya diğer görsel efektlerdeki bileşenler olarak kullanılır.
Filtre düğümü başvurusu
Düğüm | Ayrıntılar | Özellikler |
---|---|---|
Bulanık -lık | Gauss işlevi kullanarak dokudaki pikselleri bulanıklaştırır. Bir dokudaki renk ayrıntısını veya gürültüyü azaltmak için bunu kullanabilirsiniz. Giriş: UV : float2 Test için texel koordinatları. Çıkış: Output : float4 Bulanık renk değeri. |
Doku Bulanıklaştırma sırasında kullanılan örnekleyiciyle ilişkili doku yazmacı. |
Desaturate | Belirtilen renkteki renk miktarını azaltır. Renk kaldırıldıkçe, renk değeri gri ölçekli eşdeğerine yaklaşır. Giriş: RGB : float3 Doygunlu olunacak renk. Percent : float Kaldırılacak renk yüzdesi, [0, 1] aralığında normalleştirilmiş bir değer olarak ifade edilir. Çıkış: Output : float3 Doygun olmayan renk. |
Parlak -lık Kırmızı, yeşil ve mavi renk bileşenlerine verilen ağırlıklar. |
Uç Algılama | Canny kenar algılayıcısı kullanarak dokudaki kenarları algılar. Kenar pikselleri beyaz olarak çıktı alır; nonedge pikselleri siyah olarak çıktılanır. Kenar piksellerini işlemek için ek efektler kullanabilmek için dokudaki kenarları tanımlamak için bunu kullanabilirsiniz. Giriş: UV : float2 Test için texel koordinatları. Çıkış: Output : float4 Texel bir kenardaysa beyaz; aksi takdirde, siyah. |
Doku Kenar algılama sırasında kullanılan örnekleyiciyle ilişkili doku yazmacı. |
Keskinleştirmek | Dokuyu keskinleştirir. Dokudaki ince ayrıntıları vurgulamak için bunu kullanabilirsiniz. Giriş: UV : float2 Test için texel koordinatları. Çıkış: Output : float4 Bulanık renk değeri. |
Doku Keskinleştirme sırasında kullanılan örnekleyiciyle ilişkili doku yazmacı. |
Sonraki adımlar
Daha fazla bilgi edinmek için bkz. Visual Studio'da Shader Tasarım Aracı ile Gölgelendirici oluşturma.