Einführung | PoV-Ray-Galerie | PoVSolar | PoVEarth | Ghurghusht | Whatmough | Ilthanalg | Selbstporträt | Raytracing-Links
Anfang der 1990er Jahre, in den Pioniertagen von Multimedia und World Wide Web, war der Begriff Cyberspace in aller Munde, mehr oder weniger realistisch dargestellte dreidimensionalen Computerwelten ("virtual reality"), in die die Benutzer dank Monitorhelmen oder gar kompletten "Datenanzügen" vollständig eintauchen und in denen sie mittels normaler Körperbewegungen in Echtzeit wie in der realen Welt umhernavigieren.
Angesichts der fortdauernden Tragödie des realen Afghanistan (1992 war zwar das kommunistische Najibullah-Regime gestürzt worden, die Machtübernahme der Widerstandskämpfer (mujahedin) führte jedoch sogleich in einen neuen Bürgerkrieg) erschien mir die Idee verführerisch, das Afghanistan der Vorkriegszeit (also vor 1978) als eine solche virtuelle Computerwelt nachzubauen, wenn mir schon auf absehbare Zeit jede Möglichkeit verwehrt war, das reale Afghanistan zu bereisen...
Um es kurz zu sagen: Khyberspace ist ein virtuelles Afghanistan.
Da sich an der Ostgrenze Afghanistans der seit Jahrtausenden als Einfallstor für Eroberer Indiens berühmt-berüchtigte Khyberpass befindet, lag das Wortspiel mit "Khyber" anstelle von "Cyber" näher als jede andere Idee für einen Namen. Bei späteren Google-Recherchen fand ich zwar heraus, dass es Mitte der 1990er Jahre eine Zeitlang an der Universität Göteborg (Schweden) eine informelle Arbeitsgruppe namens "Khyberspace" gab, die sich mit Wirtschaftspolitik in Indien beschäftigte; diese Organisation dürfte jedoch lange erloschen sein, das letzte Update ihres Websites datiert von 1997. Markenrechtliche Beschwerden über die Verwendung des Namens "Khyberspace" durch mich hat es jedenfalls nie gegeben.
Nun waren die unter anderem am MIT (Massachusetts Institute of Technology) entstandenen futuristischen Visionen vom Cyberspace Anfang der 90er Jahre der technologischen Wirklichkeit weit voraus, allenfalls auf Großrechnern mit Multiprozessor-Architektur war damals an vollimmersive Echtzeit-Virtual Reality überhaupt zu denken. 3D-Grafik auf Arbeitsplatz-Computern wie Apple Macintosh, Atari ST, Amiga oder "IBM-Kompatiblen" beschränkte sich damals auf Standbilder und ruckelig animierte 10-Sekunden-Filmchen, Interaktivität war allenfalls ein ferner Traum.
Insbesondere für Macintosh, Atari und Amiga gab es zu dieser Zeit schon eine Reihe von Raytracing-Programmen zur Berechnung fotorealistischer Grafiken (die Entwicklung bei den MS-DOS/Windows-PCs hinkte zunächst noch hinterher, beschleunigte sich aber ab etwa 1993), die Rechenzeiten für die Erzeugung von Standbildern waren jedoch noch viele Größenordnungen weit von Echtzeit entfernt, komplexe Szenen benötigten durchaus Tage oder sogar Wochen für ihre Berechnung.
Mit den ersten Grafikkarten mit hardwaregestützter 3D-Beschleunigung um 1995 herum entstanden Software-Standards für Echtzeit-3D-Darstellung (OpenGL, später DivX), die dann auch bald vor allem in Computerspielen (allen voran im damals neu aufkommenden Genre der oft als "Killerspiele" kritisierten Ego-Shooter) genutzt wurden, zugleich wurde erstmals mit VRML (Virtual Reality Markup Language) ein Standard für interaktive dreidimensionale Webseiten geschaffen.
Der Realismusgrad dieser neuen Echtzeit-Softwaretechnologie war jedoch zwangläufig erheblich niedriger als beim Raytracing - alleine schon die Berechnung von Schatten in Echtzeit hätte damalige PCs weit überfordert, Texturen wurden nicht prozedural, also anhand mathematischer Funktionen berechnet, sondern waren einfach vorgefertigte pixelbasierte Bitmaps, die aus der Nähe entsprechend grob aussahen. Das Gleiche galt für die Oberflächen der 3D-Objekte, die aus flachen Drei- oder Vierecken (Mesh-Technik) aufgebaut wurden und daher ebenfalls mehr oder weniger eckig wirkten
Einen ganz anderen, technologisch ungleich primitiveren Ansatz verfolgen die Mitte der 1980er Jahre aufgekommenden MUDs (Multi User Dungeons): Nachbildungen realer oder imaginärer Örtlichkeiten rein auf Textbasis, ähnlich den heute fast vergessenen Text-Adventurespielen z. B. der Firma Infocom, allerdings anders als diese im Internet, für eine prinzipiell beliebige Zahl von teilnehmenden Spielern, die über verschiedene "Kanäle" auch unbegrenzt miteinander ähnlich wie in Chaträumen kommunizieren können.
Mir erschienen von Anfang an prinzipiell alle drei Technologien (also Raytracing, Echtzeit-3D und MUDs) zur Realisierung von Khyberspace geeignet; hauptsächlich habe ich mich seither allerdings mit Raytracing beschäftigt, gefolgt von der objektorientierten MUD-Entwicklungssprache LPC, während meine Erfahrungen mit Echtzeit-3D bislang nicht über erste Gehversuche in VRML hinausgekommen sind.
Während die MUD-Welt vom rasanten Fortschritt der Hardwareentwicklung während der letzten 15 Jahre naheliegenderweise nur unwesentlich profitiert hat, beginnen Raytracing und interaktives Echtzeit-3D gegenwärtig (Frühling 2008) bereits zusammenzuwachsen - die ersten für Privatanwender tauglichen Grafikkarten mit hardwaregestütztem Echtzeit-Raytracing sind auf dem Markt, auch VRML hat sich inzwischen zu X3D weiterentwickelt und kann jetzt auch Schatten berechnen.
Mein seit 1995 bevorzugtes Raytracing-System für Windows und Linux, PoV-Ray unterstützt in der gegenwärtigen Version 3.7 diese neuen Hardwaremöglichkeiten noch nicht, es ist aber wahrscheinlich, dass sich dies ab der kommenden Version 4.0 ändern wird.
Zurück zum virtuellen Afghanistan: als Fernziel schwebt mir tatsächlich die Modellierung ganz Afghanistans (eines Landes von immerhin 650000 km² Fläche!) in einer Detailtiefe vor, die auch aus "Fußgängerperspektive" mindestens den Realitätsgrad von Ego-Shootern der frühen 2000er Jahre erreicht, das alles zumindest langfristig auch echtzeit-interaktiv und webgängig, so dass man durchaus von einer Art Online-Rollenspiel (Second Life™ am Hindukusch...) sprechen kann
Um keine Missverständnisse angesichts des Stichwortes "Ego-Shooter" aufkommen zu lassen: es soll ausdrücklich KEINE Simulation des Krieges in Afghanistan werden! Stattdessen schwebt mir neben der Darstellung des Afghanistan der Zeit vor 1978, vorzugsweise der späten 1960er/frühen 1970er Jahre ein Alternate-History-Konzept vor: Afghanistan, wie es sich unter günstigeren weltpolitischen Umständen, ohne sowjetische Invasion und nachfolgende Bürgerkriege, womöglich weiterentwickelt hätte ("Afghatopia")!
Ich bin mir völlig darüber im Klaren, dass für mich als "Einzelkämpfer" alleine die Modellierung des Geländes in vertretbarer Auflösung ein Vielfaches meiner Gesamtlebenszeit in Anspruch nehmen würden, zumal es sich um eine Tätigkeit in meiner Freizeit handelt (das manuelle Erstellen von Heightfields im Maßstab 1:100000 würde für ganz Afghanistan z. B. bis zum Jahr 2750 dauern!). Sollten sich also in absehbarer Zeit keine Sympathisanten und Mitstreiter für das Projekt finden, ist davon auszugehen, dass Khyberspace nie viel mehr sein wird als ein paar Straßenzüge im virtuellen Kabul, mit grob aufgelösten Gebirgen im Hintergrund... aber die Idee eines virtuellen Afghanistan halte ich für originell genug, um es trotzdem zu versuchen!
Erste Versuche von Geländedarstellungen mit PoV-Ray ausgehend von topographischen Karten von Afghanistan machte ich 1996; als Kartenmaterial standen mir damals nur die 1:300000-Karten aus dem von Ludwig Adamec herausgegebenen "Historical and Political Gazetteer of Afghanistan" zur Verfügung. Die dort abgedruckten Karten sind Schwarzweiß-Kopien eines ursprünglich wohl farbigen Kartenwerks, das zwischen den 1940er und 1970er Jahren von amerikanischen und britischen Kartographen angefertigt wurde; die von mir zwecks manueller Bearbeitung (irgendwelche Software, die das Nachzeichnen der Höhenlinien und vor allem das Ausfüllen der Zwischenräume für mich übernommen hätte, war mir damals nicht bekannt) eingescannten Originale waren folglich Kopien von Kopien und daher von eher mäßiger Qualität. Trotzdem gelang mir damals die Darstellung eines kleinen Ausschnittes des Spinghar-Gebirges in der Provinz Nangarhar, an der Grenze zu Pakistan:
Das Bild zeigt zufälligerweise die unmittelbar östlich an Osama bin Ladens Bergfestung Tora Bora angrenzende Region; allerdings sieht man an den treppenförmig wiedergegebenen Höhenstufen auch, dass es mit meinem Verständnis der Heightfield-Funktion von PoV-Ray damals noch nicht weit her war. Abgesehen davon ist es ein 8-bit-Graustufen-Heightfield, von den wesentlich feiner unterteilbaren 16-bit-Heightfields wusste ich damals nichts.
2001, ich war inzwischen Vereinsmitglied bei Schulprojekt Spinboldak e. V. geworden, wagte ich mich erstmals an ein 16-bit-Heightfield:
Auch dieses Bild basiert auf einer der Adamec-Karten, eingescannt mit 300 dpi Auflösung; das zugrundeliegende Heightfield umfasst 99000 von Hand gesetzte Pixel. Dargestellt wird das Tal des unteren Arghastan-Flusses südöstlich von Kandahar, die Textur ist pixelbasiert (ebenfalls 198 x 500 Pixel) und eine freie Interpretation der (recht dürftigen) Kartensignaturen zur Bodenbedeckung.
Im darauffolgenden Jahr modellierte ich die Umgebung des Dorfes Chaghari (Tschachri), wo Spinboldak e. V. 2001 mit dem Betrieb von Elementarschulen begonnen hatte. Dieses Heightfield ist mehrere hunderttausend Pixel groß und beanspruchte zur Erstellung einige Monate Zeit; als Textur verwendete ich diesmal eine wesentlich größere Bitmap mit aus Satellitenfotos entnommenen Farbwerten (das auffällige Lila das Chaghari Ghar-Gebirgszuges ist allerdings übertrieben, ich wählte es aus der Erinnerung an ein von Spinboldak e. V. vor Ort erstelltes Video).

