Viel Licht und Schatten

04.09.2003 – Eine der großen und aufwändigen Neuentwicklungen der 8. Generation der Fritz-Programme sind die mit Hilfe der DirectX-Technologie programmierten 3D-Bretter. Jedes neue Programm der Fritz-Familie bringt außer der spezifischen Engine auch zwei neue eigene 3D-Bretter mit auf den Rechner. Hauptentwickler dieser 3D-Welten mit detailgetreuen Figuren, Licht- und Schattenspielen und sogar richtigen Miniaturlandschaften ist Jeroen van den Belt. Neben der visuellen Wirkung können sich Grafik-Ästheten über die technische Realisierung freuen. Alle Bretter sind vollständig dreh- und schwenkbar, können aus allen denkbaren Blickwinkeln betrachtet und beliebig vergrößert und verkleinert werden. Für die aktuelle Ausgabe der holländischen Computerschach-Zeitschrift "Computerschaak" hat Jeroen van den Belt einen Artikel über 3D-Programmierung geschrieben. Zu Computerschaak...Jeroens 3D-Welten...

ChessBase 14 Download ChessBase 14 Download

ChessBase 14 ist die persönliche Schach-Datenbank, die weltweit zum Standard geworden ist. Und zwar für alle, die Spaß am Schach haben und auch in Zukunft erfolgreich mitspielen wollen. Das gilt für den Weltmeister ebenso wie für den Vereinsspieler oder den Schachfreund von nebenan.

Mehr...

Von der Weltkarte zum 3D Schachbrett

Schon In Fritz 7 war in dem Serverteil eine Weltkarte implementiert. Kleine rote Punkte zeigen dort an, welche User eingeloggt sind und wo sie wohnen. Irgendwann im Jahr 2001 erschien in einer Holländischen Zeitung ein Artikel über Satellitenfotos der NASA. Das Besondere daran war, dass das eine hoch auflösende Foto in Wirklichkeit aus vielen kleineren Satellitenaufnahmen zusammengesetzt war (Nasa...). Das Foto bot einen fantastischen Anblick der Erde und ich wollte es unbedingt in Fritz aufnehmen. Um allerdings dieses riesige Foto einbauen zu können, musste man den bisherigen Globus anders implementieren. Die einzige logische Möglichkeit war, dies mit Hilfe der DirectX-Technik anzupacken.

Als Erstes machte ich mich auf die Suche nach Vorbildern, wo eine Kugel mit einer Texture (Bild) abgebildet wird. Ziemlich schnell realisierte ich, dass die Verwendung von DirectX nicht so einfach ist, wenn man sich damit zum ersten Mal befasst. Deshalb wollte ich die Technik sehr gründlich studieren und herausfinden, wie man mit DirectX am besten Objekte programmieren und abbilden kann. Nun habe ich als Erstes einen Kubus in 3D programmiert. Dazu muss man wissen, dass jedes 3D-Objekt aus einem oder mehreren zusammengesetzten Dreiecken besteht, die dieses Objekt formen. Am Beispiel des Kubus: Ein Kubus besteht aus 12 Dreiecken. Jede Fläche hat zwei Dreiecke, ein Kubus hat 6 Flächen.

Als ich mich mit dem Kubus beschäftigte, kam ich auf die Idee, aus Testzwecken auch einmal ein Brett abzubilden. Wo ein Brett ist, da gehören auch Figuren hin. Wir baten den Spezialisten für Computeranimation Stephan Huschenbeth (www.huschenbeth.com), einen 3D-Figurensatz zu entwerfen. Nach einiger Entwicklungsarbeit entstand so das 3D-Holzbrett.


Holz als Relief, leicht gekippt mit Lichtreflexen.

Ein interessanter Aspekt unserer Zusammenarbeit bestand und besteht darin, dass wir ständig Kompromisse schließen müssen. Der 3D-Designer will immer so viele Details wie möglich. Aber größerer Detailreichtum bedeutet auch, dass es viel länger dauert, das Brett zu zeichnen. Die Qualität wird außerdem durch die Auflösung der Texturen bestimmt.  Je größer aber die Texturen, desto mehr Videospeicher wird beansprucht.

Ein hohes Maß an Entwicklungsarbeit wurde darin investiert, das 3D-Brett spielbar zu machen. Es gibt Schachspieler, die immer nur das 2D-Brett verwenden, aber andere haben sich Fritz nur wegen der aufwändigen 3D-Technik gekauft. Ich habe mir viele Computerspiele mit 3D-Technik angesehen, um zu schauen, welche Techniken wir für unsere Zwecke gebrauchen können. Es fällt auf, dass die meisten Spiele große und dynamische Spielfelder haben. Viel CPU-Zeit wird gebraucht, um das auszurechnen, was nicht gezeichnet wurde. Hier konnte man einiges an Performance gewinnen.

Bei Fritz wird immer die komplette Szene gezeigt, hier spielt sich alles ab. Dafür wurde die 3D-Engine der Fritz-Oberfläche optimiert.

Bisher wurden 10 verschiedene 3D-Bretter entwickelt. Jedes der Bretter hat eine andere Technik. So wurde beim Metallbrett von Shredder eine besondere Technik (bump mapping) verwendet, die die grobe Struktur von Metall zeigen soll.


Shredder: Metall


Shredder: Science Fiction

Rücksturz zur Erde

Nach der Entwicklung der ersten Bretter hatte ich nun genug Erfahrung, um nun mit Hilfe hoch auflösender Texturen den 3D-Globus zu realisieren.


Die roten Punkte von ganz nah betrachtet
 

Es gibt einige Features, die nicht dokumentiert sind (und auch nicht im Support unterstützt werden :)). So kann man mit der Taste s in Richtung Sonne schauen, mit 1 nach Merkur und mit 9 nach Pluto. Mit etwas Glück sind die Planeten sogar sichtbar. Wer gut aufpasst, findet vielleicht sogar ein Space Shuttle. Ein paar Sachen fehlen noch: real-time Wolken, Wetterdaten - mal sehen, was noch kommt.

Jeroen van den Belt
 


Glas mit Spiegelungen


Silber




Marmor mit Spiegelungen


Landschaft mit Ballons, verkleinert


Ballons vergrößert


Ballons in Sepia, stark vergrößert


Wolken am Himmel


Hiarcs 9 bringt die Bundesform ...




...und Eis.

Reichlich Einstellmöglichkeiten im 3D-Brett:





 

 

 


Discussion and Feedback Join the public discussion or submit your feedback to the editors


Diskutieren

Regeln für Leserkommentare

 
 

Noch kein Benutzer? Registrieren