Home Creatief met POVRay Creatief met POVRay Nog meer installatie-gedoe
 

Inleiding en enthousiast worden

Het is natuurlijk leuk om een mooi plaatje op het beeldscherm te hebben maar het aantal toeschouwers is dan niet groot. Op het Internet zetten kan natuurlijk, maar het mooiste is: uw raytrace plaatjes op papier uitgedrukt in foto-kwaliteit.

Kleurenprinters van zo'n 800 gulden aanschafkosten kunnen met speciaal (duur) papier en hoge inktkosten heel fraaie afbeeldingen maken. Een andere oplossing is om, zoals ik het doe, met het plaatje op disk naar een Multi-Copy drukker te gaan. Bij mij in de stad hebben die complete DTP-computers staan met bijbehorende full-color kleine-oplage drukkers en copieerders; ideaal voor zelf geïllustreerde geboortekaartjes, kerstkaarten enz.

Het raytrace principe

Iedereen heeft op school wel geleerd hoe een kamera een foto maakt. Voorwerpen worden getroffen door licht en weerkaatsen een deel daarvan de omgeving in. Een heel klein deel van dat licht treft het oog van de kamera, gaat door de lenzen heen en belandt op de film. Ons oog werkt op dezelfde manier en zo herkennen we in een foto een afbeelding van een werkelijkheid.

Vroeger, in de tijd dat de aarde geacht werd plat te zijn, dacht men er anders over. Men ging ervan uit dat het oog een 'blik' wierp op de omgeving: iets onzichtbaars tastte vanuit het oog de omgeving af. De natuurkunde vertelt ons dat die vroegere opvatting onjuist is, maar filosofisch gezien kan je ermee werken. Helemaal leuk is het dat, als je gaat rekenen, het niet uitmaakt in welke richting je werkt. Deze welkome eigenschap van de optica maakt het mogelijk om raytraced afbeeldingen te maken. Om te weten wat voor kleur een pixel van onze afbeelding in de kamera moet krijgen trekken we een lijn vanaf dat punt via de lens de buitenwereld in. Ergens zal die zichtlijn een oppervlak raken. Van dat punt op die oppervlakte kunnen we de kleur bepalen, eventueel door weer zichtlijnen vanaf dat punt te maken.

Voor de berekeningen is het dus nodig dat wordt opgegeven welke voorwerpen waar staan met welke optische eigenschappen. En hier komt onze eigen creativiteit aan bod: in een simpel beschrijvend taaltje geven we aan POVRay op hoe de virtuele wereld in elkaar zit. Zo een leesbare tekstfile noemen we een 'scene'.

POVRay wordt gemaakt door een groep mensen die het leuk vinden om de beste raytracer te maken. Aangezien er steeds nieuwe trucs en wiskundige grappen en grollen worden bedacht om een plaatje nog 'echter' te doen lijken, komen er voortdurend nieuwe versies uit.

Inmiddels zijn we aangeland bij versie 3 maar in deze cursus zal ik versie 2 gebruiken. Die bevat zoveel mogelijkheden dat je voorlopig niet uitgespeeld bent!

POVRay opzetten

Voordat we serieus aan de slag gaan om een plaatje te maken moeten we wat leren en wat doen natuurlijk; alleen de zon schijnt gratis.

Ten eerste bemachtig je de diskjes C 116 en C 117 uit de PD van de Stichting ST. Dat is niet echt moeilijk maar helaas niet gratis.

Op de eerste disk vinden we een aantal files die met .TOS hun naam beëindigen.


Sleep die via de desktop naar de harddisk. Voor mensen die geen harddisk hebben: lees het volgende toch maar eventjes leidzaam mee, want later zal ik vertellen hoe je met alleen een floppy ook POVRay kunt gebruiken.

Het beste is het om de TOS-files in een folder te plaatsen met de naam 'POVRAY'. Klik die TOS-files aan en ze gaan zich uitpakken. Zo levert pov20doc.tos een folder 'doc' op

, pov22bin.tos de folder 'bin' , povsh130.tos de folder 'povshell.130' en povtools.tos de folder 'tools' .

