.NET’de Ayar Kütüğü Oluşturma ve Kullanma

.NET’de ayar kütüğü (configuration file) oluşturmanın en kolay yolu, uygulama kütüğünüzün ismini kullanarak bir XML kütüğü oluşutmak “uygulama.exe.config”.

Bu kütükte XML biçiminde konulan verilere uygulama dahilinde doğrudan ulaşılabiliyor.

Öncelikle kütük içeriğine bir örnek verelim:

<code>

<?xml version=”1.0″ encoding=”utf-8″ ?>
<configuration>
<appSettings>
<add key=”sunucu” value=”localhost” />
<add key=”vt_adi” value=”benim_vt” />
<add key=”kullanici_adi” value=”kendim” />
<add key=”parola” value=”parolam” />
</appSettings>
</configuration>

</code>

Bu kütük içeriğine .NET bağlamında C# içerisinden erişmek için,

private string sunucu_adi = System.Configuration.ConfigurationSettings.AppSettings[“sunucu”];
private string vt_adi = System.Configuration.ConfigurationSettings.AppSettings[“vt_adi”];
private string kullanici = System.Configuration.ConfigurationSettings.AppSettings[“kullanici_adi”];
private string parola = System.Configuration.ConfigurationSettings.AppSettings[“parola”];

Advertisements

Derinlik Yastığı (Z Buffer) Kullanarak Görünür Yüzey Algoritması Gerçekleştirimi

 

Karmaşık bir modelin gösteriminde, normal şartlarda belirlibir noktadan görünmeyen yüzeylerin, bilgisayar tarafından üretilen resimlerdegörünmemesi bir zorunluluktur. Bu sorun genelde görünür yüzey sorunu olarak(görünür yüzeylerin belirlenmesi), ya da gizli yüzeyler sorunu (görünmeyenyüzeylerin belirlenmesi) olarak adlandırılır ve geçen 20 yılda bilgisayargrafiğinin temel araştırma konusudur. Bu algoritmanın etkileri, göreceli olarakbasit resimlerde bile izlenebilir. Eğer takip eden örneği incelersek, sağtarafdaki resimden göreceli konumlar hakkında, soldaki resime göre daha çokbilgi edinebiliriz.

3D_zbuffer

  • Başlangıçta, görüntüleyeceğimiz hiçbir poligonumuz olmadığı için, z yastığındaki tüm öğelere infinity symbol değerini atıyoruz(mümkün olan en büyük eksi sayıyı kullanabilirsiniz). Ayrıca renkleri tuttuğumuz dizideki değerleri de siyah olarak ayarlıyoruz(Herhangi bir arka plan rengi kullanabilirsiniz).


  zbuffer 3

 

  • Her bir poligon ele alınıp, tarama dönüştürme algoritması bağlamında, tarama poligonu dönüştürür ve aşağıdaki işlemlerden geçirir.
  • Poligonla kesişen her bir piksel için, eğer resim alanının ilgili pikselin z değeri, z yastığında karşılık gelen z değerinden büyükse, ilgili pikselin rengi hesaplanır, ve bu renk renk dizisine işlenir, aynı şekilde işlenen rengin z değeri de z yastığına işlenir. Eğer resmin ilgili pikselinin z değeri, z yastığındaki değerden küçükse hiçbir işlem yapılmaz.

Örnek olarak, 2 boyutlu zyastığımıza bir çizginin yerleştirilmesini ele aldık. Derinlik değerini herpikselin ortasında tuttuk ve aşağıdaki şekli elde ettik.

Benzer şekilde bir ikinci çizgiyerleştirdiğimizde, z yastığında her bir pikselde görünür çizginin değiştiğinigözlemledik.

 

 

 

Z buffer algoritması aşağıdakikod örneğiyle gerçekleştirilebilir;

 

Z Yastığı Algoritması:

 

Verilenler

Poligonlistesi {P1,P2,…,Pn}

İlkdeğerleri -∞ olarak atanmış z-yastik[x,y]dizisi

Keskinlik[x,y] dizisi

Basla

Poligon listesindeki herbir P poligonu için{

P ile kesişen herbir pixel(x,y)için{

(x,y) koordinatlarındakiz-derinlik hesapla

eğer z-derinlik

Keskinlik[x,y]= P poligonunun (x,y)deki keskinlik değeri

z-yastik[x,y]= z-derinlik

 

}

}

}

Keskinlikdizisini görüntüle.

Son

Referans Belge:

http://graphics.idav.ucdavis.edu/education/GraphicsNotes/Z-Buffer-Algorithm.pdf