Bu makalemde sizlere bir örnek çalışma göstereceğim:Çaydanlık
Çaydanlık örneğini seçmemin nedeni Matematiksel şekilleri en güzel gösterebilen mesh lerden birisidir.Programınıza eklenen her mesh aslında üçgen şekillerinden oluşmuştur.Grafik kartınız ne kadar üçgeni destekliyorsa o kadar iyidir.Ekran kartlarının milyonlarca üçgeni desteklediğini belirtsem herhalde endişenizi yokedecektir.
gelelim çalışmamıza
Sample Browser ı açıp Empty project i bir yere yükleyin,onun üzerinden işlem yapacağız
variables kısmına aşağıdaki kodu yapıştırın
private Mesh teapotmesh = null; //Çaydanlığın render edilmesini sağlayan mesh
private Material teapotmaterial; //Çaydanlığın render edilmesini sağlayan materyaller
OnCreateDevice Metdonu bulup aşağıdaki kodu metodun en sonuna yapıştırın
//Teapot mesh ini ve gereken materyalleri oluştur
teapotmesh = Mesh.Teapot(e.Device);
teapotmaterial = new Material();
teapotmaterial.DiffuseColor = new ColorValue(1.0f, 1.0f, 1.0f, 1.0f);
OnresetDevice metodunu bulup aşağıdaki kodu yapıştırın
//ışıkları ayarla
e.Device.Lights[0].DiffuseColor = new ColorValue(1.0f, 1.0f, 1.0f, 1.0f);
e.Device.Lights[0].Direction = new Vector3(0, -1, 0);
e.Device.Lights[0].Type = LightType.Directional;
e.Device.Lights[0].Enabled = true;
son olarak da OnFrameRender metodunu bulup Beginscene kodundan sonra aşağıdaki kodu yapıştırın
device.Transform.View = camera.ViewMatrix;
device.Transform.Projection = camera.ProjectionMatrix;
device.Transform.World = Matrix.RotationX((float)appTime);
device.Material = teapotmaterial;
teapotmesh.DrawSubset(0);
ve uygulamanızı çalıştırınız
360 derece dönen bir çaydanlığınız olacak.Sağ mouse tuşuyla çaydanlığı istediğiniz yere döndürebilirsiniz.Bu örnek Mesh leri anlamanız için verilmiştir.
Ve görüntü şu şekilde oluşacaktır:
Cumartesi, Ocak 27, 2007
Kaydol:
Kayıt Yorumları (Atom)
2 yorum:
mrb ben directx e yeni başladım makalenizi begendim ama bahsi gecen sample browser belliki onceden hazırlanmış bi taslak onu bulamıyorum onun da linkini eklermısınız cok sevinirim simdiden tesekkürer
merhabalar...
bahsi geçen sample browser directx sdk nın içinde bulunan örnekleri görüntülemenize yarayan bir uygulamadır ve directx sdk ile birlikte gelir...
Saygılarımla
İbrahim Ersoy
Yorum Gönder