Neben meinen mit großmaßstabigen topographischen Karten als Vorlage in langwieriger Kleinarbeit handgepixelten Heightfields gibt es seit einigen Jahren auch im Internet abrufbare aus satellitengestützten NASA-Vermessungen generierte fertige Bitmaps mit Höhendaten der gesamten Landoberfläche der Erde. Diese Heightfields in kleinerem Maßstab haben üblicherweise 8-bit-Graustufenformat und sind in Größen von 512 x 256 bis 86400 x 43200 Pixel online verfügbar, letztere erreichen eine Auflösung von immerhin rund 500 m pro Pixel (zum Vergleich topographische Karte 1:300000 in 300 dpi: 25,4 m pro Pixel), eignen sich damit aber allenfalls für Geländeansichten aus sehr großen Höhen.
Während der Shuttle Radar Topographic Missions (SRTM) Anfang der 2000er Jahre wurde die Erdoberfläche zwischen 60°N und 60°S in wesentlich höherer Auflösung vermessen, nämlich 3 Bogensekunden pro Messpunkt, was in Nord-Süd-Richtung bzw. am Äquator in Ost-West-Richtung 92,5 m pro Pixel entspricht. Damit ist allerdings auch schon eine Besonderheit dieser Karten angesprochen: aufgrund ihrer Zylinderprojektion sind sie nicht flächentreu, ihr Maßstab in Ost-West-Richtung geht zu den Polen hin gegen Unendlich (proportional zum Kehrbruch des Kosinus des jeweiligen Breitengrades), während er in Nord-Süd-Richtung wie gesagt überall gleich bleibt (strenggenommen stimmt dies auch nicht, da die Erde zu den Polen hin geringfügig abgeplattet ist, aber die daraus resultierende Abweichung ist - zunächst einmal - vernachlässigbar klein).
Die üblicherweise 1 "Quadratgrad" der Landoberfläche erfassenden SRTM-Datenkacheln (also 1201 x 1201 Messpunkte) wie auch die kleinermaßstabigen 8-bit-Heightfields der gesamten Erde ergeben insbesondere in mittleren und höheren Breiten nur dann wirklichkeitsgetreue Proportionen der Landschaft, wenn man sie sozusagen um eine Kugel wickelt - und genau das tat ich dann auch 2005 mit einer SRTM-Kachel mit 34°N, 68°O als südöstlicher Ecke (siehe auch "Khyberspace-Tagebuch", Monate Februar bis August 2005):
Das Bild stellt das bis zu 4630 m hohe Paghman-Gebirge westlich von Kabul dar; der (für Afghanistan nicht sehr typische) bewölkte Himmel zeigt, dass ich mir um des Realismus zu Demonstrationszwecken willen auch schon über das nackte Geländerelief hinausgehende Gedanken gemacht habe.
Einige Zeit vorher, im Oktober 2004, war ich im Zusammenhang mit Recherchen für die damals neu einzurichtende Länderkundliche Informationsseite der InWEnt gGmbH zu Afghanistan auf kostenlos abrufbare noch wesentlich größermaßstabige topographische Karten der Umgebung von Kabul (bis zu 1:10000) aus sowjetischer Herstellung gestoßen - augenblicklich machte ich mich an die Pixelarbeit, wohl wissend, dass ich alleine mit den rund 8 Millionen Pixeln für die Karte im Maßstab 1:100000 mehrere Jahre beschäftigt sein würde.

