home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ray Tracing Box
/
RAY_CD.mdf
/
raytrace
/
thunder
/
handbuch.txt
< prev
next >
Wrap
Text File
|
1990-09-05
|
37KB
|
950 lines
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.