Vervolgens gaan we disk C 117 disk C117 net zo behandelen: sleep alles de folder povray in en ga pov20scn.tos uitpakken wat een folder oplevert met de naam 'scenes' . Als zo'n TOS-file eenmaal is uitgepakt kan je hem natuurlijk wegschrappen van de harddisk: op de floppies blijven copieën aanwezig voor het geval dat...

Vergelijk voor de zekerheid even of je nu alles goed op de harddisk hebt staan. Kijk naar het overzicht (gemaakt met 'Treeview' kan ik melden voor de leergierige cursisten onder de lezers).


Om die draad even verder op te pakken voor alle mensen die dat laatste niet informatief vonden: 'Treeview' is een accessoire die wordt geleverd bij de alternatieve desktop 'Gemini' waarvan een shareware versie te vinden is op disk A 671 (in Nederlandse versie nota bene). Al met al is er heel wat ruimte op de harddisk in gebruik genomen. Aangezien harddisks altijd de neiging hebben om eerder vol te raken dan je denkt of hoopt, kan je beter wat overbodige zaken opruimen. Ga de folder 'BIN' binnen en daar staan twee versies van POVRay: eentje voor de TT en eentje voor de ST. Nauwkeuriger gezegd: de TT-versie verwacht dat de computer een hardware floatingpoint heeft: een coprocessor die standaard in de meeste TT's is ingebouwd maar helaas maar zelden in een Falcon te vinden is. Ben je de gelukkige eigenaar van een Falcon (lekker veel kleurtjes op het scherm!) en je weet niet of er zo'n extra chip in zit: probeer eerst (dat wordt verderop uitgelegd) de ST-versie. Doet die het probeer dan de TT-versie. Geeft die bommen, dan weet je het: geen 68881/2 FPU aanwezig.

Voor de volledigheid kan je de documenten in deze folder (bin) even doorkijken en vervolgens verwijderen. Zo lees je in de 'readme' dat deze POV 2.2 implementatie is gemaakt door Dirk Klemmt. In de 'DOC' folder zit als belangrijkste een document 'povray.doc' die een gebruikershandleiding bevat, geschreven vanuit het gezichtspunt waar is wat voor van de programmeurs, dus niet erg verhelderend voor vragen als hoe doe ik iets? van gebruikers. Voor het gemak is er in de folder 'povhelp' een stel files voor gebruik met ST-Guide aanwezig. Een andere versie is te vinden in de folder 'pov_help.104' uitgepakt aanwezig op disk C 117. Zet je ST-Guide in als een online-help (dat kan omdat ST-Guide een accessoire is) dan kan je heel makkelijk zaken opzoeken. Voor de volledigheid: ST-Guide is te vinden op disk A 637.

Instellingen doen

Als je denkt dat je nu creatief bezig kan gaan, helaas nee. Er moet nu wat voorbereidend werk gedaan worden, 'installeren' heet dat met een fraai woord. Ga niet somber worden en zitten mokken, want van alles wat je nu gaat doen heb je later vele malen plezier en gemak. We gaan een 'desktop' ook wel 'shell' genoemd in gebruik nemen. Povray zelf is lastig te bedienen en gebruik van de muis is wel zo handig. In de folder povshell.130 zit povshell.app met een erbij behorende povshel.inf file. Voordat we verder gaan moeten we de file tos2gem.prg naar onze AUTO-folder (meestal op partitie C) copiëren. Ik raad dit met angst en beven aan, want iets in de Auto-folder erbijzetten levert altijd het risico op dat er daarna bij het opstarten iets mis gaat en dan zit je met de gebakken peren. Verplicht is het installeren in de Auto-folder niet; het probleem dat tos2gem uit de wereld helpt is: een programma van het TTP-type spuwt promptverloren zijn uitvoer (simpele letters) naar het VT-52 scherm en dus komen er op barbaarse wijze zo maar letters door je grafische scherm heen. Tos2gem onderschept die uitvoer en beeld de letters keurig net in een echt GEM-venster af (zoals het hoort dus). Verder is het voor later handig om twee eigen folders te hebben voor de probeersels: een folder 'werk' en eentje met de naam 'results'. Via de desktop kan je beide in de folder povray parkeren. Maar nu terug naar die desktop oftewel shell. Na het openen zal je waarschijnlijk een paar boxen op het scherm krijgen. Sluit die vensters gewoon. Ga naar het rechter menu 'Options' en klik 'Global settings...' aan . Zet de instellingen zoals in die afbeelding te zien is. Hetzelfde geldt voor de keuze 'Dialog settings...' 1. Met 'Dialog settings...' kan je de eigenschappen opgeven van het venster waarin de uitvoer verschijnt. De belangrijkste instelling om goed te doen is : aantal regels en kolommen. Voor een gewoon z/w scherm aan een ST is 70 x 15 voldoende. Werk je in kleur, dan moet je even afschatten hoeveel letters er in een schermvullend venster passen. Waar we ook even de grijze hersenmassa mee moeten belasten is het instellen van de paden: waar is wat te vinden.

