GeeXLab to zaawansowane i łatwe do nauki narzędzie do programowania.
GeeXLab umożliwia programowanie 3D, tworzenie wersji demonstracyjnych, a także projektowanie gier i interaktywnych aplikacji. Stworzony zarówno dla początkujących, jak i również dla doświadczonych programistów.
GeeXLab obsługuje zarówno Lua, jak i Python jako główne języki do kodowania, a także GLSL (OpenGL i Vulkan) i HLSL (Direct3D 12 — tylko Windows 10) do programowania shaderów w czasie rzeczywistym.
Lua i Python mogą być używane w tym samym czasie w wersji demonstracyjnej. Niektóre skrypty mogą być kodowane w Pythonie, a inne w Lua. Lua, Python, GLSL i HLSL mogą znajdować w oddzielnych plikach lub w jednym pliku XML, który działa jako hub (lub kontener) dla wszystkich skryptów.
Oto, w kilku słowach, jak funkcjonuje środowisko GeeXLab. Demo składa się zasadniczo z jednego lub kilku skryptów inicjalizacyjnych (Lua i/lub Python) i jednego lub kilku skryptów na klatkę (Lua i/lub Python).
GeeXLab nie zawiera silnika gry. GeeXLab oferuje API, które pozwala swobodnie zarządzać kodem renderującym. Możemy kodować własne biblioteki dynamiczne (na przykład w C/C++) i ładować je w skryptach Lua i Python.
Ogólne funkcje GeeXLab:
- obsługa Lua i Pythona
- obsługa kodowania na żywo dla Lua, Pythona i GLSL
- zarówno stary, jak i nowoczesny OpenGL
- wsparcie Vulkan (plugin) w systemach Windows i Linux
- obsługa Direct3D 12 (wtyczka) na Windows 10+
- Obsługiwane piksele, geometria, tesselacja i shadery obliczeniowe
- obsługa Wirtualnej Rzeczywistości (VR) z OpenVR (wtyczka)
- bsługa ImGui do programowania interfejsów użytkownika
- obsługa SQLite3 do programowania baz danych (wbudowana)
- wsparcie LuaJIT
- obsługa FMOD jako głównego systemu dźwiękowego (plugin)
- obsługa FreeType GL do renderowania czcionek (wtyczka)
- obsługa silnika NVIDIA PhysX 3 (wtyczka)
- obsługa silnika Bullet Physics (wtyczka)
- obsługa Syphon na macOS
- obsługa FFmpeg do odtwarzania audio-wideo (wtyczka)
- obsługa Leap Motion (wtyczka)
- obsługa ładowania obiektów 3D (*.3ds, *.fbx, *.obj, *.glTF itp.) (wtyczka)
- obsługa ImageMagick do ładowania i przetwarzania obrazów i tekstur (wtyczka)
- Monitorowanie GPU (wtyczka).