Home Index Search Links About Us
[LinuxFocus Image]
[Navegation Bar]
  News   Archives   Companies   Tips  

Povray'e Başlangıç

by Antonio Castro

by Murat Koç


Giriş

Povray'in Çok Önemli Özeliklerinden Bazıları

Povray'in Elde Edilimi

Kurulum

Ayarlama

POV: Povray'le çalışmak için bir kullanımaracı

Bu yazı ile Povray ışınizleyicisi hakkında bir yazı dizisine başlanmaktadır. Bu yazının amacı POV-Ray'e başlayacak yeni kullanıcılara yardım etmektir.

Persistence of Vision Ray-Tracer (POV-Ray) Copyright 1996 POV-Team.


Giriş.

Povray (Persistence of Vision Raytracer) temel olarak bir ışınizleyicidir. Bu terimin anlamını bir takım ayrıntılara girmeden açıklamak zordur, bu yızden bunu ayrıntılı olarak açıklamayı ilerideki bir yazıya bırakalım. Bu an kabataslak olarak ışınizleyici dışıncesinin ne olduğunu anlatmak için; nesnelerin ve onların şekillerinin, ışık kaynaklarının, noktaların ve bir kameranın varlığının belirtimini yapan modelleri kullanarak bilgisayarda tanımlanmış sanal görüntülerin oluşturulmasını sağlama tekniği diyebiliriz. Bilgisayar minimum işlem zamanında olabildiği kadar gerşeğe yakın bir görüntü oluşturmaya çalışır. 

Mımkın olduğunda POV-Ray doğayı taklit etmeye çabalar. Bazan POV-Ray doğal bir etkinin öykünümü (simulation) ya da için uğraşmak zorunda kalabilir. Bazı kısa yollar olmadan bir imgeyi yeterli zamanda oluşturmak olanaksız olabilir. Işınizleme algoritmaları büyük tutarda ışınları(ışık ışınları gibi) hesaplayarak çalışır, bununla beraber bu ışınlar gerçek optik ışınlar gibi davranmazlar. Doğada, ışınlar ışık kaynaklarının içinde oluşurlar, boşlukta hareket eder ve fiziksel bir engelle (bir yüzey gibi) karşılaşınca saçılır, çarptığı noktada kameranın filmi veya retinaya giden yeni bir ışın oluşturur. Öte yandan, bir ışınizleyici ışınları ters yönde, retina veya filmden nesnelere ve sonra ışık kaynağına doğru hareket eder. Bu algortmanın nasıl olduğunun ayrıntılı açıklamasını gelecek yazıya bırakalım. 

Povray'in niteliği mükemmel ve çok yaygın ışınizleyicilerle karşılaştırılabilir. Işınizlemeye dayandırılan tecimsel (ticari) tasarım ürünleri bütün nesne türlerini rahatça tasarlamak için tümleşik elaygıtlarına sahiptirler. 

Povray' de, değişik bağımsız kuruluşlardan veya biçim süzgeçlerinden modeller kullanmak mümkündür, kullanücü genel olarak çok sayıda elaygıtına sahiptir. Bu Povray'i kapsamlı olarak kullanarak güzel veya güzelin de ötesinde düşlemsel (fantastik) tasarımlara erişilemeyeceği anlamına gelmez. Tüm gereksinim duyulan şey imgeleme gücüdür. 

Bir başka önemli nokta kaynak düzgüsünün (kodunun) toplumsal olmasıdır. Bu, bize kullanılan çok çeşitli teknikleri sınama olanağı verir. Povray'in yazmahakkı elyordamının A ekinde betimlenmektedir, linux gibi o da ücretsiz bir lisansa sahiptir. Ayrıntılar için özgün lisansi inceleyin. 

HTML, PostScript ve metin (hızlı gezinme için daha kolaydır) biçimlerinde elde edilebilen bir Povray elyordamı bulunmaktadır. ,Eger postscipt biçimlisinin çüktüsünü almak istiyorsanüz, yaklaşük 600 sayfa hazırlamanız gerekmektedir; bu büyük değer aslında Povray'in büyük olanaklarını yansıtmaktadır ancak bundan dolayı çekinmeye de gerek yoktur. Bu yazıda Povray'i deneme şansına erişilebilecek ve gelecek yazılarda temel kavramlar öğrenilecektir. 

Povray, onun üstün teknik yetenekleri sayesinde, bizim bilgiçizim dünyasına ön kapıdan girmemize olanak sağlamaktadır. Benim bilgiçizim kavramım salt bir tekniğin imgeleri yüksek gerçeklikle elde etmemize yardım edebileceği düşüncesi olmasına rağmen, sanatsal değerin gerçekliğe ve tekniğe yalnız başına eşdeğer olamayacağıdır. Teknoloji değerli bir yardımcıdır, ama sanatsal değeri olan herşey ilk önce bizim kafamızda oluşmalıdır. Düşünce asıl amaçtır. 

