Onlinehilfe der Welt

Home > Übersicht > Wozu gibt es die Welt?

Rendering und Raytracing

Die Technik

Rendering und Raytracing ist eine Programmiertechnik zur Erzeugung von dreidimensional wirkenden Darstellungen. Man definiert mathematische Körper wie Flächen, Kugeln und Zylinder und deren Oberflächenstruktur und weist ihnen einen Ort in einem Koordinatensystem zu. Außerdem setzt man Ort, Blickrichtung und Objektiveinstellungen der Kamera fest und fügt Lichtquellen in den Raum ein. Ein Programm untersucht dann, welchen Weg Lichtstrahlen zwischen Lichtquellen und Kamera zurücklegen und wie sie dabei an den Körpern reflektiert werden, unter Berücksichtigung von Lichtbrechungen und Beeinflussung des Lichts durch Nebel, Staub in der Luft und lichtdurchlässige Stoffe.

 

Einfache und kostengünstige Beispiele sind Haus- und Gartenplaner.

POV-Ray

Zur Erzeugung von fotorealistischen 3D-Bildern benutze ich das Werkzeug POV-Ray, das man sich unter www.povray.com  als Freeware downloaden kann. Für die folgende Darstellung habe ich als Fotos nur zwei Bilder von Tannenzweigen und zwei von Tannenspitzen verwendet. Die Erstellung eines Bildes erfordert Programmierung. Ich habe z.B. geschachtelte Programmschleifen zum Anbringen der Tannenzweige am Stamm geschrieben.

 

Fangen wir also an mit der Erschaffung unserer kleinen Welt, allerdings nicht ganz in der Reihenfolge wie in der Bibel angegeben:

 

 

 

 

 

 

... und es war finster auf der Tiefe...

Programmierung:

camera

  { location <0, 4, -5>

    look_at <0, 2.8, 1>

  }

weiter

 

 

 

 

 

 

 

 

... und die Erde war wüst und leer...

Programmierung:

camera ...

plane

{ y,

0.0      ...

sky_sphere

   { pigment

     { gradient y color_map ...

weiter

 

 

 

 

 

 

 

 

Es werde Licht!

Programmierung:

...

light_source {

  <10000, 6000, -2000>      // position of the light source

  color rgb <0.97, 0.80, 0.75>     // color of the light

  parallel

  point_at <0, 0, 0>

}

weiter

 

 

 

 

 

 

 

 

Und der Geist Gottes schwebte über dem Wasser.

Programmierung:

...

plane

{ ...

  normal { dents scale <0.25,0.25,0.05>}

  finish { reflection { 0.03, 1 }

           brilliance 10

           ambient 0.1 }

  }

}

weiter

 

 

 

 

 

 

 

 

Es sammle sich das Wasser unter dem Himmel an besondere Örter, das man das Trockene sehe!

Programmierung:

...

#macro Baue_Insel(Entfernung,Mittelpunkt,Hoehe,Breite,Tiefe,Drehung)

#local Insel1 =

height_field

{ sys "Insel_Height1.bmp"

  ...

#declare Insel =

object

{ ...

weiter

 

 

 

 

 

 

 

 

 

Es lasse die Erde aufgehen Gras und Kraut!      

Programmierung:

...

#macro AKA_Gras01(Typ, Gras)

#local Gras =

object

{ Gras ...

weiter

 

 

 

 

 

 

 

... und Bäume ...   

Programmierung:

...

#macro AKA_Tanne01 (Hoehe, Breite, Typ)

#declare AKA_Tanne01_Obj =

  union

  {  cone // Stamm

     { <0,-0.2,0>, 0.10, <0, 4, 0>, 0.001

       pigment {rgb <168, 140, 114> / 255}

     }

     object

     {  AKA_Tanne01_Spitze

        rotate y*45

     }

     object

     {  AKA_Tanne01_Spitze

        rotate y*135

     }

     ...

     #while (Z_Hoehe >= 1)

       object

       {  AKA_Tanne01_Rosette

          ...

       }

       ...

     #end

     ...

     hollow

  }

weiter

 

 

 

 

 

 

 

Seid fruchtbar und mehret euch ...

weiter

 

 

 

 

Aber ein Nebel ging auf von der Erde und feuchtet alles Land.     

Programmierung:

...

fog

{ fog_type 2

  color <0.87, 0.8, 0.8>

  distance 6

  fog_offset 0.1

  fog_alt 0.3

  rotate x*-0.4

}

 

Weiter

 

Weiter zur Quicktour ►

Oder möchten Sie Beispiele über den Umgang mit Raytracia sehen? ▼

Oder möchten Sie vom Computer erzeugte mp3-Musik kostenlos downloaden? ▼

Zurück zur Schöpfungsgeschichte ◄

Zurück zur Übersicht der Onlinehilfe ▲

Home ▲

Ein Science-Fiction-Roman ohne Handlung

© Copyright by Andrea E. Kaiser