UnlimitedEngine-Blog

"Limited" ist nur die Hardware!!!

Was die Engine bisher kann

| Keine Kommentare

Hier sind mal ein paar Informationen zur Engine. Diesen Artikel aktualisiere ich immer wenn es etwas neues gibt.

Allgemeines:
Grafik-API: OpenGL
Sound-API: OpenAL
Programmiersprache: C/C++
Entwicklungsumgebung: Visual Studio 2010
Platformen: bisher nur Windows (x86, x64)

Für Grundeinstellungen des Fensters gibt es ein einfaches Config-File („UCF“ steht für „UnlimitedEngine Configuration File“) in der Dinge wie Auflösung, VSync, Vollbildmodus, Farbtiefe etc. gespeichert sind.
Dafür habe ich einen Editor programmiert über den alles einstellbar ist.

Bibliotheken:
OpenGL (GLEW 1.6.0)
FreeGLUT 2.6.0 (Free OpenGL Utility Toolkit)
OpenAL (Open Audio Language)
FreeALUT (Free Open Audio Language Utility Toolkit)
DevIL/OpenIL (Open Image Library)

Bildformate:
JPG/JPEG (Joint Photographic Experts Group)
PNG (Portable Network Graphics)
BMP (Bitmap)
TGA (Targa Image File)
DDS (Direct Draw Surface)
UTX (Unreal Texture File)
VTF (Valve Texture Format)
WAL (Quake 2 Texture Image Format)

3D-Formate:
Die Engine selber wird am Ende nur mein eigenes 3D-Format öffnen können. Das 3D-Format habe ich schon fertig (zumindest in der ersten Version). Es trägt die Dateiendung „u3d“ was für „UnlimitedEngine 3D Object“ steht. Natürlich ist dies kein bekanntes Format, was aber kein Problem ist, da ich dafür einen 3D-Converter mitliefere, den ich auch schon fertig habe^^ Dieser kann zur Zeit STL-Dateien nach U3D umwandeln. Im Zusammenhang mit einer .txt aus Cinema 4D können Texturkoordinaten mit übernommen werden.

Audio-Formate:
Dank FreeALUT wird schon das WAV-Format unterstützt. Die Soundengine selber ist aber noch nicht implementiert.

Shader:
Da OpenGL verwendet wird fällt die Wahl natürlich auf GLSL-Shader^^ Ich habe auch schon einen Editor programmiert der Vertex und Fragmentshader in meinem eigenen Format speichert („USF“ steht für „UnlimitedEngine Shader File“)
USF speichert bisher lediglich den Vertex- und Fragmentshader in Textform ab.

Menü-Elemente:
Button:
Voll funktionsfähig mit Mouseover und Klickeffekten.

Checkbox:
Ebenfalls mit Mouseover und Klickeffekten. Haken wird gesetzt/entfernt beim anklicken.
Funktionalität beim „checken“ und „unchecken“ muss noch implementiert werden.

3D-Objekte:
Es können beliebig viele 3D-Objekte mit beliebiger Komplexität hinzugefügt werden bis der Speicher voll is^^
Den Objekten können verschiedene Eigenschaften zugewiesen werden wie Transparenz, Farbe, Textur, Beleuchtung an/aus, rendern als Wireframe, ob es ein Kollisionsobjekt ist oder nich, ob die Bounding Boxen gerendert werden sollen und noch paar andere Dinge. Da kommt natürlich noch einiges mehr dazu. Geht halt nich alles von heut auf morgen 😉

Map:
Was natürlich gerade für meine Engine wichtig ist, ist die Größe der Map. Um dem Namen „UnlimitedEngine“ gerecht zu werden sind Maps bis zu 1.000.000.000 km³ möglich wobei alle Objekte auf 1mm genau positioniert werden können. Außerdem können theoretisch unendlich viele Objekte gerendert werden. Praktisch geht dass natürlich aufgrund der nicht vorhandenen unendlichen Hardwareressourcen nicht. Sprich: Nur so viel bis die Festplatte/Arbeitsspeicher voll sind!
Damit wäre es problemlos möglich unseren schönen blauen Planeten in 1 zu 1 Größe samt Mond zu realisieren. Oder sogar eine ganze Galaxie.

So dass mal gaaaaaanz grob zusammengefasst. Vieles ist halt programmiertechnischer Krams den ich aber nich großartig erklären will.
Wenn jemand etwas genaueres wissen will soll er einfach fragen!

MfG
Manuel


Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.



*