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).