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
Bu ilk imgede daha çok bir martý benzeri görmekteyiz.
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ý:
-
Dýþ döngü (seçenek Clock=n.n).
-
Ýç döngü (düzgünün kendisinde iç parametler kullanarak).
-
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.
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.
../../common/March1998/sample1.gif
|