Je ziet het : waar is het POVRay programma zelf te vinden en waar moet gezocht worden naar eventueel verder benodigde files. Dat juist invullen zal iedereen wel lukken. Met een muisklik kan je eventueel via een tevoorschijn ploppende fileselector de plaats opzoeken. Er wordt gevraagd naar de plaats van een tekst-editor. Ikzelf gebruik Tempus (klein, snel en ik ben eraan gewend), maar elke normale moderne ASCII-tekstverwerker kan men gebruiken. Er zijn er handen vol van in de PD-bibliotheek te vinden. Aanraders zijn: Alice (van disk A 586), XEdit (A 394), SCEdit (A 527), Everest (A 605) en 7Up (A 652). Als laatste wordt gevraagd naar de 'graphic editor'. Die bestaat niet voor de Atari, maar erg is dat niet wat ik later zal toelichten. In plaats daarvan kan je een 'graphic viewer' aanmelden. Ik gebruik GEMVIEW, waarvan ik een echte versie heb gekocht (Shareware probeer-versie op disk C 93 en 94) en die prima in staat is om de met PovRay gemaakte beelden op het scherm te tonen. Nu ik toch reclame aan het maken ben voor mijn sponsor, de Stichting ST: voor mensen die toevallig over een HP 550C compatibele kleurenprinter beschikken: uitprinten van plaatjes op papier kan met TGA-Print op disk C 131. Klik eventjes het menupunt 'Save environment...' aan om de nu gemaakte instellingen te bewaren. We zijn nog niet klaar: we moeten in het menu 'Povray' nog diverse zaken goed zetten. Om te beginnen met 'Povray Global...' waarbij ik adviseer om 'sound signal' af te zetten tenzij je er van gediend bent om een waarschuwingsping midden in de nacht door het huis te laten galmen! Vervolgens geef je in 'Povray Scenes...' een file op om de zaak te testen: b.v. in afbeelding pscenes de file blob.pov en daarna klik je aan dat na afloop je graag het door de computer uitgerekende plaatje op disk wilt terugvinden (in het Engels is dat wat korter: "save picture"). Geef ook even aan waar en onder welke naam dat plaatje bewaard wordt. Het is allemaal in de afbeelding te zien. Over het plaatje is nog meer te zeggen want in 'Povray output...' vinden we hoeveel pixels het plaatje groot wordt: meer dan 160 x 100 instellen is zinloos: deze PD-versie laat meer niet toe. Daar is best langsheen te werken, maar dat vertel ik later. Zolang een plaatje wat jouw betreft nog niet helemaal klaar is, is het vaak zinloos om het beeld in super-kwaliteit te laten doorrekenen. Aangezien het uitrekenen een zeer tijdvretend proces is, kan je vaak volstaan met wat minder precieze beelden. Zet voorlopig (het is toch maar een test nu) de kwaliteit  maar op Q1 'ambient lightning'. Laat de menupunten 'Povray animation...' en 'Povray Internal...' en voorlopig maar zitten. Om af te ronden gaan we in het menu 'Options' nog een keer de 'Save Environment...' doen om al het type- en zoekwerk te bewaren.

Echt iets doen

We hebben al het voorbereidende werk gehad en nu moet de boel goed werken. In het menu 'File' kunnen we nu Povray starten. Er opent zich een venster met de naam 'POVShell Console', waarin over het verloop van de berekening door PovRay wordt bericht . Ga na afloop via 'File' en 'Graphics editor' de file blob.tga (in folder 'Results') bekijken met behulp van GEMVIEW. Ook dat moet lukken. Via 'Text editor' kan je alvast even naar de inhoud van de blob.pov file kijken om de sfeer van het raytrace gebeuren op te snuiven. Tenslotte: in menu 'Povray' de keus 'Save commandline' activeren en de blob.def file in de folder 'werk' zetten. Over deze laatste file zeur ik nog wat verder door.