Çoğu kez gerçeklik ve düşlem (fantasy) düşünceleriyle oynamaktan hoşlanmışımdır. Bilgiçizim bu oyunun binbir biçimini izleyicide ilginç bir çatışma yaratarak oynamamıza izin verir. 
Aşağıdaki bulunakta (adreste) küçük bir imge (image) sergievim (galerim) bulunmaktadır.: 

http://slug.ctv.es/~acastro/infograf/catalog.htm 

İşte bir örnek, melez bir tasarım: bir uçak, bir yat ve bir martı. 

Seagull 1 

Seagull 1

Bu ilk imgede daha çok bir martı benzeri görmekteyiz. 

 

Seagull 2 

Seagull 2

Bununla beraber nesnenin aynı olmasına karşın ikinci görüngeden (perspektiften) daha cok bir uçak benzeri göründüğü söylenebilir. 

Nesne bir martının karaltısına (siluet) sahiptir. Nesnenin Üst kesimde saydam bir kokpite ve iki pilota sahip olduğu kolayca görülebilmektedir. Renklendirme yadırgatıcı olmakla birlikte ışınizlemeyle bu resimler şaşırtıcı bir gerçeklik derecesine çıkabilmektedir. 

Eğer bu resimleri 5 yaşındaki bir çocuğa gösterecek olur ve ona ne gördıgını sorarsanız, onun bir resim olduğunu söyleyecektir, bir çizim olduğunu değil. Eğer bir yetişkine gösterecek olursanız, sınıflandırmada bazı güçlükler çekebilir. Ne bir resim ne de bir çizim olduğunu söyleyebilir. Belki bilgisayar tarafından yaratıldığını bilebilir ama bir makine nasıl olur da bu kadar değişik ve güzel bir sahne yaratabilmektedir? 

Bu tür etki tasarımlarımda oluşturmak istediklerimdendir. Birleşimli ve yapay yapıların çeşitli gerçek özeliklerle bir araya getirildiği çatışan imgeler bu doğrultudadır. Bunun için, kuşkusuz gereksiniminiz imgeleme ve iyi bir teknik bilgidir. Öte yandan çok gerçekçi imgeler elde etmek için teknik üzerinde tam bir kontrole sahip olmanız gerekebilir ama bu belki de sanat olarak adlandırılmayabilir. 

Povray'le gerçekten çok güzel zamanlar geçirdim ve eminimki ögrenen biri de aynı şekilde hoşlanacaktır.   