Zweieinhalb Jahre, knapp zwei Millionen Pixel und mehrere Hektoliter starken Kaffees später konnte ich endlich die ersten Ansichten des nordöstlichen Kartenviertels ins Netz stellen. Bislang verwendete ich sowohl für die aus SRTM-Daten generierten Landschaften wie auch für das handgepixelte Heightfield nach der topographischen Karte 1:100000 eine einfache "Standard-Wüstentextur"; in Zukunft sollen diese jedoch bei den SRTM-Reliefs von Landsat-Mosaiken bzw. bei dem "topographischen" Relief (letzteres fortan der Einfachheit halber "Kabulmodul" genannt) durch von Google Earth-Luftbildern abgeleitete realistischere Texturen ersetzt werden.
Die direkte Verwendung der Satelliten- und Luftbild-Bitmaps ist nicht nur aus urheberrechtlichen Gründen (zumindest im Falle von Google Earth) problematisch, sondern auch aufgrund des Umstandes, dass diese Bitmaps aus unterschiedlichem Sonnenstand resultierende Helligkeitsunterschiede und sogar schwarze Schatten enthalten - die doch erst dynamisch beim Rendering der fertigen Szene entstehen sollen!
Ferner enthalten die Originalbilder natürlich auch sämtliche Oberflächenstrukturen wie Gebäude und Vegetationselemente, die in der PoV-Ray-Szene als vom Relief getrennte separate Objekte modelliert werden sollen, während die Oberflächentextur im Idealfall nur die Farben des nackten Erd- bzw. Felsbodens als "Grundpigment" enthalten sollte, gemittelt für Lichteinfall im Winkel von 45°. In der Praxis wird man schon aus Gründen der Performanz (der benötigten Rechenzeit) in den Hintergrundpartien der jeweiligen Szene natürlich nicht jeden Gras- oder Getreidehalm als echtes Objekt modellieren, sondern die Vegetation einfach als Textur-Flächenfarbe darstellen. Das Gleiche gilt für Verkehrswege wie etwa asphaltierte Straßen.
Davon abgesehen werde ich auf die Dauer nicht darum herumkommen, die Verteilung der Bodenpigmente durch prozedurale Funktionen statt durch Bitmaps zu steuern - Bitmaps machen ihren Vorteil, nämlich die schnelle Berechnung, durch enormen Speicherplatzbedarf zunichte, und Rechenzeit wird für mich (vorerst) billiger zu haben sein als RAM.
Diese Anforderungen gelten sowohl für die SRTM-Landschaften wie für das Kabulmodul; sollte ich bei meiner Arbeit am Khyberspace nicht allein bleiben und sich das Projekt über Kabul und dessen unmittelbare Umgebung hinaus entwickeln, wird sich auch die Frage nach der Integration von Höhendaten mit geographischen (SRTM) und geodätischen (Kabulmodul) Koordinaten in ein einheitliches sphärisches Mesh stellen.
Um der internationalen Raytracing-Community (vor allem, aber nicht nur auf news.povray.org) einen glaubwürdigen ersten Eindruck von meinem Projekt zu vermitteln, werde ich meine Arbeit am Kabulmodul fortsetzen, bis das gesamte Gebiet der Karte als Heightfield fertiggestellt ist. Dieses Heightfield werde ich jedoch fortan nicht mehr von Hand pixeln, sondern die Interpolation zwischen den Höhenlinien durch die Software "Black Art" rechnen lassen, nachdem ich die vorhandenen Höhenlinien von Hand in den entsprechenden Farben für das 16-bit-Heightfield extrahiert habe.
Anschließend werde ich eine erste, noch provisorische Textur hinzufügen, einige markante Gebäude (z. B. den Flughafen oder den ehemaligen Königspalast) modellieren und dieses rudimentäre Kabulmodul dann der raytracenden Öffentlichkeit vorstellen.
Einführung | PoV-Ray-Galerie | PoVSolar | PoVEarth | Ghurghusht | Whatmough | Ilthanalg | Selbstporträt | Raytracing-Links