Command line

Zoals al eerder beweerd is povray een echt TTP-programma. Wat dat inhoudt kan je eenvoudig ervaren: klik maar eens die povray.ttp file dubbel aan (dat kan geen kwaad). Er komt een box midden op het scherm waarin de computer je beleefd doch zeer indringend verzoekt om iets in te typen . Maar wat? Wat je intypt (daar kom ik later op, even niet zeuren) komt terecht in de zgn. 'command line' die aan het TTP-programma wordt doorgegeven en waaruit in dit geval PovRay zijn informatie betrekt over wat hij moet gaan doen en hoe. Bekijk met een gewone tekst-editor maar eens die zojuist geredde blob.def file. Die bevat alleen maar één hele lange regel: de command line. Voor de nette orde: ik heb keurig de inhoud van die file per regel geordend [listing 1]:

+iH:\POVRAY\SCENES\LEVEL1\BLOB.POV
+lH:\POVRAY\INCLUDE
+lH:\POVRAY\SCENES\LEVEL1\
+w160
+h100
+q1
-a
-d
+x
+v
+ms1000
+mb25
+b20
+ft
+c
+oH:\POVRAY\RESULTS\BLOB.TGA

Type ik de naam H:/povray/results/blob.def (met volledig pad dus) in, nadat ik povray.ttp heb dubbelgeklikt, dan weet povray dat het een file betreft met alle commandline informatie erin die hij dus moet lezen. Zonder twijfel hebben de mensen met alleen maar een floppydisk zich zitten te verbijten met de gedachte 'wanneer komt er iets voor mij?'. Dat moment is nu.

Met floppy alleen

Zorg eerst dat je de beschikking heb over de comprimeerder STZIP (te vinden o.a. op disk A 545) en ga de ingepakte files van disk C 116 en 117 gedeeltelijk uitpakken. Transporteer daarbij van drive A naar drive B. Zorg dus dat je een lege floppydisk bij de hand hebt. Let er op: ST-ZIP verwacht als invoer een file die eindigt met .ZIP. Forceer hem om de .TOS files te pakken . Haal uit pov22bin.tos de file pov22ST.ttp wat zo'n 231 Kb ruimte vergt op de nieuwe disk. Haal uit de file pov20scn.tos de file blob.pov (in scenes/level1/). Type met de hand via de editor de definitie-file in zoals hieronder te zien is [listing 2].

+iA:\BLOB.POV
+lA:\INCLUDE
+lA:\
+w160
+h100
+q1
-a
-d
+p
+x
+v
+ms1000
+mb25
+b20
+ft
+c
+oB:\BLOB.TGA

Natuurlijk kan je de shell uitpakken en die gebruiken om de .def files te maken, maar typen is gewoon handiger. Voor de rest moet je nog een editor op de disk zetten. Zijn belangrijkste kenmerk moet zijn: klein want dan is die snel ingeladen en neemt die tevens weinig ruimte op de disk in.

We houden het op onze floppy dus simpel: editor, Povray, def-file en pov-file. Je ziet: de beschrijving blob.pov wordt van disk A gelezen, er zijn geen extra verdere files nodig (uit de folder 'Include' b.v.) en het plaatje komt op drive B met de naam blob.tga. Helaas heeft deze implementatie van Povray een foutje: er wordt soms geen onderscheid gemaakt tussen beide floppydrives. Gelukkig hebben niet alle machines op dezelfde manier te lijden: mijn 1040 ST met TOS 1.2 erin vraag er wel keurig naar om disk B in de drive te stoppen. In het geval dat je last hebt kan je een echte tweede floppydrive aansluiten of genoegen nemen met het feit dat de blob.tga op dezelfde disk terecht komt. Helaas is er wel weinig ruimte op de flop, maar een 160 x 100 plaatje vraagt maar 48 Kb aan opslag en dat moet toch wel lukken tenzij je een afschuwelijk grote editor gebruikt.

Trouwens nu we het toch over kleine editors hebben: na wat zoekwerk blijkt PR-Editor op PD-disk A 804 maar 48 Kb groot te zijn. Kleiner (en bruikbaar) heb ik niet gevonden. Zelf de beroemde snelle Tempus editor vergt nog 90 Kb aan minimale floppyruimte.

We experimenteren verder: flop in de drive, dubbelklik po20_ST.ttp en type 'blob.def' in. Er komen wat teksten, een tellertje gaat lopen, af en toe wordt er even naar de disk geschreven en opeens verdwijnt alles van het scherm: dan is het klaar. Op de floppydisk in drive B (als je die hebt) moet nu blob.tga staan die je met GemView kunt bekijken, dus even weer een andere flop in de computer stoppen, maar ja dat heb je als je geen harddisk hebt. Op verzoek heeft de Stichting ST op disk C 116 er een TGA-viewer bij gezet, die werkt op een Falcon met kleurenscherm en volgens opgave van de makers ook op een ST met kleur. Dat laatste heb ik niet getest. Het .ttp programma is niet erg groot dus het past vast nog wel op de floppy erbij. Op gang brengen door het intypen van de volledige file/pad naam, immers het is een .ttp.

Mensen die geen harddisk hebben, zitten meestal ook krap in de hoeveelheid intern geheugen. Maar niet getreurd: bijna alles is goed in 1 Mb te doen. PovRay zelf gebruikt ongeveer 300 Kb, met wat buffers, ruimte voor interne tabellen enz. moet het wel een raar plaatje zijn wil je tegen geheugengebrek aan lopen. Berekende beelden worden zo gauw mogelijk naar disk geschreven en verbruiken zodoende niet veel interne geheugenruimte.

Tijdverbruik

Ik zou zeggen: probeer het maar een keer om blob.pov in een hogere kwaliteit door te rekenen: de benodigde tijd voor de computer neemt snel toe. Dat komt, omdat POVRay dan allerlei luxe geschut boven de toonbank haalt om lichteffecten te berekenen. Een minuut lang rekenen voor kwaliteit 1 loopt al gauw op tot vele uren voor kwaliteit 9! Als je de computer alleen gebruikt voor typewerk dan heb je niet zo'n behoefte aan snelheid, maar nu kan je echt gaan profiteren van de meerkosten van een TT met co-processor of in mindere mate een Falcon met co-pro want dat vogeltje blijkt beduidend langzamer te zijn t.o.v. een TT. Een opgevoerde ST (met 32 MHz CPU en cache b.v.) is nog wel te doen alhoewel ook hier het gebrek aan een hardwarematige floatingpoint berekenaar zich laat bemerken.

Helemaal aan de bodem zit je met de gewone 1040 ST met 1 Mb. Maar die heeft het voordeel: geen harddisk die moet blijven draaien (slijtage, lawaai) en geen ventilator. Er is geen dure kleurenmonitor nodig (je kan hem met een SCART-kabel aan de TV of video hangen) en hij is klein genoeg om ergens verdekt te worden opgesteld. Dus kan je zonder bezwaar de 1040 ST dagenlang laten rekenen aan een plaatje! Wordt je met deze cursus enthousiast voor het raytrace gebeuren dan is het een goed idee om een goedkope 2-de handse 1040 op de kop te tikken (voor een paar tientjes?) om die als echte continue rekenmachine te gebruiken. In ons land moeten er inmiddels duizenden werkeloos in kasten en kelders liggen! Verlos ze uit hun treurig lot!

Duurt te lang?

Maar gebruik je je 'gewone' computer om mee te rekenen, dan ben je af en toe gedwongen om het rekenproces van Povray te onderbreken voor een meer dringende taak: een briefje met eigen ervaringen naar de redactie te sturen b.v. Dat kan zonder moeilijkheden en al te veel verlies van uitgerekende beeldpixels: Povray kan je zo intelligent instellen dat die eerst gaat kijken bij de start van berekeningen of soms al een deel van het plaatje bestaat. Het aanvinken van 'continue rendering picture' ) zorgt daar voor. Deze instelling levert de parameter '+c' onderaan in de blob.def file. Wordt op de plek waar het nieuwe plaatje naartoe geschreven zou worden een file van dezelfde naam gevonden, dan wordt de draad weer opgepakt waar die de vorige keer gebleven was. Het gebruikte TARGA-24 opslagformaat staat deze manier van 'aanvulling' toe. Helemaal verliesvrij is zo'n start-stop gebeuren niet. Kijk maar eens hierboven, daar vind je een aangevinkte 'picture cache' met 20 Kb instelling. Heeft POVRay 20 Kb aan pixels berekend dan worden die weggeschreven. Stop je POVRay met een forse reset van de computer, dan ben je dat kwijt. Normaal kan je POVRay stoppen door wat op het toetsenbord te kloten (Control-Q, Control-Z e.d.), tenminste als de optie '+X' wordt opgegeven zoals in listing 2 van de blob.def file te zien is.