Povray'in Çok Önemli Özeliklerinden Bazıları

  • Bir imgenin kısmen görıntıleştirilmesi. Daha önceden kesilmiş bir görüntüleştirme işlemine devam edilmesi mümkündür. 
  • Farklı çözünürlükle görüntüleştirme için seçenekler ve işleme süresini azaltmak için yetkinleştirme ölçekleri. 
  • Bir imgeyi yaratırken görüntüleme sığası. (SVGA ve XWindows' da). 
  • Mosaic türü çabuk öngözlemleme. 
  • Hangi aşamanın en çok merkezi işlem birimi (CPU) zamanı yuttuğunu sınamamıza olanak sağlayan yanaylama (profiling) bilgili bütünleşik hesaptan çıkış işlemleri. 
  • İyi bir yanılgı saptayıcısı ile dilbilgisel öninceleme. 
  • Herhangi bir doku yaratmak için çok fazla olasılık içeren çok sayıda doku kitaplığı. 
  • Yuzey etkileri: pürüzlülük, parlaklık, yansımalar, saydamlık, vs, 
  • Temel geometrik temelögeler (küreler, koniler, yüzeyler, küpler, prizmalar, vs.) 
  • Karmaşık matematiksel eşitliklere dayanan geometrik nesneler. 
  • Birbirine geçmiş üçgenlerden oluşan şekiller. 
  • Kenarların düzgünleştirilmesi, örneğin üçgen kesişimlerinden oluşan yüzeyler. 
  • Basit nesnelerin birleşimi ile oluşan karmaşık nesneler. 
  • İzleyicinin verimini arttırmak icin basit şekiller yardımı ile karmaşık nesneleri sınırlandırmak. 
  • Düz bir imgeden biçim renklendirmesi. 
  • Rengi ile orantılı olarak pikselleri arttırarak düz renklendirilmiş bir imgeden üretilen biçimler. (Kara parçaları üretimi için çok yararlı) . 
  • Çembersel devinimle üretilen nesneler. 
  • TIFF kaynaklarından 3 boyutlu yazılar. 
  • Atmosferik etkiler, orneğin sis. 
  • Çeşitli ışık kaynakları ile ısıklandırma etkileri, orneğin spot ısıkları vs. 
  • Antialias için değişik seçenekler. Antialiase düşük çözünürlükte sık sık oluşan ve oldukça bilinen basamak etkilerini silme yöntemi ile bizim çizgi görüntümüzü arttırır. Povray antialias için çeşitli yöntemler sunar. 
  • Sahne betimlemesi için bütünleşik bir dil. 
  • Çeşitli yöntemlerle canlandırım yaratılması: 
    1. Dış döngü (seçenek Clock=n.n). 
    2. İç döngü (düzgünün kendisinde iç parametler kullanarak). 
    3. Bir içerme (include) dosyası içerisinde tanımlayarak sabitleri tanımlamamıza izin verir, böylece kullanım takımları (utility) ya da her bir canlandırım aşamasında bu içerme dosyalarını güncelleyen kabuk yazılımlarıyla (scripts) dış canlandırımlar üretmek mümkündür. 

Povray'in Elde Edilimi

Povray ftp ile elde edilebilir. 
Aşağıdaki resmi yöreden elde edebilirsiniz: 

http://www.povray.org  
ftp://ftp.povray.org  
 

Povray üzerine ayrıca bir elektronik dergi de bulunmaktadır, terk edilmiş görünmesine rağmen Povray 3.0 sürüldügü zamanki bazı güzel yayınları içermektedir. 

http://www.povray.org/pub/povray/ezine  
 

Bir cok yansı yöresi olmasına rağmen hiçbiri resmi değildir. 
 
 
FTP 
sunsite.wits.ac.za:/pub/mirrors/ftp.povray.org 
gd.tuwien.ac.at:/graphics/raytracing/povray 
ftp.cdrom.com:/pub/povray 
wuarchive.wustl.edu:/graphics/graphics/mirrors/ftp.povray.org 
ftp.shu.ac.uk:/pub/computing/packages/raytrace/ftp.povray.org 
sunsite.doc.ic.ac.uk:/Mirrors/ftp.povray.org 
www.hensa.ac.uk:/ftp/mirrors/povray 
ftp.etsimo.uniovi.es:/pub/raytrace 
ftp.fh-rosenheim.de:/pub/mirror/ftp.povray.org 
ftp.tu-clausthal.de:/pub/mirror/povray 
kermit.stud.fh-heilbronn.de:/mirrors/povray 
ftp.uni-erlangen.de:/pub/other/povray 
stef.u-picardie.fr:/pub2/ftp.povray.org 
ftp.ncu.edu.tw:/Packages/ray-tracing 
ftp.vu.union.edu:/pub/povray 
sunsite.icm.edu.pl:/pub/povray/ 
uiarchive.cso.uiuc.edu:/pub/graphics/povray/ 
ftp.flashnet.it:/pub/ftp.povray.org/ 
ftp.univ-lille1.fr:/pub/povray 
ring.asahi-net.or.jp/pub/misc/povray/ 

HTTP 
www.etsimo.uniovi.es/ftp/pub/raytrace 
stef.u-picardie.fr/ftp/pub2/ftp.povray.org 
www.vu.union.edu/~ftp/pub/povray 
sunsite.icm.edu.pl/pub/povray 
ftp.ncu.edu.tw/Packages/ray-tracing/ 
serviceftp.flashnet.it/mirrors.htm 
kermit.stud.fh-heilbronn.de/povray 
ftp.uni-erlangen.de/pub/other/povray/ 
http://gd.tuwien.ac.at/graphics/raytracing/povray/ 
ftp.tu-clausthal.de/pub/mirror/povray

 

Index: (15-Enero-1998) ftp.povray.org 

Burada, resmi yöreleri içeren bir dizelge (liste) sunuyoruz. 
 
 
 
 
 pub
   lrwxr-xr-x  1 povray  vuser   15 Aug 24 11:12 HEADER -> povray/.message
   drwxr-xr-x  5 povray  vuser  512 Aug 24 13:13 povray
 pub/povray
   -rw-r--r--   1 povray  vuser   305 Jan  9 01:30 .message
   lrwxr-xr-x   1 povray  vuser     8 Aug 24 13:13 HEADER -> .message
   dr-xr-xr-x   2 povray  vuser  1536 Aug 24 13:13 Hall-Of-Fame
   -r--r--r--   1 povray  vuser  3262 Aug 24 10:52 MIRRORS
   dr-xr-xr-x  10 povray  vuser   512 Aug 24 11:14 Official-3.0
   -r--r--r--   1 povray  vuser  3262 Aug 24 10:52 README.MIRRORS
   -r--r--r--   1 povray  vuser  3731 Aug 24 10:52 README.MIRRORS.HTML
   dr-xr-xr-x   2 povray  vuser  1024 Aug 24 13:13 Ray-Tracing-News
 pub/povray/Hall-Of-Fame
   -r--r--r--  1 1017  1017  235235 May 14  1996 6x86.jpg
   -r--r--r--  1 1017  1017  393630 Sep 30  1994 6z4.jpg
   -r--r--r--  1 1017  1017     308 Sep 30  1994 6z4jpg.txt
   -r--r--r--  1 1017  1017  154256 Oct 13  1995 astplant.jpg
   -r--r--r--  1 1017  1017    2991 Oct 13  1995 astplant.txt
   -r--r--r--  1 1017  1017  110322 Sep 30  1994 ballz5.gif
   -r--r--r--  1 1017  1017  287164 Dec  8  1994 bell_jar.jpg
   -r--r--r--  1 1017  1017   57111 Oct 13  1995 bkntools.jpg
   -r--r--r--  1 1017  1017     610 Oct 13  1995 bkntools.txt
   -r--r--r--  1 1017  1017  331058 Sep 30  1994 brass.jpg
   -r--r--r--  1 1017  1017     254 Sep 30  1994 brass.txt
   -r--r--r--  1 1017  1017  284250 Sep 30  1994 bug1.gif
   -r--r--r--  1 1017  1017  279273 Sep 30  1994 camera.jpg
   -r--r--r--  1 1017  1017  367490 Oct 13  1995 crane.jpg
   -r--r--r--  1 1017  1017    2650 Oct 13  1995 crane.txt
   -r--r--r--  1 1017  1017  101473 Sep 30  1994 dragons.jpg
   -r--r--r--  1 1017  1017  295129 Sep 30  1994 frosty.gif
   -r--r--r--  1 1017  1017  777531 Sep 30  1994 frosty.tga.zip
   -r--r--r--  1 1017  1017   88350 Sep 30  1994 geodome.jpg
   -r--r--r--  1 1017  1017    2252 Sep 30  1994 geodome.txt
   -r--r--r--  1 1017  1017   11801 Sep 30  1994 geosmall.gif
   -r--r--r--  1 1017  1017  356889 Oct 13  1995 gofood1.jpg
   -r--r--r--  1 1017  1017     483 Oct 13  1995 gofood1.txt
   -r--r--r--  1 1017  1017  375781 Oct 13  1995 gogadget.jpg
   -r--r--r--  1 1017  1017     825 Oct 13  1995 gogadget.txt
   -r--r--r--  1 1017  1017   72337 Oct 13  1995 info_hwy.jpg
   -r--r--r--  1 1017  1017    1796 Oct 13  1995 info_hwy.txt
   -r--r--r--  1 1017  1017  109462 Oct 13  1995 jmwarmup.jpg
   -r--r--r--  1 1017  1017    3346 Oct 13  1995 jmwarmup.txt
   -r--r--r--  1 1017  1017     628 Sep 30  1994 julia.txt
   -r--r--r--  1 1017  1017   50762 Sep 30  1994 kettle.jpg
   -r--r--r--  1 1017  1017  295555 Sep 30  1994 kkteaset.jpg
   -r--r--r--  1 1017  1017      96 Sep 30  1994 kkteaset.txt
   -r--r--r--  1 1017  1017  151503 Sep 30  1994 lionfish.gif
   -r--r--r--  1 1017  1017     112 Sep 30  1994 mindmaz1.txt
   -r--r--r--  1 1017  1017  341101 Sep 30  1994 museum.jpg
   -r--r--r--  1 1017  1017     564 Sep 30  1994 museum.txt
   -r--r--r--  1 1017  1017  364856 Aug 19  1995 pcktwtch.gif
   -r--r--r--  1 1017  1017     580 Aug 19  1995 pcktwtch.txt
   -r--r--r--  1 1017  1017  590679 Jan 29  1996 pcktwtch.zip
   -r--r--r--  1 1017  1017     417 Sep 30  1994 pclock.txt
   -r--r--r--  1 1017  1017  213426 Sep 30  1994 plntscap.gif
   -r--r--r--  1 1017  1017    2558 Sep 30  1994 plntscap.txt
   -r--r--r--  1 1017  1017  125648 Oct 13  1995 springeq.jpg
   -r--r--r--  1 1017  1017    1129 Oct 13  1995 springeq.txt
   -r--r--r--  1 1017  1017  239594 Sep 30  1994 studying.jpg
   -r--r--r--  1 1017  1017  244179 Oct 13  1995 subrace.jpg
   -r--r--r--  1 1017  1017    2681 Oct 13  1995 subrace.txt
   -r--r--r--  1 1017  1017  191332 Sep 30  1994 sundae.gif
   -r--r--r--  1 1017  1017  162140 Sep 30  1994 woild2.gif
 pub/povray/Official-3.0
   -r--r--r--  1 povray  vuser     80 Jul 20 01:47 .message
   drwxr-xr-x  2 povray  vuser    512 Dec 16 03:53 Amiga
   dr-xr-xr-x  2 povray  vuser    512 Aug 24 10:31 Docs
   lr-xr-xr-x  1 povray  vuser     11 Aug 24 11:14 HEADER -> ../.message
   dr-xr-xr-x  2 povray  vuser    512 Aug 24 10:31 Linux
   dr-xr-xr-x  2 povray  vuser    512 Aug 24 10:31 MS-Dos
   dr-xr-xr-x  2 povray  vuser    512 Aug 24 10:36 Macintosh
   -r--r--r--  1 povray  vuser     83 Jul 20 01:48 README
   -r--r--r--  1 povray  vuser    222 Feb  6  1997 README.HTML-DOCS
   dr-xr-xr-x  2 povray  vuser    512 Aug 24 10:31 SunOS
   dr-xr-xr-x  2 povray  vuser    512 Aug 24 10:32 Unix
   dr-xr-xr-x  3 povray  vuser    512 Aug 24 10:32 Windows
   -r--r--r--  1 povray  vuser  15055 Jul 19  1996 gamma.gif
   -r--r--r--  1 povray  vuser   1776 Jul 19  1996 gamma.gif.txt
   -r--r--r--  1 povray  vuser   3735 Feb  6  1997 news.3.01.txt
   -r--r--r--  1 povray  vuser  18452 Feb  5  1997 povlegal.doc
   -r--r--r--  1 povray  vuser  24060 Feb  1  1997 povwhere.get
   -r--r--r--  1 povray  vuser    110 Aug 24 11:01 www.html
 pub/povray/Official-3.0/Docs
   -r--r--r--  1 1017  1017      413 Feb  7  1997 README
   -r--r--r--  1 1017  1017   286517 Feb  7  1997 povdoc.zip
   -r--r--r--  1 1017  1017   764628 Feb  7  1997 povdocps.zip
   -r--r--r--  1 1017  1017  1601733 Feb  7  1997 povhtml.zip
   -r--r--r--  1 1017  1017    18452 Feb  7  1997 povlegal.doc
   -r--r--r--  1 1017  1017    24060 Feb  2  1997 povwhere.get
 pub/povray/Official-3.0/Linux * * * * *
   -r--r--r--  1 povray  vuser      786 Jul 20 01:41 00_index.txt
   -r--r--r--  1 povray  vuser      442 Jul 20 01:42 README
   -r--r--r--  1 povray  vuser  1506794 Feb  2  1997 povdoc.html.tgz
   -r--r--r--  1 povray  vuser   908752 Aug  1  1996 povdoc.ps.gz
   -r--r--r--  1 povray  vuser  1678592 Jul 18 13:02 povlinux.tgz
Linux kullanıcıları özellikle iki dizin ile ilgilenecektir: 'pub/povray/Official-3.0/Linux' ve 'pub/povray/Hall-Of-Fame'  İkincisinde büyük Povray elkitabında bulamadığımızı buluruz: Örnekler. 

Povray elkitabı gerçekten iyi bir kitaptır fakat şunu da unutmamak gerekir ki bir resim bin sözcükten çok daha fazla şey anlatabilir. Ilk olarak elkitabının uygun bir yolla resimlenmemiş olduğu söylenebilir. İkinci olarak diğer dizinlerde elkitabı için ideal tamamlayıcı olan çeşitli imgeler bulabiliyoruz. Elkitabi yeterli örnek içermiyor demiyorum, aksine birçok örnek göstermektedir. Her örnek bir kavram açıklıyor ve hepsi de teknik bilgi kazanmak icin oldukça uygun. Bazı elkitaplarının örnekleri çok güzel, ama Ünlüler Evi ('Hall-Of-Fame') yaratılmış en iyi imgelerden seçmeler içeriyor: Gerçek bir bilgiçizim sergievi. Her resim inanılmaz sonuçlar sağlayan araç ve teknikleri tanımlayan bir metne eklenmiştir. 

Elkitabında sözıedilen araçların modelleyiciler, süzgeçler gibi genel kurallar kadar henüz Linux için uygun olmadığından haberdar olmalıyız. 

Yöreyeçekim için salık verilen  ftp.povray.org /pub/povray/Official-3.0/Linux ve ftp.povray.org/pub/povray/Hall-Of-Fame  yalnızca resimleri görmek için değil tasarım için de önemli bir başlangıç noktasıdır. 

Tipik bir yüklemenin nasıl yapılacağını anlatacagız. (Bütün Linux sürümlerinde çalışabilir ama yalnızca Debian'da tam olarak sınanmıştır) çok sayıda metin kutuphanesi. 
  

Yukleme

Genel yüklemelerde olduğu gibi süper kullanıcı olan kök (root) olarak girmeliyiz. 
Sahip olduğumuz dağıtımın bu dizinde olduğunu varsayalım: "/incoming/pub/povray/Official-3.0/Linux"   
Daha sonra şu güdümleri veriyoruz. 
 
 
        # mkdir /usr/local/sbin 
        # mkdir /usr/local/apli 
        # mkdir /usr/local/apli/povray 
        # cp "/incoming/pub/povray/Official-3.0/Linux" /usr/local/povray 
        # cd /usr/local/povray 
        # tar -xzf povlinux.tgz 
        # tar -xzf povdoc.html.tgz 
        # cd /usr/local/sbin 
        # ln -s /usr/local/apli/povray/povray3/x-povray x-povray 
        # ln -s /usr/local/apli/povray/povray3/s-povray s-povray 
 
Güdümlerin son kesimi herşeyi yüklemektedir: derlenecek herhangi birşey yok. 
Yalnızca /usr/local/apli/povray/povray3 dizinindeki x-povray ve s-povray güdümlerinin herkes için çalıstırabilme iznine sahip olmasını kontrol etmeniz gerekiyor. 
Bizim durumumuzda 'chmod 755' ile izinleri değiştirmeye gereksinimimiz var.  

Kurulum

Povray kurulum işlemi grafik kartlarını biçimlendirmek, girdi ve çıktı dosya biçimlerini tanımlama, "include" dosyalarının kitaplıklarına erişilebilirliği sağlamak ve diğer özelikler için kullanışlıdır. 

Elkitabında çok iyi ayrıntılanan soruları açıklamak yerine Linux kullanıcılarının Povray'i nasıl kolay bir şekilde biçimlendirebileceklerini göz önünde tutacağız. 

Povray SVGA kipte görüntüleyebilir ama bu grafik kartına bağlı bir özelliktir. Biz sizin Xwindows ile yükleme yaptığınızı ve imge görüntüleyici olarak 'xv' kullandığınızı göz önünde tutacağız. 

Linux biçimlendirimi povray'in daha yeni modellerinde daha basitleştirilebilmiştir. Çevre değerlerini kullanmak olasıdır, ama tüm gereksiniminiz olan "*.ini" biãimlendirme dosyası yaratmak daha pratiktir. 

Değişik amaçlar için çeşitli *.ini dosyaları vardır. Bu, biçimlendirmeyi yapmak için çeşitli olasılıkları destekler. Bizim benimsenmiş biçimlendirme dosyamızı bir çevre dosyasına göndermek veya değerleri kullanmak için benimsenmiş include dosyasına yerleştirmek mümkündür. Ayrıca seçeneklerin numarasını argüman olarak göndermek de iyi bir fikir olabilir, ama biz aynı zamanda komut satırının argümanü olarak tanımladığımız hemen hemen herşeyi göndeririz. Eğer bu yöntemden hoşlanmadıysanız, elkitabını gözden geçirin, aynı sonucu sağlayacak değişik seçenekler bulacaksınız, bununla beraber her seçeneği açıklayıcı bir giriş yazısı yok, sadece en çok kullanışlı olanların var. 

Ayrıca bütün örneklere uyan imgeler yaratmak için 'allscene.sh' adlı bir kabuk yazılımı da vardır. 

Belki bütün görüntüleri düşük çözünürlükte yaratmak yerine bir tanesini seçip en yüksek çözünürlükte oluşturabilirsiniz. 

Bu durumda örnek dizinine gidin ve aşağıdaki 'ini' dosyası ile povray' i çalıştırın: 

-------------------------8<------------(ini.ini)----------------
Width=640
Height=480
Quality=8
Library_Path=/usr/local/apli/povray/povray3/include
Output_to_File=on
Output_File_Type=t
Output_File_Name=out.tga
verbose=on
-------------------------8<--------------------------------------
İlk iki satır son imgenin çözünürlüğünü belirleyecektir. 
İmgeyi elde etmek için gereken komut: 

$ s-povray ini.ini +i source.pov 

'source.pov' dosyası 'out.tga' ile görüntüleyeceğimiz imgeyi elde etmek için işleme sokacağımız dosyanın adıdır, örneğin; 'xv out.tga'. 

POV: Povray'le çalışmak için bir kullanımaracı

'pov' POV-ray'i kolayca kullanacağımız bir kabuk yazılımıdır. İlk önce dizelgesini (listesini) gösterelim: 
------------------------8<-----------------------------------
#!/bin/bash
#####################################################################
#  Autor: Antonio Castro Snurmacher  (1.998)
#
#       pov (ver 1.0)
#
#       Esta versión esta dedicada a su inclusión en la
#       revista LinuxFocus   (freeware)
# 
#  Este programa puede ser utilizado, distribuido, y modificado
#  libremente pero siempre se deberá respetar la propiedad
#  intelectual de su autor. Esta cabecera debe ser conservada 
#  tal cual en todas las modificaciones. 
#
#  En caso de traducción deberá conservarse el texto original de
#  esta cabecera y añadirse la traducción a continuación de ella.
#
#  El autor renuncia a todo tipo de beneficio económico y no se hace 
#  responsable de los posibles perjuicios derivados del uso del mismo. 
# 
#  E-mail (acastro@ctv.es)
# 
#####################################################################
#  Author: Antonio Castro Snurmacher  (1.998)
#
#       pov (ver 1.0)
#
#       This version has been written to be included in
#       the LinuxFocus magazine   (freeware)
# 
#  This program can be used, distributed, and modified
#  freely but always has to respect the intellectual
#  property of the author. This header should be kept
#  untouched in every modification.
#
#  In case of translation the text of this header should be kept
#  and the translation will be added after it.
#
#  The author renounces to any kind of economic benefit
#  and he is not responsible for any damage derived from
#  the use of this script.
# 
#  E-mail (acastro@ctv.es)
# 
#####################################################################
usage(){
   echo "Usage: pov (project) (size=0..6) (quality=1..11)"
   echo
   echo "0) 40x30     (STD/20) No backup"
   echo "1) 80x60     (STD/10) No backup"
   echo "2) 100x75    (STD/8)  No backup"
   echo "3) 200x150   (STD/4)"
   echo "4) 266x200   (STD/3)"
   echo "5) 320x200 *"
   echo "6) 400x300   (STD/2)"
   echo "7) 640x480 *"
   echo "8) 800x600 *   (STD)"
   echo "9) 1024x768 *"
   echo
   echo "The projects should be located in the directory pointed by"
   echo "${HOMEPOV} and will use the same name for it and for"
   echo "the main source file *.pov"
   echo "(STD) is the standard resolution chosen."
   echo
   exit 1
}

newversion(){
mv ${PREFIX}.pov.8.gz ${PREFIX}.pov.9.gz 2> /dev/null
mv ${PREFIX}.pov.7.gz ${PREFIX}.pov.8.gz 2> /dev/null
mv ${PREFIX}.pov.6.gz ${PREFIX}.pov.7.gz 2> /dev/null
mv ${PREFIX}.pov.5.gz ${PREFIX}.pov.6.gz 2> /dev/null
mv ${PREFIX}.pov.4.gz ${PREFIX}.pov.5.gz 2> /dev/null
mv ${PREFIX}.pov.3 ${PREFIX}.pov.4 2> /dev/null
mv ${PREFIX}.pov.2 ${PREFIX}.pov.3 2> /dev/null
mv ${PREFIX}.pov.1 ${PREFIX}.pov.2 2> /dev/null
cp ${PREFIX}.pov   ${PREFIX}.pov.1 
gzip ${PREFIX}.pov.4 2> /dev/null
}

#################################################
size(){
   export SAVE="yes"
   case  $1 in
      0) Width=40 ; Height=30; SAVE="no" ;;
      1) Width=80 ; Height=60  SAVE="no" ;;
      2) Width=100; Height=75  SAVE="no" ;;
      3) Width=200; Height=150;;
      4) Width=266; Height=200;;
      5) Width=320; Height=200;;
      6) Width=400 ;Height=300;;
      7) Width=640 ;Height=480;;
      8) Width=800 ;Height=600;;
      9) Width=1024;Height=768;;
      *) usage
   esac
}

