CMORE3D

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
CMORE3D
Basisdaten

Entwickler CIRIC Software GmbH
Aktuelle Version 1.1
(Oktober 2013)
Betriebssystem Microsoft Windows, Apple Mac OS X (Entwicklungsplattformen), Linux, iOS, Android, Blackberry, Windows CE, QNX (Zielplattformen)
Programmier­sprache C++, Lua
Kategorie 3D-Engine
Lizenz EULA[1]
cmore3d.com

Die CMORE 3D Toolchain ist eine 3D-Grafik-Engine inklusive Editor, die von der CIRIC Software GmbH mit Sitz in Schrobenhausen, Deutschland entwickelt wurde. Speziell für Eingebettete Systeme und Mobilgeräte geschrieben, ist die CMORE 3D Toolchain sowohl für die Entwicklung von Smartphone-Apps als auch für andere Echtzeit-Grafik-Anwendungen geeignet. Sie bietet die Möglichkeit, cross-platform Anwendungen für Windows, Android, iOS und Blackberry sowohl in 2D als auch 3D zu entwickeln. Es steht eine kostenlose Version zur Verfügung die alle Funktionen enthält. Will man jedoch Assets, die per Editor erstellt wurden, auch im SDK nutzen, muss eine Vollversion erworben werden.

Das CMORE-3D-SDK beinhaltet C++ Bibliotheken für alle unterstützten Plattformen, die entsprechenden Header-Dateien, Beispielprojekte für Visual Studio, Eclipse, Momentics und Xcode sowie eine ausführliche Dokumentation. Zusätzliche externe Bibliotheken werden nicht benötigt. Unterschiede in den Standardbibliotheken, Treibern und ggf. Dateiformaten werden von CMORE 3D ausgeglichen. Entwickelte Applikationen können ohne Änderungen für jede Plattform übersetzt und ausgeführt werden. CMORE 3D verwendet folgende Bibliotheken und liefert diese kompiliert für alle Zielplattformen mit aus: libjpeg, libpng, zLib, LibTIFF, DevIL, FreeType, Lua, PugiXML, GPC, OpenAL

Die verwendete Grafik-API ist je nach Zielplattform OpenGL 3.3 bis 4.4 oder OpenGL ES 2.0 oder 3.0. Der Renderer verwendet automatische Zustandssortierung um die Ein- und Umstellungszeiten der Render-Pipeline zu reduzieren. Shader werden je nach Grafikschnittstelle direkt in GLSL oder GLSL ES geschrieben und können beliebig angepasst werden. Der Shader-Präprozessor extrahiert benutzerdefinierte Variablen und stellt diese im Effektsystem und Editor zur Verfügung. Uniform-Buffer[2] werden automatisch erkannt und verwaltet. Das Shader-Define-System stellt Hardware-Informationen zur Verfügung, die dazu genutzt werden können abhängig von GPU-Leistung und -Fähigkeiten spezialisierte Versionen bereitzustellen. Folgende Shader und Effektdateien werden in beiden Sprachvarianten mitgeliefert:

Asset Management

[Bearbeiten | Quelltext bearbeiten]

Für den Import von 2D/3D-Formaten, Audioformaten und Fonttypen stellt die CMORE 3D Engine einen Asset Manager zur Verfügung. Neben einem automatisch bereitgestellten Standardprofil, bietet der Asset Manager die Möglichkeit, spezielle Profile für jedes Asset zu erstellen. Diese können eingesetzt werden, um z. B. Leistungsunterschiede von Plattformen auszugleichen, das Aussehen einer Anwendung zu verändern oder sie für verschiedene Sprachen zu lokalisieren. 3D-Objekte können mit Modelling Tools wie zum Beispiel Maya, 3ds max oder Blender erstellt werden. CMORE 3D unterstützt als Austauschformate COLLADA in den Versionen 1.4 und 1.5 sowie FBX, 3DS, LWF und OBJ. Dabei werden je nach Umfang des jeweiligen Dateiformats sowohl Geometrie, Shader, Material- und Effektparameter sowie Animationen, Skelette und Skins als auch komplette Szenen, Lichtquellen und Kameras importiert.[3] Durch die Verwendung der FreeType-Engine werden alle gängigen Fontformate auf den Zielplattformen unterstützt.

Die CMORE 3D Engine verwendet eine Szenengraph-Abstraktion. Für die Darstellung einfacher Bewegungen werden hierarchische Animationen unterstützt. Dies ermöglicht die Rotation, Verschiebung und Skalierung eines oder mehrerer Objekte. Komplexe Bewegungen können mit Hilfe von Skelettanimationen umgesetzt werden. Die hauptsächlich zur Charakteranimation verwendete Technik des Skinnings steht auch für Animationen auf Mobilgeräten zur Verfügung.[4] Durch die Möglichkeit, benutzerdefinierte Shader-Variablen an einzelne Objekte anzuhängen, kann jeder Parameter eines Objekts animiert werden. Zusätzlich kann der Benutzer individuelle Partikelsysteme erstellen, um Wetterbedingungen oder pyrotechnische Effekte zu visualisieren.[5]

Graphical User Interfaces

