SOFTIMAGE XSI
için yazilmis Mental Ray Shader'larini , MAX6 da kullanmak :

Emre Gören
emregoren@kablonet.com.tr

Önemli Bilgi : Burada anlatilanlar sadece compile edilmis DLL dosyalari
için geçerlidir.Bu DLL dosyasi , shader'in ana kodunu barindirmaktadir.
XSI *.preset ve *.spdl dosyalari için , burada anlatilanlar 
geçerli degildir !!


Öncelikle bir shader dosyasina ihtiyacimiz olacak.
Bu örnekte Softimage XSI dan tanidigimiz meshur DIRTmap'i kullanacagiz.

-DIRTMAP Shader'i bu adreste bulabilirsiniz http://animus.brinkster.net/downloads/Dirtmap.zip
Bu dosya Softimage XSI için yazilmis bir Mental Ray Shader'dir.Fakat Mental Ray 3.2
kullanabilen tüm programlarda da çalistirilabilir.Mesela çektigimiz dosya , Maya içinde de 
çalisir.Zaten biz de , Maya'nin kullandigi dosyayi 3dsmax6 için kullanacagiz.
Çünkü Max ve Maya , Mental Ray'ile iletisim konusunda birbirlerine çok benzerler.

-Zip dosyasini extract ettikten sonra içerisinden sadece, Maya\include\Dirtmap.mi dosyasina 
ve Dirtmap.dll dosyalarina ihtiyaciniz olacak.

-Dirtmap.dll dosyasini , 3dsmax6\mentalray\shaders\ klasörüne kopyalayin.

-Dirtmap.mi dosyasini , 3dsmax6\mentalray\include\ klasörüne kopyalayin.Bu dosyayi
Notepad ile açin , 'version 1' yazan satirin altina 'apply texture' yazin ve save edin.
Aksi taktirde sürekli crash problemleriyle karsilasabilirsiniz!!

Örnek :

declare shader
color "Dirtmap"
(
color "BaseColor", #: default 1.0 1.0 1.0
color "DirtColor",
boolean "BentNormals",
boolean "ProbeGeometry", #: default 1
boolean "UseEnvironment",
boolean "m_IllumInvis", #: default 1
scalar "RaySpread", #: default 88.0 min 0.0 softmax 90.0 max 180
integer "Samples", #: default 16 min 0 softmax 128
scalar "NearClip", #: default 0.1
scalar "FarClip", #: default 10
scalar "FalloffGain", #: default 1.0 min 0.0 softmax 1.0
vector "BasisVector",
scalar "VectorBlend" #: min 0.0 max 1.0
)
version 1 apply texture
end declare SONUÇ : -Mental Ray'in ihtiyaç duydugu asil dosya *.dll dosyasidir.Shader kodunu bu olusturur. fakat parametreler için *.mi dosyasina ihtiyaç duyulur. -*.mi dosyasi ayni zamanda bir GUI (Graphical User Interface) yaratir.Bu sekilde Max'in Material Editöründe bu shader'in parametrelerini klasik Max arabirimi olarak görebiliriz. -Su ana kadar XSI ya da Maya'da Mental Ray ile çalisan arkadaslar kullandiklari surface ile ilgili shader'larin birçogunu bu sekilde 3dsmax6'da da kullanabilirler. Diger shader tiplerini (Surface type disinda)su ana kadar denemis degilim.. Eger bu yöntemle denerseniz risk size ait :) -Tabiki kullanilacak shader dosyasinin compile edilmis bir *.dll olmasi gereklidir. XSI formatli *.preset ve *.spdl dosyalari 3dsmax6 ile çalismaz.Bunun için olasi çözüm , bu dosyalarin XSI SDK ve Mental Ray Shader Writing Wizard sayesinde compile edilmesidir. Bu konuyla ilgili daha basit bir çözüm buldugum anda baska bir açiklama daha yazacagim. -Görülen o ki , Discreet 3dsmax6 ile beraber gelen Mental Ray dökümantasyonunda bu konuya yer verilmemis.Umarim burada anlattiklarim bir sekilde isinize yarar. Mutlu günler Emre Gören