POV-Ray Programlama Dili...

DoWn LiTe

Uzman üye
9 Nis 2007
1,608
33
emekli mod
POV-Ray (The Persistence of Vision Ray-Tracer), ışın izleme (ray tracing) yöntemi kullanarak üç boyutlu, foto gerçekçi görüntüler oluşturmanızı sağlayan bir yazılım ve programlama dilidir. Program, sahnedeki nesneler, ışıklar ve kamera ile ilgili bilgilerin bulunduğu bir metin dosyasını okur ve bu bilgilere göre bir görüntü üretir. Işın izleme yöntemi sayısal görüntü oluşturmak için hızlı bir yöntem değildir ancak çok kaliteli sonuçlar, gerçekçi yansımalar, gölgeler, perspektif ve diğer etkiler yüzünden tercih edilir.

POV-Ray dünyadaki en popüler ışın izleme yazılımıdır (raytracer). Ücretsiz olarak dağıtılıyor olması bunda etkili olmuştur ancak bu yazılımın teknik yetkinliği esas sebeptir. Başka pek çok bedelsiz ışın izleyici de mevcut iken POV-Ray'in bu kadar popüler olmasının sebebi nedir? Pek çok sebep sayılabilir ancak kısaca söylemek gerekirse: Bu yazılım hem başlangıç seviyesindeki meraklıları ürkütmeyecek kadar dengeli tasarlanmıştır hem de grafik profesyonellerinin had safhada faydalanabilecekleri detaya, güce ve çokyönlülüğe sahiptir. Elbette en nihayetinde önemli olan sonuçtur ve POV-Ray ile üretilen görüntülerin kalitesi epey yüksek olabilmektedir. Usta tasarımcıların ürettikleri bazı görüntülerin fotoğraf mı yoksa bilgisayarda üretilmiş sayısal bir imaj olup olmadığını ayırt edebilmek kişiyi zorlayabilir. Programın bu kadar yaygınlaşmasının bir başka sebebi ise akla gelen hemen her işletim sistemi üzerinde çalışabilmesidir: GNU/Linux, Mac OS, her türlü UNIX, MS Windows NT, Windows 2000, Windows XP, vs.

POV-Ray bir modelleyici değildir. Yani sahnelerinizi görsel bir arabirim ve fare ile sürükle-bırak yöntemi ile tasarlamanızı sağlamaz. Bu iş için hazırlanmış pek çok paralı ya da bedava modelleyici yazılım mevcuttur ve bunlarla oluşturulan sahneler POV-Ray metin dosyası olarak kaydedilebilir. POV-Ray sahneleri oluşturmak için tek yapmanız gereken bir metin editörüdür (tercihan vim).

POV-Ray Ne Değildir ?
Bu yöntemi ilk kez duyan kullanıcılar "ne kadar da ilkel!" diye düşünebilirler ancak POV-Ray'e gücünü ve esnekliğini veren şeyin tam da bu olduğunu fark ettiklerinde epey şaşıracaklardır. İşaretle-ve-tıkla yöntemi ile görüntü oluşturmanıza izin veren pek çok yazılım vardır ancak iş oluşacak nihai görüntü ile ilgili hassas ayarlara geldi mi metin tabanlı bir "sahne tanımlama dili" (scene description language - sdl) yönteminin üzerine yoktur.

POV-Ray'in Özellikleri (Kısaca)

* Kolay bir sahne tanımlama dili.
* Yüzlerce örnek sahne dosyası.
* Öntanımlı pek çok şeklin, rengin ve kaplamanın (texture) bulunduğu hazır "include" dosyaları.
* Çok yüksek kaliteli görüntü (48-bitlik renge kadar çıkabilir).
* Düzgün yükseklik alanları ile manzara oluşturabilme.
* Perspektif, ortografik, balıkgözü ve daha pek çok kamera çeşidi.
* Spot ışıkları, silindirik ışıklar, alan ışıkları.
* Daha gerçekçi yüzeyler için Phong ve "specular" ışıklandırma.
* Sis, gökkuşağı, değişik gökyüzü koşulları gibi atmosferik etkiler.
* Bulut, toz, ateş, buhar gibi etkiler oluşturabilmek için parçacık sistemleri.
* Targa, BMP, PNG, PPM gibi pek çok formatta çıktı üretme yeteneği.
* Küre, kutu, kuadrikler, silindir, koni, üçgen, düzlem gibi temel şekiller.
* Torus (simit), bezier eğrileri, yükseklik alanları (dağlar), kuartikler, yazı, süperkuadrikler, dönel yüzeyler, prizmalar, poligonlar, fraktaller, izoyüzeyler ve parametrik yüzeyler gibi ileri seviyeli şekiller.
* Bütün bu şekiller Yapısal Katı Geometri (Constructive Solid Geometry - CSG) kuralları kullanılarak birleştirilebilir ve çok daha karmaşık ve detaylı şekiller oluşturulabilir. POV-Ray birleşim, kesişim ve fark işlemlerini destekler.
* Nesneler pek çok hazır malzeme ile (krom, gümüş, altın, ahşap, vs.) kaplanabilir. Nesnelerin şeffaflıkları ayarlanabilir. Nesnelerin üzerine başka görüntüler değişik şekillerde yayılabilir (söz gelimi fotoğrafınızı bir küre üzerine basabilirsiniz).
* Görüntü oluşturulurken oluştuğu kadarını ekranda izleyebilirsiniz.
* Görüntü oluşturma işlemi (rendering) yarıyolda kesilebilir ve daha sonra kaldığı yerden devam ettirilebilir.

Örnek Kod:


Kod:
#include "colors.inc"

background { color Cyan }
camera {
  ******** <0, 2, -3>
  look_at  <0, 1,  2>
}

sphere {
  <0, 1, 2>, 2
  texture {
    pigment { color Yellow }
  }
}

light_source { <2, 4, -3> color White}
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.