home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- TTTTTTT H H U U NN N DDD EEEEEEE RRRR
- T H H U U N N N D DD E R R
- T HHHHHHH U U N NN N D DD EEEEE RRRR
- T H H U U N N N D DD E R R
- T H H UUUUUUU N NNN DDD EEEEEEE R R
-
-
-
- Version 2.0
-
-
-
-
-
- geschrieben von Heiko Mikala und André Hinkenjann (c) 1990
-
-
-
-
- Dieses ist eine nicht registrierte Sharewareversion.
- Bitte denken Sie daran, sich registrieren zu lassen.
-
-
-
-
-
-
- INHALT
- ------
-
- 1. SHAREWARE
-
- 1.1 VOLLVERSION
-
- 2. HAFTUNG
-
- 3. EINLEITUNG
-
- 4. SYSTEMVORAUSSETZUNGEN
-
- 5. RAYTRACING
-
- 6. FARBMODELL
-
- 7. SZENENBESCHREIBUNG
-
- 7.1 BILDGRÖßE
-
- 7.2 ÖFFNUNGSWINKEL
-
- 7.3 STANDPUNKT
-
- 7.4 BLICKPUNKT
-
- 7.5 ACHSENRICHTUNG
-
- 7.6 REFLEXIONSZAHL
-
- 7.7 BILDDATEI
-
- 7.8 BELEUCHTUNG
-
- 7.9 SCHACHTELANFANG/SCHACHTELENDE
-
- 7.10 OBJEKTDEFINITIONEN
-
- 7.10.1 KUGEL
-
- 7.10.2 BOX
-
- 7.10.3 DREIECK
-
- 7.10.4 VIERECK
-
- 7.10.5 SÄULE
-
- 7.10.6 ROTATIONSKÖRPER
-
- 7.11 TEXTURES
-
- 7.11.1 BEISPIEL
-
- 7.12 OBERFLÄCHENDEFINTIONEN
-
- 8. BEISPIEL FÜR EIN EINGABEFILE
-
- 9. BEDIENUNG DES PROGRAMMES
-
- 10. ANSEHEN GESPEICHERTER BILDER
-
- TIPS
-
-
-
- 1. SHAREWARE
-
- "Thunder" ist ein SHAREWARE-Programm, d.h. Sie dürfen dieses Programm
- kostenlos benutzen und frei kopieren, sowie beliebig weiterverbreiten
- (Wir würden uns sogar sehr freuen!). Vorraussetzung dafür ist, daß Sie
- die Programme und ihre Dokumentation unverändert lassen.
-
- Die Vollversion von "Thunder" können Sie gegen eine Registriergebühr
- von 40.-DM, zuzüglich Porto + Verpackung bei uns erwerben.
- Dazu füllen Sie bitte das Bestellformular "Bestell.txt" aus und senden
- es an die dort angegebene Adresse.
-
- In diesem Programm stecken viele anstrengende Stunden Arbeit. Bitte
- bedenken Sie, daß das SHAREWARE-Konzept von der Unterstützung der Be-
- nutzer lebt.
-
-
-
-
- 1.1 VOLLVERSION
-
- Nach Registrierung bei uns erhalten Sie die neueste Vollversion des
- Programmes "Thunder", die über folgende zusätzliche Eigenschaften ver-
- fügt:
-
- - Rotationskörper
- (beispielsweise Kannen, Gläser, Kegel etc.)
-
- - 80x87 Coprozessor-Unterstützung
- (noch schnellere Berechnung!)
-
- - Unterstützung erweiterter Super-VGA Modi.
- (z.B. Auflösung 640 x 480, 800 x 600 bei 256 Farben)
-
- - Unterstützung bei eventuell auftretenden Problemen und Fragen
-
- - Berechtigung zum verbilligten Erwerb neuer Versionen.
- (Update-Service)
-
-
-
-
- 2. HAFTUNG
-
- Da es wissenschaftlich erwiesen ist, daß die fehlerfreie Funktion kom-
- plexer Programme nicht beweisbar ist, können wir keine Gewähr dafür
- übernehmen, daß die von uns gelieferte Software unterbrechungs- oder
- fehlerfrei läuft.
- Wir werden uns jedoch stets bemühen, ausgetestete und fehlerfreie Soft-
- ware zu liefern.
- Für die Lauffähigkeit unter beliebigen Kombinationen von Soft- und Hard-
- ware übernehmen wir keine Garantie.
- Die Haftung für unmittelbare Schäden, mittelbare Schäden, Folgeschäden
- und Drittschäden, sowie für grobe Fahrlässigkeit und Vorsatz ist, soweit
- gesetzlich zulässig, ausgeschlossen.
- In jedem Fall ist die Haftung auf den Kaufpreis beschränkt.
-
-
-
-
-
- 3. EINLEITUNG
-
- "Thunder" ist ein Programm zur Erstellung von photorealistischen Com-
- putergrafiken auf IBM-kompatiblen Rechnern, das auf allen Standardgra-
- fikkarten lauffähig ist. Das dabei verwendete Verfahren ist als
- "Ray-Tracing" bekannt. Einer näheren Beschreibung dieses Verfahrens ist
- ein eigenes Kapitel gewidmet. Die von dem Programm berechneten Bilder
- setzen sich aus Objekten zusammen, die in einem Eingabefile definiert
- werden. "Thunder" kennt folgende primitive Objekte:
-
- - Kugeln
- - Boxen
- - Dreiecke
- - Vierecke
-
- sowie folgende zusammengesetzte Objekte:
-
- - Säulen
- - Rotationskörper (nur in der Vollversion)
-
- Die untenstehenden Eigenschaften der Objekte können frei gewählt werden:
-
- - Farbe
- - Transparenz
- - Mattheit/Glänzen
- - Spiegelung
- - Oberflächenstruktur (Texture)
-
- Außerdem können zur Beschleunigung der Berechnung bei komplexen Szenen
- sog. "bounding boxes" definiert werden (s.u.).
-
-
-
-
- 4. SYSTEMVORAUSSETZUNGEN
-
- Das Programm setzt einen IBM-kompatiblen Computer mit mind. 256kB Spei-
- cher und eine VGA,EGA,CGA oder Herculeskarte voraus.
- Optimal ist eine VGA-Karte und eine Festplatte, da bei hohen Auflösungen
- die berechneten Bilder größer als 360kB werden können.
-
-
-
-
- 5. RAYTRACING
-
- Raytracing ist das Verfahren, das bei vielen aus Film und Fehrnsehen be-
- kannten Logos und Animationen verwendet wird, da es von allen bekannten
- Verfahren zur Herstellung von Computergrafiken die besten Ergebnisse
- liefert.
- Die Übersetzung für Raytracing lautet "Strahlen-Rückverfolgung". Hierbei
- werden vom imaginären Betrachter Sehstrahlen ausgesendet und ihr Weg
- durch eine beliebige Szene verfolgt. Dabei können die Strahlen gebrochen
- oder reflektiert werden. Der Winkel und die Entfernung zu einer oder
- mehreren Lichtquellen bestimmen die Helligkeit der sichtbaren Punkte.
- Die Farbe wird durch die Oberflächeneigenschaften der Objekte bestimmt.
- Durch jeden Punkt auf dem Bildschirm wird also ein Strahl vom Betrachter-
- standpunkt in die imaginäre Szene gesandt, die sich aus den vom Benutzer
- angegebenen Objekten zusammensetzt. Für den Schnittpunkt des Strahles mit
- einem Objekt, der den kürzesten Abstand zum Betrachter hat, wird die Far-
- be des Objektes am Schnittpunkt bestimmt.
- Zunächst erhält das Objekt als "Grundfarbe" den im Eingabefile dafür de-
- finierten ambienten Farbanteil. Je nach den Transparenz- und Spiegelungs-
- eigenschaften, sowie der Lage des Objektes zur (zu den) Lichtequelle(n),
- addieren sich dazu spekulare und diffuse Farbanteile.
-
-
-
-
- 6. FARBMODELL
-
- "Thunder" verwendet zur Beschreibung von Farben RGB-Werte, d.h. Farben
- setzen sich aus den drei Grundfarben Rot, Grün und Blau zusammen. Diese
- werden in Intensitäten von 0 bis 255 angegeben, dabei bedeutet 0, daß
- der Farbanteil nicht vorhanden ist, 255 bedeutet höchste Intensität.
- Um andere Farben als Rot, Grün oder Blau herzustellen, müssen die Farb-
- anteile in unterschiedlichen Intensitäten angegeben werden.
-
- Beispiele: Rot Grün Blau Farbe
-
- 0 0 0 Schwarz
- 150 150 150 Grau
- 255 255 255 Weiß
- 255 0 0 Hellrot
- 0 255 0 Hellgrün
- 0 0 255 Hellblau
- 200 100 0 Braun
-
-
-
-
- 7. SZENENBESCHREIBUNG
-
- Wie oben erwähnt wird die zu berechnende Szene durch ein Eingabefile be-
- schrieben, welches folgendes allgemeines Format besitzt:
-
- ( eckige Klammern enthalten optionale Angaben, spitze Klammern enthalten
- Auswahlmöglichkeiten )
-
- - Bildgröße
- - Öffnungswinkel
- - Standpunkt
- - Blickpunkt
- - Achsenrichtung
- - Reflexionszahl
- - Bilddatei
- - Beleuchtung
- [ - Beleuchtung ]
- .
- .
- [ - Beleuchtung ]
- [ - < Marmorfaktor | Holzfaktor | Schachfaktor | Streifenfaktor > ]
- [ - Schachtelanfang ]
- - < Kugel | Box | Dreieck | Viereck | Säule | Rotationskörper >
- - Oberfläche
- .
- .
- [ - Schachtelanfang ]
- .
- .
- [ - Schachtelende ]
- .
- .
- - < Kugel | Box | Dreieck | Viereck | Säule | Rotationskörper >
- - Oberfläche
- [ - Schachtelende ]
- - Hintergrund
- - Ende
-
-
-
-
-
- 7.1 Bildgröße
-
- Format: Bildgröße
- x y
-
- Beschreibung: x und y sind zwei ganze, positive Zahlen, die die hori-
- zontale und vertikale Auflösung des zu berechnenden Bil-
- des angeben.
- Die angegebene Auflösung sollte der Auflösung Ihrer Gra-
- fikkarte entsprechen, Sie können jedoch auch höher aufge-
- löste Bilder berechnen lassen, die dann allerdings auf
- Ihrer Grafikkarte nur ausschnittsweise dargestellt werden.
-
- 7.2 Öffnungswinkel
-
- Format: Öffnungswinkel
- h v
-
- Beschreibung: h und v sind die horizontalen und vertikalen Öffnungswin-
- kel der Betrachterkamera in Grad, anzugeben als reelle
- Zahlen.
- Durch den Öffnungswinkel wir das Blickfeld/Szenenaus-
- schnitt festgelegt.
-
- 7.3 Standpunkt
-
- Format: Standpunkt
- x y z
-
- Beschreibung: x,y und z geben die reellwertigen Koordinaten der Betrach-
- terkamera im dreidimensionalen Raum an.
-
- 7.4 Blickpunkt
-
- Format: Blickpunkt
- x y z
-
- Beschreibung: x,y und z geben die reellwertigen Koordinaten des Punktes
- an, auf den der Betrachter blickt. Dieser Punkt wird zum
- Mittelpunkt des berechneten Bildes.
-
- 7.5 Achsenrichtung
-
- Format: Achsenrichtung
- x y z
-
- Beschreibung: Hier wird angegeben, welche der drei Achsen nach "oben"
- zeigt.
-
- Beispiel: Achsenrichtung
- 0 1 0
-
- Hier zeigt die y-Achse nach oben.
-
- 7.6 Reflexionszahl
-
- Format: Reflexionszahl
- r
-
- Beschreibung: Die ganzzahlige, positive Reflexionszahl gibt an, wie
- oft ein Strahl maximal reflektiert wird.
-
-
- 7.7 Bilddatei
-
- Format: Bilddatei
- name
-
- Beschreibung: "name" gibt den Pfad- und Dateinamen der Datei an, in der
- das berechnete Bild abgespeichert werden soll.
-
- Beispiel: Bilddatei
- c:\bilder\bild1.rgb
-
- 7.8 Beleuchtung
-
- Format: Beleuchtung
- i x y z
-
- Beschreibung: Durch diese Angabe werden Lichtquellen definiert. Licht-
- quellen senden prinzipiell weißes Licht aus.
- Der reellwertige, positive Parameter i, im Bereich 0.0
- (dunkel) bis 1.0 (hell) gibt die Helligkeit, die ganz-
- zahligen, positiven Parameter x,y und z geben die Koor-
- dinaten der jeweiligen Lichtquelle an.
-
- 7.9 Schachtelanfang/Schachtelende
-
- Format: Schachtelanfang
- .
- . (Objektdefinitionen)
- .
- Schachtelende
-
- Beschreibung: Alle Objekte, die zwischen "Schachtelanfang" und "Schach-
- telende" definiert werden, sind von einer Schachtel um-
- schlossen. Schachteln können selbst wieder andere Schach-
- teln beinhalten.
-
- Beispiel: Schachtelanfang
- .
- .
- Schachtelanfang
- .
- .
- Schachtelende
- .
- .
- Schachtelende
-
- Sinn der Schachteln ist es, die Berechnung zu beschleuni-
- gen:
- Für jeden ausgesandten Strahl müssen normalerweise alle in
- der Szene vorhandenen Objekte auf Schnittpunkte mit dem
- Strahl überprüft werden. Sind sehr viele Objekte auf klei-
- nem Raum vorhanden und werden diese von einer Schachtel
- umgeben, so kann dann keines der Objekte vom Strahl ge-
- schnitten werden, wenn die Schachtel nicht geschnitten
- wird. In diesem Fall überprüft "Thunder" die in der
- Schachtel liegenden Objekte nicht mehr auf Schnittpunkte.
- Auf diese Weise entfallen unter Umständen sehr viele
- Schnittpunktberechnungen.
- Es ist nicht sinnvoll, Schachteln um ein einziges Objekt
- zu legen, da die Schnittpunktberechnung mit einer Schach-
- tel ebenso aufwendig ist, wie die mit einem normalen Ob-
- jekt.
-
-
-
- 7.10 OBJEKTDEFINITIONEN
-
- Bemerkung: Der bei den Objektdefinitionen angegebene optionale Parame-
- ter "texture" gibt die gewünschte Oberflächenstruktur des
- Objektes an. Näheres siehe Unterkapitel TEXTURES (7.11).
-
-
- 7.10.1 Kugel
-
- Format: Kugel
- r x y z [texture]
-
- Beschreibung: Mit dieser Angabe kann eine Kugel definiert wer-
- den.
- Die vier reellen Parameter geben den Radius (r)
- der Kugel und die Koordinaten (x,y,z) des Mittel-
- punktes der Kugel im Raum an.
-
- Beispiel: Kugel
- 10 2.3 47.11 0.07
-
- Es wird eine Kugel mit dem Radius 10
- definiert, deren Mittelpunkt sich bei
- x=2.3, y=47.11 und z=0.07 befindet.
-
-
- 7.10.2 Box
-
- Format: Box
- x y z xsh ysh zsh [texture]
-
- Beschreibung: Mit dieser Angabe kann eine Box definiert werden.
- Die sechs reellen Parameter geben die Koordinaten
- (x,y,z) des Mittelpunktes der Box und jeweils die
- halbe Seitenlänge (xsh,ysh,zsh) in Richtung der
- x, y und z - Achsen an.
-
- Beispiel: Box
- 5 6.3 7 5 5 5
-
- Es wird eine Box (in diesem Fall ein
- Würfel) definiert, deren Mittelpunkt
- sich bei x=5, y=6.3 und z=7 befindet.
- Die Seitenlängen der Box betragen in
- x, y und z - Richtung jeweils 10 (beden-
- ken Sie, daß xsh,ysh und zsh jeweils die
- HALBE Seitenlänge angeben!).
-
-
- 7.10.3 Dreieck
-
- Format: Dreieck
- x1 y1 z1 x2 y2 z2 x3 y3 z3 [texture]
-
- Beschreibung: Mit dieser Angabe kann ein Dreieck definiert wer-
- den. Die neun reellen Parameter "x1"..."z3" geben
- die Koordinaten der drei Eckpunkte des Dreiecks
- an.
-
- Beispiel: Dreieck
- 10 10 5 5 5 10 20 20.5 20.1
-
-
-
- 7.10.4 Viereck
-
- Format: Viereck
- x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4 [texture]
-
- Beschreibung: Mit dieser Angabe kann ein Viereck definiert wer-
- den. Die zwölf reellen Parameter "x1"..."z4" geben
- die Koordinaten der vier Eckpunkte des Vierecks
- an.
- Achtung: Die vier Eckpunkte müssen entgegen oder
- im Uhrzeigersinn definiert sein!
- Die vier Eckpunkte müssen in einer Ebene
- liegen!
-
- Beispiel: Viereck
- -4 -4 0 -4 4 3 4 4 3 4 -4 0
-
- (Diese Angaben sind korrekt, da die
- Punkte in einer Ebene liegen und im
- Uhrzeigersinn definiert wurden.)
-
-
- 7.10.5 Säule
-
- Format: Säule
- richtung x y z r h f [texture]
-
- Beschreibung: Auf diese Weise wird eine Säule definiert.
- Die Längsachse muß parallel zur x-, y- oder
- z-Achse verlaufen. Ist der ganzzahlige Parameter
- "richtung" gleich 1, 2 oder 3, so verläuft die
- Längsachse parallel zur x-, y- oder z-Achse.
- Die drei reellen Parameter "x", "y", "z" geben
- die Koordinaten des Mittelpunktes der Säule an.
- Der reelle Parameter "r" gibt den Radius der Säule
- an.
- Der reelle Parameter "h" gibt die halbe Höhe der
- Säule an.
- Da die Säule durch Vierecke angenähert wird, müs-
- sen Sie durch den ganzzahligen Parameter "f" den
- Grad der Annäherung angeben. Dabei gilt, daß die
- Säule durch f*4 Vierecke angenähert wird.
-
- Bemerkung: Eine Säule besteht lediglich aus einem
- Mantel, sie hat KEINE abschließenden
- "Deckel".
-
- Beispiel: Säule
- 1 0 0 0 5.5 30 5
-
- Es wird eine Säule definiert, die paral-
- lel zur x-Achse verläuft. Der Mittel-
- punkt der Säule befindet sich im Ur-
- sprung. Der Radius der Säule beträgt
- 5.5, die Höhe 60 (daraus ergibt sich,
- daß sich die erste gedachte abschlies-
- sende Kreisfläche bei x=30, y=0, z=0, die
- zweite bei x=-30, y=0, z=0 befindet).
- Angenähert wird die Säule durch 4*5=20
- Vierecke.
-
-
-
- 7.10.6 Rotationskörper ( NUR IN DER VOLLVERSION )
-
- Format: Rotationskörper
- anzahl richtung f [texture]
- x1 y1 z1 r1
- .
- .
- xanz yanz zanz ranz
-
- Beschreibung: Auf diese Weise wird ein Rotationskörper defi-
- niert, der sich aus "anzahl" Kreisflächen ergibt.
- Zwischen jeweils zwei dieser Kreisflächen werden
- wie bei einer Säule Vierecke so gelegt, daß sich
- aus ihnen eine Mantelfläche ergibt. Im Gegensatz
- zur Säule können bei den Rotationskörpern die
- Kreisflächen jedoch unterschiedliche Radien be-
- sitzen.
- Der ganzzahlige Parameter "richtung" gibt an, zu
- welcher Achse die Kreisflächen senkrecht stehen.
- Die Kreisflächen können beliebig im Raum verteilt
- sein, stehen jedoch alle senkrecht zur angegebenen
- Achse.
- Der ganzzahlige Parameter "f" gibt den Grad der
- Annäherung der Mantelflächen an (siehe "Säule").
- Nun folgen "anzahl" viele Definitionen von Kreis-
- flächen. Dabei geben "xn", "yn" und "zn" jeweils
- die Koordinaten der Mittelpunkte der Kreisflächen
- an, der Parameter "rn" bestimmt deren Radius.
-
- Beispiel: Rotationskörper
- 2 2 7
- 0 0 0 10
- 3 7.8 0 0.1
-
- Diese Angaben definieren einen schiefen
- Kegel.
- Durch die Angabe 2 für "anzahl" wird
- festgelegt, daß zwei Definitionen von
- Kreisflächen folgen. Dadurch, daß der
- Parameter "richtung" auf 2 gesetzt wird,
- liegen alle Kreisflächen senkrecht zur
- y-Achse (parallel zur x-z-Ebene).
- Die Mantelfläche wird durch 7*4=28 Vier-
- ecke angenähert.
- Die erste der Kreisflächen liegt im Ur-
- sprung, der Radius beträgt 10.
- Die zweite Kreisfläche befindet sich pa-
- rallel zur ersten bei x=3, y=7.8, z=0
- und hat den Radius 0.1.
-
-
- 7.11 TEXTURES
-
- Der letzte, optionale Parameter "texture" bei den Objektdefinitionen
- gibt an, wie die Oberfläche des definierten Objektes beschaffen sein
- soll:
- Stellen Sie sich vor, der betrachtete dreidimensionale Raum sei an-
- gefüllt mit einem bestimmten Muster. Dieses Muster wird nur dann auf
- der Oberfläche eines Objektes sichtbar, wenn der Name dieses Musters
- als Parameter "texture" angegeben wird.
- Da die Muster starr im Raum liegen, können Sie die Feinheit der Mus-
- ter durch die jeweiligen "texturefaktoren" festlegen. So ergibt ein
- großer "Streifenfaktor" beispielsweise breite Streifen, ein kleiner
- "Streifenfaktor" schmalere Streifen.
-
- Der größte Vorteil dieses Verfahrens zur Berechnung von textures
- ist die hohe Ausführungsgeschwindigkeit, es hat aber auch einen
- Nachteil:
- Dadurch, daß die Muster fest im Raum liegen und nicht etwa auf die
- Oberflächen der Objekte projiziert werden (was einen erheblich hö-
- heren Rechenaufwand bedeuten würde), sind genau die Teile des Mus-
- ters sichtbar, die sich an der selben Stelle wie die Oberfläche be-
- finden. Daher erscheint z.B. ein Schachbrettmuster auf einer Kugel
- nicht zwangsläufig wirklich wie ein Schachbrettmuster, da die Kugel
- das starre Muster schief schneidet.
-
- Folgende Textures werden von "Thunder" angeboten:
-
- - Holz
- - Marmor
- - Schach (Schachbrettmuster)
- - X-Streifen (gestreift in x-Richtung)
- - Y-Streifen (gestreift in y-Richtung)
- - Z-Streifen (gestreift in z-Richtung)
-
- Die zugehörigen (positiven, reellen) Texturefaktoren sind:
-
- - Holzfaktor
- - Marmorfaktor
- - Schachfaktor
- - Streifenfaktor (gilt für alle Streifenarten)
-
- Während alle anderen Textures tatsächlich die Muster ergeben, die
- man entsprechend ihrem Namen erwartet, ist "Marmor" ein experimen-
- telles Muster, das bei dem Versuch entstand, ein Marmor-Texture zu
- entwerfen. Die entstehenden Effekte sind durchaus interessant, aber
- nicht immer wirklich marmorähnlich. Experimentieren Sie ruhig ein
- wenig!
-
- 7.11.1 BEISPIEL
-
- Das folgende Beispiel demonstriert die Verwendung des Schach-
- brettmusters auf einer Box:
-
- .
- .
- Schachfaktor
- 2
- .
- .
- Box
- 0 0 0 5 5 5 Schach
- .
- .
-
-
-
- 7.12 OBERFLÄCHENDEFINITIONEN
-
- Format: Oberfläche
- ar ag ab dr dg db sr sg sb koeff refl transp
-
- Beschreibung: Die Farbe einer Oberfläche wird beschrieben durch
- ihren ambienten (ar, ag, ab), diffusen (dr, dg ,db)
- und spekularen (sr, sg, sb) Farbanteil, der durch po-
- sitive, ganze Zahlen im Bereich von 0 bis 255 angege-
- ben wird (RGB-Werte).
- Die Mattheit/Glänzen wird angegeben durch den positi-
- ven, reellen spekularen Koeffizienten (koeff). Je
- größer Sie "koeff" wählen, desto glänzender ist die
- Oberfläche.
- Der positive, reelle Parameter "refl" (im Bereich 0-1)
- bestimmt, ob ein Objekt spiegelt und wenn ja, wie
- stark. Wünschen Sie keine Spiegelung, so setzen Sie
- refl auf 0, der maximalen Spiegelung entspricht 1.
- "transp" (positiv, reell) bestimmt die Transparenz
- eines Objektes. Ist "transp" gleich 1, so ist das Ob-
- jekt vollkommen durchsichtig, bei 0 ist es undurch-
- sichtig.
-
- Beispiel: Oberfläche
- 200 0 0 200 0 0 200 0 0 2.0 1.0 0.0
-
- Da die grünen und blauen Farbanteile der
- Oberfläche auf Null gesetzt und nur die ro-
- ten Farbanteile größer als Null sind, wird
- eine rote Oberfläche definiert. Diese Ober-
- fläche ist voll spiegelnd (refl=1.0) und
- vollkommen undurchsichtig.
-
-
- Bemerkung: Eine Oberflächenbeschreibung gilt immer für
- alle vorhergehenden Objekte, für die noch
- keine Oberflächenbeschreibung angegeben
- wurde. D.h., wenn Sie mehrere Objekte mit
- gleichen Oberflächeneigenschaften versehen
- wollen, so reicht es aus, die Oberflächen-
- beschreibung nach Definition des letzten
- dieser Objekte anzugeben.
-
-
-
- 8. BEISPIEL FÜR EIN EINGABEFILE
-
- Das folgende Eingabefile definiert ein Bild, in dessen Mitte sich eine
- rosafarbene Säule befindet. Auf der Säule liegt eine grüne Kugel, die Säu-
- le steht auf einer grünen, gestreiften Box.
- Das Beispiel zeigt auch, daß und wie Kommentare in Eingabefiles eingefügt
- werden können:
-
-
- /* Ausschnittsgröße 100*100 Punkte */
- Bildgröße
- 100 100
-
- /* horizontaler Öffnungswinkel=20, vertikaler=25 */
- Öffnungswinkel
- 20 25
-
- Standpunkt
- 0 0 -80
-
- /* Man sieht auf den Ursprung */
- Blickpunkt
- 0 0 0
-
- /* Die y-Achse zeigt nach oben */
- Achsenrichtung
- 0 1 0
-
- /* maximal eine Reflexion zulassen */
- Reflexionszahl
- 1
-
- Bilddatei
- bsp.rgb
-
- /* Eine Lampe maximaler Helligkeit */
- Beleuchtung
- 1 -10 20 -80
-
-
-
- /* Die Streifen sind zwei Einheiten dick */
- Streifenfaktor
- 2
-
-
-
- /* Alle folgenden Objekte in eine Schachtel packen */
- Schachtelanfang
-
-
-
- /* Eine Säule in die Mitte des Bildes legen */
-
- Säule
- 2 0 0 0 5 10 8
-
- /* Die Oberflächenbeschreibung der Säule */
-
- Oberfläche
- 210 10 70 210 10 70 150 210 70 1.0 0.8 0.0
-
-
-
-
- /* Eine Kugel oben auf die Säule legen */
-
- Kugel
- 10 0 20 0
-
-
- /* Eine gestreifte Box unter die Säule legen */
-
- Box
- 0 -12.5 0 15 2.5 10 X-Streifen
-
-
- /* gemeinsame Oberflächenbeschreibung für Box und Kugel */
-
- Oberfläche
- 0 200 30 15 230 50 5 195 70 1 0 0
-
-
-
- Schachtelende
-
-
-
- Hintergrund
- 255 255 255
-
- /* That's all folks ... */
- Ende
-
-
-
-
-
- 9. BEDIENUNG DES PROGRAMMES
-
-
- Nachdem Sie das Programm erfolgreich installiert haben, rufen Sie
- "Thunder" durch Eingabe von "thunder" auf.
- Sie werden nun aufgefordert den Namen des Eingabefiles anzugeben:
-
- Eingabefile: _
-
- Existiert z.B. ein File "szene.dat", das den oben angegebenen Regeln ent-
- spricht, so können Sie dieses nun als Eingabefile benennen. Dieses wird
- nun aus dem aktuellen Directory geladen. Sie können jedoch auch einen
- vollständigen Pfad inklusive Dateinamen angeben, wie z.b:
-
- Eingabefile: c:\ray\bilder\szene.dat
-
- Daraufhin erscheint ein Auswahlmenü, das verschiedene Grafikkarten zur
- Auswahl stellt:
-
- Bitte wählen Sie den Grafikmodus
- ================================
-
-
- (1) - Hercules 720x384 2 Farben
- (2) - CGA 640x200 2 Farben
- (3) - EGA 640x350 16 Farben
- (4) - VGA 640x480 16 Farben
- (5) - VGA 320x200 256 Farben
-
- (0) - Keine Grafikausgabe
-
- (jede andere Taste) - AUTODETECT
-
- Nr.: _
-
- Wählen Sie hieraus Ihre Grafikkarte aus, so wird das Bild während der
- Berechnung angezeigt. Sollten Sie aber keine Grafikausgabe wünschen, so
- wählen Sie den Punkt "Keine Grafikausgabe", indem Sie "0" eingeben. In
- diesem Falle gibt das Programm während der nun folgenden Berechnung die
- Nummer der gerade berechneten Zeile des Bildes aus.
- Bei Eingabe einer im Menü nicht explizit erwähnten Taste ermittelt das
- Programm selbständig die eingebaute Grafikkarte und wählt diese zur
- graphischen Ausgabe.
- Nach Auswahl der gewünschten Grafikkarte wird die Berechnung des Bildes
- gestartet und entsprechend der Menüauswahl auf dem Bildschirm angezeigt.
- Da nach jeder berechneten Zeile die zugehörige Information auf der Dis-
- kette/Festplatte gespeichert wird, sollten Sie die Berechnung des Bildes
- nicht vor deren Beendigung unterbrechen (wer nicht hören will, muß wühlen
- ... und zwar mit "chkdsk"!).
- Sobald die Berechnung des Bildes beendet ist, kehrt das Programm selb-
- ständig nach DOS zurück.
-
- Bemerkung: Da für eine qualitativ hochwertige Darstellung der Bilder auf
- EGA/VGA-Karten die gesamte Bildinformation zur Verfügung steh-
- en muß, können die Bilder während der Berechnung auf diesen
- Grafikkarten nur angenähert dargestellt werden. Bei Benutzung
- des mitgelieferten Programmes "ZEIGERGB.EXE" steht Ihnen dann
- die gesamte Farbenpracht zur Verfügung (siehe unten).
-
-
-
- 10. ANSEHEN GESPEICHERTER BILDER
-
-
-
- Die mit "Thunder" erstellten Bilder können Sie mit Hilfe des Programmes
- "ZEIGERGB" betrachten. Haben Sie das Programm gestartet, so werden Sie
- aufgefordert, den Namen des Bildes einzugeben:
-
- Name des RGB-Files : _
-
- Geben Sie nun den Namen des Bildes an, das Sie sich ansehen möchten
- (evtl. mit Pfadangabe). Es erscheint folgendes Auswahlmenü:
-
- Bitte wählen Sie den Grafikmodus
- =================================
-
-
-
- (1) - Hercules 720x348 2 Farben
- (2) - CGA 640x200 2 Farben
- (3) - EGA 640x350 16 Farben #1
- (4) - EGA 640x350 16 Farben #2
- (5) - VGA 640x480 16 Farben #1
- (6) - VGA 640x480 16 Farben #2
- (7) - VGA 320x200 256 Farben
-
- (jede andere Taste) - AUTODETECT
-
- Nr.: _
-
- Geben Sie nun die Nummer der Grafikkarte an, die Sie besitzen, oder
- drücken Sie eine beliebige andere Taste, um den Computer die Auswahl
- treffen zu lassen. Bei Wahl der EGA-Karte oder der VGA-Karte im Modus
- 640x480 Punkte in 16 Farben stehen Ihnen zwei unterschiedliche Verfahren
- zur Verfügung. Es empfiehlt sich, beide Verfahren auszuprobieren, um zu
- entscheiden, welches ein subjektiv besseres Ergebnis in der Darstellung
- liefert.
- Haben Sie Ihre Auswahl getroffen, so wird das Bild (soweit vorhanden) zur
- Anzeige gebracht und solange angezeigt, bis Sie die RETURN-Taste drücken.
-
- Bemerkung: In der Vollversion haben Sie bei der Berechnung, sowie beim
- Betrachten des Bildes die Option, erweiterte Super-VGA-Modi zu
- verwenden.
-
-
-
- TIPS
-
- - Raytracing ist zwar einerseits das Verfahren, das von allen bekannten
- Verfahren die besten Ergebnisse liefert, aber es ist leider auch ein
- relativ rechen- und damit zeitintensives Verfahren. Wir haben uns be-
- müht, "Thunder" so schnell wie möglich zu machen, und es ist sicherlich
- auch eines der schnellsten Programme auf diesem Gebiet, dennoch empfiehlt
- es sich, in der Anfangsphase zum Ausprobieren die Bilder bei kleinen
- Auflösungen (z.B. 50x50 oder 100x100 Punkte) berechnen zu lassen. Wenn
- Sie dabei feststellen, daß das erstellte Motiv Ihnen gefällt, können Sie
- es danach immer noch bei hoher Auflösung berechnen lassen.
- - Dreieck- und Viereckflächen sind interessanter, als sie vielleicht anfangs
- erscheinen. So ist es beispielsweise möglich, aus Dreiecken oder Vierecken
- beliebige (z.B. gekrümmte) (Freiform-)Flächen zusammenzusetzen. Es lassen
- sich aus ihnen auch nahezu beliebige Körper formen.
- - Die Rotationskörper sind die mächtigsten der von "Thunder" angebotenen
- Objekte. Aus ihnen lassen sich beispielsweise Gläser, Tassen, Kannen,
- Vasen, Schüsseln, Kegel, schiefe Säulen, Rohre und Rohrsysteme und viele
- andere Objekte formen.
- - Machen Sie ausgiebigen und vernünftigen Gebrauch von den Schachteln, in
- der Fachliteratur auch "bounding boxes" genannt. Die Berechnung von Bildern
- wird dadurch in den meisten Fällen ganz extrem beschleunigt. Denken Sie
- daran, daß Schachteln, um ein einziges Objekt gelegt, keine Beschleunigung
- bewirken. Ebenso wenig sinnvoll ist es, eine Schachtel in die Szene zu legen,
- die sich über den ganzen Bildschirm erstreckt, denn eine solche Schachtel
- wird in jedem Fall von jedem der ausgesannten Strahlen geschnitten und
- verlangsamt so eher die Berechnung. Legen Sie Schachteln um Objektansamm-
- lungen, oftmals lohnt es sich schon, um nur drei oder vier einzelne Objekte
- eine Schachtel zu legen. Lesen gegebenenfalls noch einmal im Kapitel über
- Schachteln den Gebrauch und die Anwendung nach.
-
-
-