3ds Max 2019 Open Shading Language (OSL) Nedir ?
Açık gölgelendirme dili (OSL), anlaşılması oldukça basit açık kaynak kodlu bir dildir. Birkaç farklı şekilde kullanılabilir. 3ds Max’in içindeki OSL gölgelendiricileri için bir yürütme ortamı olan OSL Haritasını kullanabilir ve normal yerleşik 3ds Max haritası gibi çalışır. Kolayca kullanabileceğiniz önceden yüklenmiş OSL haritaları kategorisi de vardır. Ayrıca, internetten indirdiğiniz OSL haritalarını da kullanabilirsiniz. Son olarak, geliştirme araçlarımızı kullanarak OSL’de bir gölgelendirici veya harita oluşturabilirsiniz. Bu, 3ds Max C ++ haritası olarak eşdeğer işlevselliği geliştirmekten ziyade, özel haritalar oluşturmak için çok daha basit bir yöntemdir.
OSL, gölge ağacındaki tüm gölgelendiriciler OSL gölgelendiricileri olduğu sürece, tüm gölgelik ağaçlarının derhal tam zamanında derlenmesini ve optimizasyonunu kullanır. OSL gölgelendiricileri ve düzenli gölgelendiricileri karıştırabilirsiniz.
Not: Bilgisayar grafikleri terminolojisi her zaman kesin değildir ve gölgelendirme, harita, doku, prosedür ve materyal gibi kelimeler farklı bağlamlarda, uygulamalarda ve oluşturucularda kullanıldığında farklı şeyler ifade eder. 3ds Max’teki OSL kapanmayı desteklemediğinden, haritalar olarak görünür. Ancak, OSL bir gölgeleme dili olduğundan, gölgelendiriciler ve haritalar OSL bağlamında eşanlamlı olarak kullanılacaktır.
OSL Sınırlamaları
Sınırlama |
Açıklama |
---|---|
Sadece materyalleri değil, haritaları destekler | OSL’de yazılmış bir gölgelendirici, renkler, kayan nokta değerleri, tamsayılar, dizgiler vb. Gibi farklı veri türlerini döndüren çok sayıda çıkışa sahip olabilir. Bu desteklenir.
Bununla birlikte, OSL ayrıca bir kapak olarak bilinen özel bir türü de desteklemektedir. Kapakları malzeme olarak düşünebilirsiniz. Bu desteklenmiyor. Pratikte bu, OSL haritasının yalnızca prosedürel dokular (haritalar) oluşturmak ve materyal üretmemesi için kullanılabileceği anlamına gelir. Bu nedenle, önerilen iş akışı, prosedürel doku haritalarınızı OSL’de oluşturmak, ancak çıktıları Fiziksel Malzeme gibi standartlaştırılmış, iyi tanımlanmış, oluşturucudan bağımsız bir malzemeye bağlamaktır. Çevrimiçi bulduğunuz bir OSL gölgelendiricisi herhangi bir şey yapmıyorsa veya herhangi bir çıktıya sahip değilse, bir OSL materyali olabilir. |
Sadece düz veri türlerini destekler | 3ds Max içindeki OSL Haritası sadece düz veri tiplerini destekler: renkler, vektörler, yüzer, tamsayı ve dizgiler. Girdi olarak dizileri veya yapıları desteklemez.
Bu nadiren pratikte bir problemdir, çünkü çok az OSL gölgelendiricisi aslında dizileri veya yapıları girdi olarak kullanır. Sınırlama sadece parametreler için geçerlidir, diziler ve yapılar hala OSL kodunun içinde iyi çalışır. |
#include ifadesi yoktur |
3ds Max’deki OSL kodu #includestatement içeremez. OSL kodunuz #include <stdosl.h> içeriyorsa, gerekli değildir ve kaldırılabilir. Stdosl.h dosyası örtülü olarak derleyici tarafından eklenmiştir. |