Externe opslag van beelden

Maak je de zojuist genoemde buffer groter, dan zal er niet zo vaak en ook met langere tussenpozen naar de disk worden geschreven. Dat is werkelijk heel handig. Stel dat je een SCSI-harddisk hebt die zich kan afschakelen als er een tijdje geen gebruik van is gemaakt. Dan is het beter als er eens per half uur wat wordt weggeschreven. In dit verband kan ik vertellen dat een ZIP-drive heel handig is. Op een simpel floppy-achtig diskje kan 100 Mb aan data en, dat is het belangrijkste, de drive draait alleen maar als er datatransport plaatsvindt.

Nu even een ander zijweggetje dat ook over opslag gaat. Een plaatje van 160 x 100 komt uit op 16.000 beeldpixels. We werken in true-color (24-bits) dus per pixel zijn er 3 bytes nodig. Zodoende raak je opgescheept met een file van 48 Kb. Daar valt mee te leven maar als een 35 mm Photo-CD dia-kwaliteit wil hebben dan zit je op zo'n 3200 x 2000 pixels en zit je met files van 20 Mb en dat is niet meer leuk, zelfs niet voor harddisk-bezitters. Ook economisch valt het tegen: met een ZIP-drive heb je 25 gulden diskkosten voor de opslag van 5 plaatjes!

Hoeveel ruimte een plaatje op disk gaat innemen kan iedereen van te voren uitrekenen: potlood, stukje papier en aanzetten die grijze hersenmassa! Vraag: hoe groot kan je een plaatje maken, opdat die nog net op een 720 Kb floppydisk past?. Ik zal u niet vermoeien en gelijk het antwoord geven: 600 x 400. Teruggekomen op de hoofdlijn van dit verhaal gaan we gelijk weer een zijpaadje in. Ons beeldformat staat te boek als 'uncompressed Targa 24'. Helaas kan ik niet vinden hoe je een compressed Targa moet maken. Ik heb wel conversie naar andere meer compacte beeldformats geprobeerd met GemView maar ik heb niets gevonden om over te juichen. Ik vind namelijk dat als mijn computer heel lang zijn best heeft staan te doen op een plaatje, dat het dan van grote ondankbaarheid getuigt om een conversie te doen waar veel van die bloedig berekende details bij verloren gaan. MPEG-2 en JPEG vallen dus af, omdat ze niet verliesvrij zijn. Bij verliesvrije compressiemethodes kan je ook aardig op je bek gaan: GIF b.v. heeft maar 256 kleuren. Maar ga je Targa naar GIF converteren dan verlies je heel veel kleureninformatie!

Ook wordt in de loop der tijd het lastig om alles netjes te archiveren. Ik heb dan ook gewoon gekozen voor ST-ZIP als compressor/archiveerder. Met ZIP is het zo makkelijk om even een plaatje aan een bestaande verzameling in een ZIP-file toe te voegen of eruit te halen. U hebt over het gebruik van de ST-ZIP al eerder gelezen bij het stukje dat gaat over het uitpakken van de PD-disks.

Detail bekijken

Stel ik heb een beeld waarin een houten balk voorkomt. Ik vraag mij af of het patroon van de kopse kant wel goed aansluit aan de nervenstructuur van de zijkanten. Alleen in een beeld van hoge kwaliteit kan je dat goed zien. En dat kost zoveel tijd! Er is redding. Je kunt opgeven (zie afbeelding 16) na het aanvinken van 'render picture partly' waar je moet beginnen en waar eindigen op beeldpixelniveau. Maar gek genoeg bij nummering alleen voor rijen terwijl als je het in percentages opgeeft je wel begin/eind rij en begin/eind kolom kan ingestellen. In de .def file kan je de parameters die hier op betrekking hebben intypen. Bedenk dat de getalwaarden betrekking hebben op de linker bovenhoek. Het is '+SR50' om op de 50-ste rij te beginnen en '+SC70' om op kolom 70 te beginnen.

Natuurlijk kan je ook opgeven wanneer er gestopt moet worden '+ER90' om op rij 90 te stoppen en '+EC80' om op kolom 80 te stoppen. Op die manier kan je een rechthoekig stukje uitzagen om in detail te bekijken zonder dat de rekentijd (en wachttijd), zogezegd, uit de klauwen loopt.

Shell-beperkingen omzeilen

Het zal nu wel duidelijk zijn dat je via een .def file alles kunt opgeven aan POVRay wat nodig is. Ik had al gemeld dat de PD-versie van de shell een nare beperking had: 160 x 100 pixels voor een beeld en meer niet. Door nu zelf met een teksteditor in de .def file de parameter +W160 te veranderen in het gewenste aantal pixels, b.v. +W300 en ook +H100 te verzetten tot b.v. +H150 omzeil je die beperking. Je moet dan wel afscheid nemen van muisgebruik, maar even in een editor te gaan en een paar getalletjes in een file veranderen is bijna net zo snel als het rondmuizen in de grafische PovRayShell.

Voor mensen zonder harddisk is de keus simpel: geen shell gebruiken en alleen maar .def files maken en gebruiken.

Animatie

Je kunt met Povray ook filmpjes maken. Ook daar is heel wat over te zeggen, maar aangezien een beetje ogend plaatje al zoveel rekentijd kost is het bijna ondoenlijk tenzij je over een supersnelle Medusa, Hades of Eagle beschikt. Voor een beetje animatie heb je zo een 300 beelden nodig en als elk beeld in volle glorie een dag rekenen kost ... Wil je echt serieus animaties gaan doen: wijk dan uit naar een Silicon Graphics machine of een HP Doubble Alpha Desktop met 500 MHz superRISC-CPU's! De kosten daarvan zijn ongeveer gelijk aan een nieuwe auto. Maar ja, er zijn zat mensen die er een auto op na houden vanwege hun hobby, dus waarom eigenlijk niet? Zijn er nog rijke lezers onder de abonnee's van dit blad? Ik houd mij ongegeneerd aanbevolen voor de ontvangst van belastingtechnisch afgescheven machines van dergelijk type.

Graphic-editor

Ik heb al aangestipt dat we voor de Atari-computers geen grafische editor hebben. Op de PC en vele andere computertypen bestaan die wel. Nu ben je gedwongen om lettertje voor letterje een scene-beschijving in te typen om een .pov file te maken. Dat is lastig. Hoe handig zou het niet zijn om een tekenprogramma te hebben waarbij je objecten simpel met behulp van de muis in de ruimte kunt plaatsen enz. Dergelijke software bestaat wel voor onze computer maar zo'n compleet raytrace-pakket komt al gauw in de buurt van de 600 gulden (Phase4 b.v.). Trouwens, je hoeft niet jaloers te worden op mensen met een PC want er is geen grafische editor voor POVRay (op geen enkele machine) die een reeds gemaakte .pov file als invoer kan gebruiken! Denk maar eens na wat de gevolgen van zo'n kleine beperking zijn: het is handig om een scene op te zetten maar daarna is het voor het aanbrengen van wijzigingen weer gewoon typen wat de klok slaat.

Kwaliteit

Wees niet al te veel teleurgesteld dat je animaties maar moet laten voor wat ze zijn want zelfs in professionele kringen zijn computergegenereerde 'real-photo'beelden heel kostbaar om te maken. In Hollywood is geld vaak geen probleem maar om 130 Graphic Machines van 80.000 dollar per stuk in een netwerk gedurende twee maanden te laten rekenen voor 2 1/2 minuut filmbeelden is geen katte(n)pis. Om de kwaliteit en daarmee de berekeningsduur van een beeld aan Povray door te geven kan men in de desktop (zie afbeelding 17) of in de .def file de parameter +q1 ophogen tot maximaal +q9.