[Bearbeiten | Quelltext bearbeiten]

Grafische Benutzeroberflächen (GUIs) können im CMORE 3D Editor erstellt oder als PSD-Datei importiert werden. Der speziell entwickelte Importer für Photoshop-Dateien erlaubt es, komplette Panels mit Texten, Elementen, Layern und vorbereiteter Anbindung für die Bedienlogik zu übernehmen. Die importierten GUIs werden auf Tafeln im 3D-Raum angeordnet.[6] Bestehen sie aus mehreren Layern, werden diese als teiltransparente Oberflächen entlang der Tiefenachse hintereinander gelegt.

Für die Wiedergabe von Audio-Dateien nutzt die CMORE 3D Engine OpenAL. Dadurch ist auf Plattformen, die Mehrkanal-Tonausgabe unterstützen, eine 3D-Positionierung von Klangquellen möglich. Audio-Dateien können im WAV- oder Ogg-Vorbis-Format importiert werden.[7]

Für Bedienlogik und Rapid Prototyping stellt die CMORE 3D Engine eine auf der Skriptsprache Lua basierende Skriptkomponente zur Verfügung. Skripte können im Editor geschrieben und getestet werden. Zusätzlich kann eine Click-Komponente zum Aufrufen einzelner Funktionen des Skripts angehängt werden.[8]

Um den Export und die Wiederverwendung erstellter Szenenobjekte zu erleichtern, können diese zu einem Prefab verbunden werden. Prefabs können per Drag & Drop beliebig oft in verschiedenen Szenen instanziiert werden. Durch die Verwendung einer Vererbungshierarchie werden Änderungen im Prefab zur Laufzeit von seinen Instanzen übernommen. Einzelne Eigenschaften einer Instanz können per Override-Mechanismus von diesem Verhalten ausgenommen werden. Ein Prefab kann wiederum aus einer Gruppe von Prefabs bestehen.[9]

Mithilfe des Editors können Grafik-, Sound- und 3D-Formate importiert und unter Verwendung der mitgelieferten Standard-Assets automatisch für die Anzeige auf den Zielgeräten vorbereitet sowie zu 2D/3D Szenen zusammengefügt werden. Einfache Objekte lassen sich direkt im Editor erstellen. Import und Konvertierung von Assets muss über den Editor geschehen um die Größe der Laufzeitbibliothek zu minimieren.

Via Remote App können im Editor erstellte Szenen per TCP/IP-Verbindung sowohl auf dem Entwicklungs-PC als auch auf den unterstützten Zielplattformen evaluiert werden. Integrierte Funktionen wie Skripte oder Komponentenlogik können getestet und Shader direkt auf dem Zielgerät editiert werden.[10]

Zielplattformen

[Bearbeiten | Quelltext bearbeiten]

Für folgende Plattformen kann mit der CMORE 3D Engine entwickelt werden:

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. CMORE 3D EULA. CIRIC Software GmbH, archiviert vom Original (nicht mehr online verfügbar) am 5. Juni 2016; abgerufen am 6. Februar 2014 (englisch).
  2. Uniform Buffer Object. Khronos Group Inc., archiviert vom Original (nicht mehr online verfügbar) am 7. Februar 2014; abgerufen am 13. Februar 2014 (englisch).
  3. CMORE 3D Asset Management. CIRIC Software GmbH, archiviert vom Original (nicht mehr online verfügbar) am 4. Juni 2016; abgerufen am 6. Februar 2014 (englisch).
  4. CMORE 3D Animations. CIRIC Software GmbH, archiviert vom Original (nicht mehr online verfügbar) am 29. Mai 2016; abgerufen am 6. Februar 2014 (englisch).
  5. CMORE 3D Particle System. CIRIC Software GmbH, ehemals im Original (nicht mehr online verfügbar); abgerufen am 6. Februar 2014 (englisch).@1@2Vorlage:Toter Link/www.cmore3d.com (Seite nicht mehr abrufbar. Suche in Webarchiven)  Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis.
  6. CMORE 3D Graphical User Interface. CIRIC Software GmbH, archiviert vom Original (nicht mehr online verfügbar) am 2. Juni 2016; abgerufen am 6. Februar 2014 (englisch).
  7. CMORE 3D Sound. CIRIC Software GmbH, archiviert vom Original (nicht mehr online verfügbar) am 28. Mai 2016; abgerufen am 6. Februar 2014 (englisch).
  8. CMORE 3D Lua Scripting. CIRIC Software GmbH, archiviert vom Original (nicht mehr online verfügbar) am 28. Mai 2016; abgerufen am 6. Februar 2014 (englisch).
  9. CMORE 3D Prefabs. CIRIC Software GmbH, archiviert vom Original (nicht mehr online verfügbar) am 28. Mai 2016; abgerufen am 6. Februar 2014 (englisch).
  10. CMORE 3D Live Remote Rendering and Editing. CIRIC Software GmbH, ehemals im Original (nicht mehr online verfügbar); abgerufen am 6. Februar 2014 (englisch).@1@2Vorlage:Toter Link/www.cmore3d.com (Seite nicht mehr abrufbar. Suche in Webarchiven)  Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis.