Genel Bakış #
GLSL için V-Ray uzantıları (kısaca vrayGLSL) , GLSL Map | VRayGLSLTex dokusu ve VRayGLSLMtl materyali ile GLSL gölgelendiricilerinde kullanılabilen çeşitli işlevler ve değişkenler ekler . Bazı örnekler için aşağıdaki GLSL Destek#Örnekler bölümüne bakın .

Ek Önişlemci Tanımları #
__VRAY_GLSL__=110
__VRAY_HOST__=300
Ek Tip Niteleyicileri #
__kanal
__kalıcı
__renk
Dahili Değişkenler #
Dahili Tekdüze Değişkenler #
Dahili Sabitler #
Dahili Türler #
Dahili Fonksiyonlar #
Dahili BRDF fonksiyonları #
Desteklenmeyen GLSL Özellikleri #
GPU Desteği #
|
Ö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. GLSL Desteği#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ı |
Örnekler #
Örnek: Soğuk Metalik #

Oluşturulan gölgeleyici
Gölgelendirici parametreleri
Örnek: Jeneratör Şeridi #

Oluşturulan gölgeleyici
Gölgelendirici parametreleri
Örnek: Parlak Cam #

Oluşturulan gölgeleyici
Gölgelendirici parametreleri
Örnek: Parlak Phong #

Oluşturulan gölgeleyici
Gölgelendirici parametreleri
Örnek: Parlak Yansıma #

Oluşturulan gölgeleyici
Gölgelendirici parametreleri
Örnek: Oren-Nayar #

Oluşturulan gölgeleyici
Gölgelendirici parametreleri
Örnek: Türbülans #

Oluşturulan gölgeleyici
Gölgelendirici parametreleri
Örnek: Blinn Malzemesi #

Oluşturulan gölgeleyici
Gölgelendirici parametreleri
Örnek: Şeffaf Malzeme #

Oluşturulan gölgeleyici
Gölgelendirici parametreleri
Örnek: Kanalları Oluşturma #

Oluşturulan gölgeleyici
Gölgelendirici parametreleri
Notlar #
-
Resmi olarak desteklenen OpenGL Gölgelendirme Dili spesifikasyonu 1.10.59’dur .
-
`texture()` fonksiyonu `texture2D()` fonksiyonunun eş anlamlısıdır . GLSL 1.5 ile yazılmış shader’larla uyumluluk için eklenmiştir. V-Ray’in GLSL uygulaması, GLSL 1.10 spesifikasyonunu takip eder, ancak daha modern kod tabanlarını desteklemek için bir dizi uzantı içerir. `texture()` fonksiyonunun aşırı yüklenmesi de bunlardan biridir. Ek olarak, eşdeğer olan `vec4 texture2D(sampler2D sampler, int reserved)` ve `vec4 texture(sampler2D sampler, int reserved)` olmak üzere başka bir doku aşırı yükleme seti daha vardır. Bu aşırı yüklemeler, `coord` argümanını açıkça belirtmeyi gerektirmediğinden, verilen dokuyu mevcut kesişim noktasının mevcut UV koordinatlarında örneklemek için kullanılabilirler . Ayrılmış parametre kullanılmaz ve -1 olmalıdır. Bu sabit koordinatlı örnekleme fonksiyonları yalnızca V-Ray’de mevcuttur ve ideal olarak bu tür çağrıları `#ifdef _VRAY_GLSL_` bloklarında korumak gerekir .
