Ett par små problem: /tmp är lokal för datorn man sitter på, och rensas efter ca 24 timmar. Spara de resultat du vill bevara på ditt konto när du är klar. Dessutom kan gamla povra.ini och d.tga filer ligga kvar på /tmp/ från tidigare användare, och går inte att ta bort. Detta kan lösas genom att man kopierar povray.ini till ett annat namn, och ändrar i den så att raderna
Output_File_Name=/tmp/d.tga Post_Scene_Command=xv /tmp/d.tga &talar om ett annat filnamn. Kör sedan povray med
povray <egenini.ini> +i<egenfil.pov>där <egenini.ini> är er egen initeringsfil och <egenfil.pov< er povray-fil.
module add hacksoch starta PoVRay med antingen
povray +w266 +h200 +ft +v +iminfil.pov +outfil.tga; xv utfil.tga('+w' och '+h' anger bildens bredd och höjd, '+ft' att man vill producera en Targa-fil som resultat, '+v' att man vill ha utskrift under körning, '+i' anger inputfilen och '+o' outputfilen; se även Man-sidan).
eller med det koncisare
povray +iminfil.povom du har placerat filen povray.ini i samma bibliotek. Povray.ini innehåller färdiga deklarationer om bildstorlek, att lägga in utdata i filen /tmp/dan.tga, att xv ska startas efteråt osv. Den är lätt att editera, och vill man prova nya kommando-optioner kan de skrivas till.
Speciellt värt att nämna är +a, vilket sätter igång antialiasing (långsamt men snyggare i många bilder).
Om du vill veta mer om PoVRay, ta då en titt på dess hemsida, där även en illustrerad manual finns. Det är dock en rätt belastad server, så en mera näraliggande hypertextmanual finns på Elektro. En text version av manualen ligger på /usr/local/hacks/lib/povray3/povray.doc.
texture{Jade} texture{Brass_Valley} texture{Rust}för att använda fördefinierade texturer,
texture{ pigment{color Green} finish{Shiny} normal{bumps 0.4} }för egna texturer.
Dock finns det ett litet problem: när man kör PoVRay måste det få reda på var den ska hämta dessa definitioner. Därför måste du addera till raderna
#include "colors.inc" #include "textures.inc"i dialogen Declarations, som kan nås via en knapp i Target Specific dialogen.
Se /usr/local/hacks/lib/povray3/include för olika texturer, framför allt i textures.v2.
Textures.inc innehåller åtskilliga trevliga texturer, som de ovan nämnda och texturer i stil med Aluminum, Lightening1, Ruby_Glass, DMFWood6 och Cork. I filen glass.inc finns fler glassorter, metals.inc nya metaller, stones.inc olika stensorter (se stones1.inc och stones2.inc) och woods.inc olika träslag. För att använda dessa, lägg till #include-satser i Declarations för att inkludera de filer som behövs (tänk på att de ofta anropar färgerna i colors.inc, så de måste följa efter #include "colors.inc").
texture wood texture marble texture checker <foo>Där <foo> definieras enligt
surface foo ambient r g b diffuse r g b specular r g b specpow x reflect ydär r,g,b är färgvärden mellan noll och ett, x exponenten i Phong's formel och y hur mycket ytan reflekterar (alla dessa är inte nödvändiga). Placera denna definition innan textur-anropet.
Man kan också lägga på en rle-bild på ytan med hjälp av
texture image <filnamn>Om man har en fil i formatet foo kan den översättas till rle med sekvensen
footoppm fil.foo | ppmtorle > fil.rle
Rayshade borde finnas på alla datorer om man kör
module add graphicsmen i verkligheten fungerar det inte alltid. Man kan dock köra det på dront (tänk på att /tmp är lokalt för den dator du sitter vid, du måste flytta filen till en katalog som kan läsas via dront).
Ett problem är att xv då inte kommer åt skärmen, för att åtgärda detta skriver man
xhost dront.nada.kth.sepå den egna datorn (detta ger dront tillstånd att visa fönster), och
setenv DISPLAY foo.nada.kth.se:0.0(där "foo" är din dators namn) i det terminalfönster som körs på dront (detta talar om att X-program ska köras på din dators konsol-fönster).
See också The Rayshade Home Page.
Ibland kan maninte kan välja menyvalen men sced verkar fungera i övrigt. Detta kan bero på att man har caps lock intryckt.
sky_sphere {pigment {color Blue}}där color Blue kan ersättas med andra färger, gradienter som
sky_sphere { pigment { gradient y color_map { [0 color Red] [1 color Blue] } scale 2 translate -1 } }eller ännu mer komplicerade pigment (solnedgångar med moln etc). Se sektion 4.9.2 i Povray manualen.
texture { pigment { image_map { gif "filename.gif" } }Detta lägger in en bild projicerad längs z-axeln med längden 1 på sidorna på objektet. Om man vill göra den större kan man lägga till kommandot
scale <xskala, yskala, zskala>före sista '}', rotation kan ske genom
rotate <xrot, yrot, zrot>och translation genom
translate <xtrans, ytrans, ztrans>
Vill man bara ha en projektion (ingen upprepning) kan man skriva
onceefter filnamnet. Här kan man också ange vilken sorts avbildning som används genom
map_type xdär x kan vara 0 (plan avbildning längs z-axeln), 1 (sfärisk avbildning), 2 (cylindrisk avbildning) och 5 (toroidal avbildning). Se sektion 7.6.1.5 i Povray manualen för mer information.
Spheres with just ambient light of different levels. |
Spheres with diffuse lightening. |
Spheres with different amounts of specular light. |
Spheres with varying Phong exponent/surface roughness. |
Spheres with different reflectiveness. |
Spheres with different transparencies and refraction. |
Spheres with normal perturbations. |