Renk Aritmetiği düğümü, iki renk/doku arasında aritmetik bir işlem gerçekleştirir.
Buradaki örnekte, Bitmap düğümü A rengine, turuncu değerine sahip bir Kullanıcı Rengi düğümü ise B rengine bağlanmıştır . Mod , Toplam olarak ayarlanmıştır ve bu Çıkış , V-Ray Malzeme düğümünün Dağılım Rengi yuvasına bağlanmıştır ; bu da sonucu oluşturmak için her iki girdiyi birleştirdiği anlamına gelir.
Çıkış , Ortalama , Toplam ve Çarpım için çıkış portları mevcuttur ; bu da Mod’dan bağımsız olarak bunların aynı anda çıktısının alınabileceği anlamına gelir .

Renk A – İlk rengi/dokuyu belirtir.
Mult A – A rengi için bir çarpan.
Renk B – İkinci rengi/dokuyu belirtir.
Mult B – B rengi için bir çarpan.
Girişten Alfa Değeri Alma – Etkinleştirildiğinde, alfa değeri Renk A gölgelendiricisinden alınır . Mod , Sonuç B olarak ayarlanmışsa , alfa değeri Renk B gölgelendiricisinden alınır .
Sonuç Alfa – Çıktıdaki alfa değerini geçersiz kılacak bir değer belirler.
Mod – İki renk/doku için hesaplama yöntemini belirtir. Seçilen mod , Çıkış yuvasından çıktı olarak verilecek verileri belirler . Ek çıkış yuvaları arasında Ortalama , Toplam ve Çarpım bulunur ve bunlar ilgili mod tarafından üretilen verileri verir. Alfa, düğümden alfa değerini verir.
Sonuç A – A değerini döndürür (color_a*mult_a)
Sonuç B – B değerini döndürür (color_b*mult_b)
Çarpım – Çarpma işlemi yapar ve çarpımı döndürür (A*B).
Toplam – Toplama işlemi yapar ve toplamı döndürür (A+B).
Fark – Çıkarma işlemi yapar ve farkı döndürür (AB).
Üs – Üs alma işlemi yapar ve üssü döndürür (A^B).
Bölme – Bölme işlemi yapar ve bölümü döndürür (A/B).
Minimum – Karşılaştırma yapar ve minimum değeri döndürür.
Maksimum – Karşılaştırma yapar ve maksimum değeri döndürür.
Mutlak Fark – Çıkarma işlemi yapar ve farkı mutlak değer olarak döndürür (abs(AB)).
Düşük Yoğunluklu Renk – En düşük yoğunluğa sahip Renk parametresinin değerini döndürür . Yüksek Yoğunluklu Renk – En yüksek yoğunluğa sahip Renk parametresinin değerini döndürür . Sinüs – Sinüs fonksiyonu yapar ve sonucu döndürür (sin(A)). Cos – Bir kosinüs fonksiyonu gerçekleştirir ve sonucu döndürür (cos(A)). Abs – İlk argümanın mutlak değerini döndürür (abs(color_a*mult_a)). Ceil – En büyük argümana (A veya B) eşit veya ondan büyük bir sonraki tam sayıya yuvarlayan bir tavan fonksiyonu gerçekleştirir (ceil(A)); (ceil(B)). Exp – Bir üstel fonksiyon gerçekleştirir (e a+b ). Floor – En küçük argümana (A veya B) eşit veya ondan küçük bir sonraki tam sayıya yuvarlayan bir taban fonksiyonu gerçekleştirir (floor(A)); (floor(B)). Log – Doğal logaritma fonksiyonu gerçekleştirir (ln(A)). Log 10 – İlk argüman üzerinde 10 tabanlı bir logaritma fonksiyonu gerçekleştirir (log(A)). Sqrt – Karekök fonksiyonu gerçekleştirir (√A). Fmod – Bir bölme işlemi gerçekleştirir ve kalanı döndürür (A%B). Average – A ve B’nin ortalamasını döndürür. (((color_a*mult_a)+(color_b*mult_b))/2) Tan – Tanjant fonksiyonunu gerçekleştirir ve sonucu döndürür (tan(A.0)). Asin – Arksinüs fonksiyonunu gerçekleştirir ve sonucu döndürür (asin(A)). Acos – Arkkosinüs fonksiyonunu gerçekleştirir ve sonucu döndürür (acos(A)). Atan – Arktanjant fonksiyonunu gerçekleştirir ve sonucu döndürür (atan(A)). Atan 2 – İki argümanlı bir arktanjant fonksiyonunu gerçekleştirir ve sonucu döndürür (atan2(A,B)).
Bias Schlick – Christophe Schlick tarafından tanımlanan ve Kenneth Perlin’in orijinal tanımına dayanan daha hızlı bir sapma yaklaşımı gerçekleştirir . 1 Gain Schlick – Christophe Schlick tarafından tanımlanan ve Kenneth Perlin’in orijinal tanımına dayanan daha hızlı bir kazanç yaklaşımı gerçekleştirir . 2 Bias Perlin – Kenneth Perlin’in orijinal sapma tanımını uygular. 3 Gain Perlin – Kenneth Perlin’in orijinal kazanç tanımını uygular. 4

Sapma ve Kazanç Denklemleri #
Christophe Schlick ve Kenneth Perlin tanımlarının kesin denklemleri şunlardır:
-
bias_schlick(x, a) := x / ((1 / a – 2) * (1 – x) + 1)
-
gain_shclick(x, a) :={ bias_schlick(2 * x, a) / 2 , if a < 0.5 }{ (bias_schlick(2 * x – 1, 1 – a) + 1) / 2 , if a >= 0.5 }
-
bias_perlin(x, a) := x ^ (ln(a) / ln(0.5))
-
gain_perlin(x, a) :={ bias_perlin(2 * x, 1 – a) / 2 , if a < 0.5 }{ 1 – bias_perlin(2 – 2 * x, 1 – a) / 2 , if a >= 0.5 }
Referanslar #
[*] Kenneth Perlin ve Eric M Hoffert. Hiperdoku. SIGGRAPH, 1989.
[*] Christophe Schlick. Perlin’in bias ve gain fonksiyonlarına hızlı alternatifler. Graphics Gems, 4, 1994
