|
Nice3D ist eine 3D-Game-Engine, die in Java entwickelt wird. Sie ist im Rahmen einer Studienarbeit entstanden. Das Projekt hat folgende Ziele: - Erstellung einer robusten, performanten und plattformunabhängigen 3D-Engine
- Unterstützung bekannter 3D-Entwicklungs-Tools
- Integrierter Entwicklungsmodus, der Echtzeitbearbeitung der Szene ermöglicht und somit die Entwicklungszeit einer mit Nice3D erstellten Applikation reduziert.
Was sind die Aufgaben einer 3D-Game-Engine? Eine ihrer Hauptaufgaben ist wohl das Rendern. Hierbei setzt die 3D-Engine meistens auf eines der 2 bekanntesten 3D-APIs auf. Es handelt sich dabei um DirectX und OpenGL. Eine andere nicht zu vernachlässigende Aufgabe ist die Verwaltung aller Ressourcen, die in einer 3D-Szene gebraucht werden - dazu gehören: 3D-Modelle, Lichter, Schatten, Kameras, Materialien, Shader, Texturen, Sounds, usw. |
|
|
Written by Administrator
|
|
Monday, 11 August 2008 20:25 |
|
Java zählt noch nicht zu den Programmiersprachen, die typischerweise für die Spiele-Entwicklung genutzt werden. Die meisten bekannten 3D-Game-Engines sind in der Programmiersprache C++ geschrieben, da diese für gewöhnlich die beste Performance durch Compiler-Optimierung bietet. Java hingegen ist eine Sprache, welche oft als „langsam“ eingestuft wird, da sie in ihren Anfängen als interpretierte Sprache konzeptioniert war. Das gehört heute der Vergangenheit an – Java ist mittlerweile für die Spiele-Entwicklung sehr attraktiv geworden, da neue Techniken Optimierung in der Java Virtual Machine (VM) erlauben, die mit einem C++ Compiler nicht möglich sind. So läuft ein Java-Programm in den meisten Fällen vergleichbar schnell wie eine C++ Implementierung und in manchen Fällen trumpft die Java-HotSpot-Engine mit prozessorspezifischer Optimierung, die nur zur Laufzeit angewandt werden kann. Die folgende Tabelle zeigt einen Geschwindigkeitsvergleich von C++ und Java. Da Java von Anfang an als objektorientierte Sprache entworfen ist, erzielt Java einen Pluspunkt in der Objekterzeugung. Die Programmiersprache, welche beim Vergleich besser abgeschnitten hat, steht in der entsprechenden Spalte. | Eigenschaft | Programmiersprache | | Objekterzeugung | Java | | Systemcalls | C++ | | Startzeit | C++ | | Feldzugriff | C++ | | Optimierung | Java | | Virtuelle Methoden Aufrufe | Java |
Tabelle zeigt Effizienzunterschiede zwischen Java und C++ Momentan gibt es eine Java-3D-Game-Engine, welche sich einen Namen gemacht hat und die Erfolge in Form von kommerziellen Spieletiteln vorweisen kann – die Java Monkey Engine (kurz: jME). Zu den Titeln gehört zum Beispiel „Bang! Howdy“ ( http://www.banghowdy.com ).Eine Java-3D-Game-Engine hat noch einen Nachteil in der Spieleindustrie. Eine Java-Engine wird momentan noch nicht auf den derzeitig verfügbaren Konsolen laufen. Das bedeutet, dass Java an den PC als Zielplattform gebunden ist. Jedoch kann so eine Engine Betriebssystemunabhängigkeit bieten. |
|
Last Updated on Tuesday, 23 September 2008 08:49 |
|
|
|