Bu sayfada V-Ray GLSL Haritası hakkında bilgi verilmektedir.
Genel Bakış #
VRayMtlGLSL ve VRayTexGLSL düğümleri , GLSL gölgelendiricilerini ( .frag, .glsl dosyaları) veya V-Ray önceden derlenmiş fragment gölgelendiricilerini ( .pfrag dosyaları) yüklemek ve bunları doğrudan V-Ray ile işlemek için kullanılabilir . Gölgelendirici dosyası bir doku yerine bir materyal tanımlıyorsa, VRayMtlGLSL materyali ile veya VRayLightMtl materyalinin renk yuvasına bir VRayTexGLSL haritası atanarak işlenebilir .
VRayGLSLMtl ve VRayTexGLSL’nin aynı kullanıcı arayüzünü paylaştığını unutmayın .
VRayMtlGLSL materyali ve VRayTexGLSL haritası , V-Ray’in GLSL desteğinin ilk aşamasının bir parçasıdır. V-Ray’in bu sürümünde, gölgelendiriciler bir yazılım sanal makinesi için bayt koduna derlenir ve daha sonra yorumlanır. Bu çalışma zamanı yorumlaması nedeniyle, GLSL gölgelendiricileri, C++ ile yazılmış V-Ray gölgelendiricilerine göre biraz daha yavaş işlenebilir. V-Ray’in gelecekteki sürümlerinde, daha hızlı işleme için gölgelendiriciler doğrudan makine koduna derlenecektir.
Sağdaki örnek için, V-Ray Materials’ın difüz kanalına dört farklı VRayTexGLSL haritası yüklenmiştir.

Temel Parametreler #
Gölgelendirici Dosya Adı – Gölgelendirici kodunu içeren .glsl, .frag veya .pfrag dosyasını belirtir.
Özellikleri yeniden oluştur – Gölgelendiriciyi yeniden yükler ve parametrelerini yeniden oluşturur.
Derlenmiş gölgeleyiciyi kaydet – Gölgeleyici dosyasını ikili önceden derlenmiş parça gölgeleyici dosyası (.pfrag) olarak kaydeder.
Görünüm penceresi rengi – Görünüm penceresi gölgelendirmesinde kullanılan malzemenin dağılım bileşenini belirtir.
Maksimum Işın Derinliği – Gölgelendirici için maksimum yansıma/kırılma derinliğini belirtir.
Sonucu Sınırla – Sonucun [0, Sınır Değeri ] aralığında sınırlandırılıp sınırlandırılmayacağını belirler.
Sıkıştırma Değeri – Sıkıştırma Sonucu etkinleştirilmişse , üst sıkıştırma sınırını belirtir .
Shader Alfa Kullan – Etkinleştirildiğinde, shader’da hesaplanan alfa değerini kullanın.
Şeffaflık – Eğer “Shader Alfa Kullan” seçeneği devre dışı bırakılmışsa , alfa değerini geçersiz kılar .
UV Koordinatları –
Tepe Noktası Kanalları –

Gölgelendirici Nitelikleri #
Bu bölüm, shader’ın kendisinde bulunan tüm parametreleri içerir ve buradan düzenlenebilir.

GPU Desteği #
GLSL shader’ı, belirli sınırlamalar dahilinde V-Ray GPU tarafından desteklenmektedir. GPU desteği hakkında detaylı bilgileri aşağıda bulabilirsiniz.
|
Özellik |
GPU Desteği |
|---|
|
Özellik |
GPU Desteği |
|---|---|
|
Dahili değişkenler |
|
|
gl_NormalMatrix |
Her zaman birim matris. |
|
gl_ModelViewMatrixTranspose |
Her zaman birim matris. |
|
gl_DokuMatrisi |
Her zaman birim matris. |
|
gl_TextureMatrixInverse |
Her zaman birim matris. |
|
gl_TextureMatrixInverseTranspose |
Her zaman birim matris. |
|
gl_TextureMatrixTranspose |
Her zaman birim matris. |
|
gl_ModelViewMatrixInverseTranspose |
Her zaman birim matris. |
|
gl_FogFragCoord |
Her zaman sıfırdır. |
|
gl_TexCoord[] |
Tüm gl_TexCoord[] öğeleri özdeştir, yani birden fazla UVW kanalı desteklenmez. VRayTexGLSL#1 |
|
Dahili fonksiyonlar |
|
|
dFdx(); dFdy() |
Her zaman sıfır döndürün. |
|
fwidth() |
Her zaman sıfır döndürür. |
|
GLSL için V-Ray uzantıları |
|
|
vr_Hız |
Her zaman sıfırdır. |
|
vr_NumSuperSamples |
Her zaman 1’dir. |
|
vr_SüperÖrnekDizin |
Her zaman 1’dir. |
|
vr_TextureDu[] |
Desteklenmiyor. |
|
vr_TextureDv[] |
Desteklenmiyor. |
|
vr_VertexData[] |
Desteklenmiyor. |
|
vr_FrameData |
Yalnızca aşağıdakiler desteklenmektedir: vr_FrameData.focalLength |
|
vr_izleme() |
Desteklenmiyor. |
|
vr_evalLight() |
Desteklenmiyor. Çağrılmaya çalışılırsa, aşağıdaki sabitler çıktı ışık yineleyicisine atanacaktır: ışık.nokta_nl = -1.0 |
|
vr_intersect() |
Desteklenmiyor. |
|
BRDF |
Yalnızca aşağıdaki BRDF çağrıları desteklenmektedir 2 : vr_brdf_diffuse() |
|
Anahtar Kelimeler |
Aşağıdaki anahtar kelimeler dikkate alınmaz: __kanal __kalıcı __yerli
|
Referanslar #
-
Randi J. Rost ve diğerleri, OpenGL Gölgelendirme Dili , ikinci baskı, Addison-Wesley, 2006
-
Lighthouse3D.com (bağlantı artık aktif değil) – GLSL’nin temellerini açıklayan ve birçok shader örneği içeren faydalı bir site.
Dipnotlar #
1 – Bu henüz geliştirme aşamasındadır.
2 – Deneysel özellik.