quality(){
   case $1 in
        1) ;;
        2) ;;
        3) ;;
        4) ;;
        5) ;;
        6) ;;
        7) ;;
        8) ;;
        9) ;;
        10) ;;
        11) ;;
       *) usage
   esac
   export Quality=$1
}

####################### main ##############################
export HOMEPOV=${HOME}/dat/pov
export PROYECT=$1
export PREFIX=${HOMEPOV}/${PROYECT}/${PROYECT}
if [ $# != 3 ]
   then usage
fi
export POVRAY=/usr/local/apli/povray/povray3
size $2
quality $3
if [ $SAVE == "yes" ]
   then newversion
fi
cat <<-FIN > ${PREFIX}.ini
   Width=$Width
   Height=$Height
   Quality=$Quality
   Library_Path=${POVRAY}/include
   Input_File_Name=${PREFIX}.pov
   Output_to_File=on
   Output_File_Type=t
   Output_File_Name=${PREFIX}.tga
   verbose=on
   Post_Scene_Command=xv ${PREFIX}.tga
FIN
#   Output_File_Type=t
## Others hight performace options ##
#   Antialias_Depth=3
#   Antialias=On
#   Antialias_Threshold=0.1
#   Jitter_Amount=0.5
#   Jitter=On

# Low priority, maybe I want to do other things.
nice -20 x-povray ${PREFIX}.ini 

if [ $SAVE != "yes" ]
    then echo "Warning !! There is no backup of this version."

fi

------------------------8<-----------------------------------
Tasarım aşamasında düşünceleri sık sık defalarca sınamak zorundaydik ve idealimize adım adım yaklaştık. 

Çalıştırmayı kolaylaştırmak için *.ini dosyasını oluşturacak, Povray ışınizleyiciyi çalıştıracak ve daha sonra görıntıleyecek bir kabuk programını oluşturacağız. $HOME/dat/pov/(project name) dizininde çalıştığımızı ve ana dosyamızın adının (project name.pov) olduğunu varsayalım. 

Bu kabuk yazılımı birçok durum için genelde yeterli olan *.ini dosyasını oluşturuyor. Bu çalışmanın özel bir yoluna yönelik fakat eğer başka bir tanesini yeğlerseniz kolayca değiştirebilirsiniz. 

Bu kullanımaracı kaynak dosyadaki son değişikleri yedekler çünkü değişik sonuçlar için birçok değişiklik yaptıktan sonra sık sık geri dönmeye karar veririz. Yukarıda belirttiğimiz gibi yaratıcı işlem fırça boyamasına benzer, nasıl devam edeceğimize adım adım karar veririz. 

Eğer yazılımı en düşük çözünürlükte çalıştırmak istersek yeni sürümde dahi yedek kopyasını oluşturmaz: düşük çözünürlük ilginç bir test. Bu test çeşidi ile nesnelerin göreceli konumları üstüne fikirler elde edebilirsiniz. Bu kişisel çalışma yolu çok kolay. Eğer Povray ile tanışık değilseniz başlamak için iyi bir yöntem. Belki ilerde bu elaygıtını kendi kişisel gereksinimlerinize uyarlamak istersiniz. 

Elde edilebilen bazı çözünürlükler bazü ölçünlü (standart) video çözünürlükleriyle aynıdır. Diğerleri 800x600 çözünürlüğünün parçalariıdır. Kısa bir yardım mÖnüsü için 'pov' yazınız. 

$HOME dizininde çalışmak için uygun bir dizin yapısı oluşturun ve ilk günden nasıl kolay çalıştığını görün. Biz denemelerimizi bu elaygıtının kullanıldığı taban üstüne oturttuk. Bunu kullanmak gerekli olmamasüna rağmen sizin için daha rahattır. 

Herşeyin çalıştığını görmek için basit bir örnekle başlayacağız: 

------------------------8<-----------------------------------
#include "colors.inc"
#include "textures.inc"
#include "glass.inc"

// Author: Antonio Castro

// The camera will look towards the contact point
// of both spheres

camera {
  location <0, 15, 35>
  look_at <0, 10, 0>
}

// Source of white light
object {
  light_source {
  <20, 100, 50>
  color White
  }
}

// Sky with white clouds
object {
 sphere { <0, 0, 0> 200000}  // Great vault of heaven
 texture {Blue_Sky scale <50000, 6000, 50000>} // We strecht the clouds
}

// Golden ball
sphere { <-10, 10, 0> 10   
    texture { Gold_Metal }
}

// Mirror ball
sphere { <10, 10, 0> 10  
    texture { Mirror }
}

// Glass ball
sphere { <0, 5, 10> 5   
    texture { T_Glass1 }
}

// Floor 
// It is made with a great sphere that touches the center <0,0,0>
// but it could be implemented with a plane.
sphere {<0, -1000000, 0> 1000000
 pigment {checker color Red color Yellow scale 2 } // Checker texture
}
------------------------8<-----------------------------------

$HOME/dat/pov/sample1/sample1.pov içine kopyalayın. 
Eğer gerekli ise ilk doğru dizin yapısını oluşturun. Daha sonra bu yazıda bulduğunuz 'pov' uygulamasını Xwindows'dan çalıştırın. 

$ pov sample1 4 9 

'xv' ile görüntülemeye başlamanız gerekmektedir. Kendi görüntülerinizi yaratmak istediğiniz zaman örneğin 'vi' da elkitabinin metin sürümü ile yeni bir 'xterm' açmanüzü salık veririz. 

sample1 

../../common/March1998/sample1.gif 
 
 

İngilizce'ye Çeviri: David Escorial   

 

 

© 1998 Antonio Castro 
Bu sanalyörenin bakımı Miguel A Sepulveda tarafından yapılmaktadır.
 

mirror server hosted at Truenetwork, Russian Federation.