Blog'da Ara

15 Eylül 2010 Çarşamba

HLSL Ders - 1 Basit bir giriş ...

Merhaba arkadaşlar oyunlarımızı daha iyi yapmak için oyunlarımızda daha iyi grafikler kullanırız.Farklı effectler ve shaderlar ilede oyunumuza hoş görüntüler ekliyebiliriz.Su yansımaları , kayan textureler , texture'lere netlik kazandırma vs. ve bunlar HLSL ile yazacağız Smile

Bu dersimizde hiçbir effect vermicez fakat temelimizi atıcaz.

.FX olarak yazıcaz kodlarımızı vede ben 3DGS moturunu ele alıcam kodlarımı yazarken küçük değişikler ile diğer motorlardada kullanılabilir.

Evet dersimize geçelim Smile

texture entSkin1

Evet basit geldi değil mi Big Grin . Aslında kolay bir dil değil HLSL zordur fakat hoştur Smile . Bir texture tanımladık ve entSkin1'dedik entSkin1 dememizin nedeni ise effect'i kullanıcağımız modelin texture'unu kullan dememizdir.Yani bu texture obje'nin texture'dur.


sampler Kaplama1 sampler_statetexture=<entSkin1>; } 

Kaplamamızda effect yok ve Kaplama1 adı.

Şimdi ise sadece Pixsel Shader tanımlıcaz.Vertex kullanmıcaz.

Öncelikle bu kaplamımızın verilerini tutan bir yapı oluşturucaz.


float4 PikselShader(float2 tex0:TEXCOORD0):COLOR

Böylece Pixsel Shader açtık ve verileri tutan yapıyo tex0'ı tanımladık.

Şimdi ise bu verileri döndürelim Smile .


float4 Renkler

Verdiğimiz kaplamaları oyuna döndürcek float4.

Şimdi ise kaplamayı atalım.


Renkler tex2D(Kaplama1,tex0); 

Ve evet kaplamayı attık şimdi ise verileri döndürelim Smile .

return Renkler;

Ve PikselShader tamam şimdi ise Shader versiyon ve derleme ayarlarını yapalım Smile .


technique Teknik1{
  
pass 0{PixelShader compile ps_2_0 PikselShader();
}

Evet bu kadar Smile .

Peki bu shader'ı nasıl objeye atıcam derseniz 3DGS'de şöyledir ;

MATERIAL*Shader={effect="shader.fx";
}
ENTITY*obje;
obje.material=Shader

Buda bu kadardır Smile

Emeğe saygı anlatım bana aittir Smile .

Hiç yorum yok:

Yorum Gönder