Van belang is het ook om een juist aantal pixels voor het plaatje op te geven. Wil je de afbeelding alleen op het scherm bekijken dan is 600 x 400 voldoende (beeldverhouding 4:3). Er is niets op tegen om modern te doen en een 16:9 verhouding te nemen, alleen past dat slecht op de meeste beeldschermen. Trouwens, niet dat ik verwarring wil scheppen maar onze ST-s hebben een gewone PAL-TV uitgang en niet een breedbeeld PAL+. Heb je de beschikking over een heel goed beeldscherm met bijbehorende grafische mogelijkheden, dan kan je wat verder gaan: 1200 x 900 is soms zelfs in true-color (24-bits kleur) af te beelden.

Voor echt kwaliteitswerk kan je een voorbeeld nemen aan de Photo-CD van Kodak. Breng je een 35 mm dia om die in 'professional' kwaliteit op de Kodak Photo-CD te zetten, dan wordt er bij het scannen effectief voor je gewerkt aan een plaatje van 3200 x 2000 pixels in 24-bits kleur.

De moderne kleurenspuitende printers van zo'n 800 gulden per stuk staan te boek als 1200 dpi horizontaal en 700 dpi vertikaal. Dat klopt als je uitgaat van de grootte van het vlekje dat een opgespoten inktdruppeltje achterlaat op speciaal duur papier en de afstand tussen de vele inktdruppelspuitgaatjes in de printkop. Maar de printer heeft niet miljoenen kleuren ter beschikking maar een handje vol. Dus moeten er mixen gemaakt worden van diverse kleuren inktdruppels. Dat mixen gebeurt op het papier waar de druppels naast en over elkaar heen vallen. Dus het effectieve aantal dots per inch (dpi) ligt in kleur heel wat lager dan je zou denken! Vandaar dat het voor gewoon kleurendrukwerk van een plaatje ter grootte van een 13 x 9 cm afdruk op dergelijke printers als bron een 600 x 400 pixels true-colorplaatje ruim voldoende is.

Uitproberen

De beide disks C 116 en 117 bevatten vele voorbeelden; zo veel, dat de komende twee maanden de computer continu kan doorrekenen en dan nog niet op tijd klaar zal komen. Voor mensen die met een floppydrive werken moet ik even wat vertellen over .pov files, aangezien onwetendheid op dit punt tot zeer veel tijdverlies en ergernis kan leiden.

In de tekst die de scene beschrijft kunnen (aan het begin) de zgn. 'includes' staan. Dit zijn files die door POVRay nagelezen moeten worden om wat gegevens op te duikelen. Zo is er een file met de naam colors.inc in de folder povray/include. Lees die maar eens met een editor en je zal een schat aan voorgedefinieerde kleuren en tinten vinden. Wat te denken van b.v. SteelBlue, dat zeer nauwkeurig beschreven wordt als color red 0.137255 green 0.419608 blue 0.556863! Voordat je een .pov file gaat renderen zoals dat met een deftig woord heet, moet je even met een editor kijken of er andere files nodig zijn. Zet die er dan op de flop bij want anders neemt POVRay zelf heel snel afscheid en wel voordat je door kan hebben wat er mis is.

Ga je zelf dingen maken, dan moet je bedenken dat er al heel veel is bedacht door andere mensen waar je gebruik van mag maken. Neem de file shapes2.inc maar eens onder ogen: een hele lijst van wiskundige figuren trekt voorbij. Heel handig maar soms ook wel frusterend voor een wiskundig niet-onderlegd iemand, want hoe ziet een icosahedron er uit?

Verdere voorbeelden

Er zijn nog meer diskjes met handige spullen en voorbeelden. Zo bevat disk C 136 een implementatie die gebruikt maakt van floatingpoint co-pro en de extra handige instructies van de 68030/40 CPU en die daardoor ietsje sneller is; wat viewers en converters van TGA naar GIF b.v., en een heleboel voorbeelden. Disk C 137 bevat de benodigde gereedschappen heel specifieke dingen te doen. Dat komt later wel ter sprake.

Piet Vogelaar


Copyright © Rein Bakhuizen van den Brink
Last updated on 1 september 1999
Home Creatief met POVRay Creatief met POVRay Nog meer installatie-gedoe