Free and Cross-Platform
Code once, deploy on several platforms
GeeXLab is a free standalone application for desktop operating systems. Just download it and use it. GeeXLab is available for Windows 32/64-bit, Linux 64-bit, macOS, Raspberry Pi and Tinker Board.
Lua, Python and Shading Languages
Only popular programming languages
GeeXLab supports both Lua and Python as main languages for demo coding as well as GLSL (OpenGL and Vulkan) and HLSL (Direct3D 12 -- Windows 10 only) for realtime shader programming. Lua and Python can be used at the same time in a demo. Some scripts can be coded in Python and others in Lua. It's up to up to mix them as you want. Lua, Python, GLSL and HLSL can reside in separate files or in a single XML file that acts as a hub (or container) for all scripts.
Simple to Use
For Budding Graphics Developers
Here is, in few words, how GeeXLab works: a demo is essentially made up of one or several initialization scripts (Lua and/or Python) and one or several per frame scripts (Lua and/or Python). Initialization scripts are executed once at the beginning of the demo and frame scripts are executed every frame.
What's more, GeeXLab is IDE agnostic: just use any text editor to edit the source codes of a demo. Simplissimo!
Low Level Programming
For Graphics Hackers too!
GeeXLab does not include a game engine that takes the control over your logic. GeeXLab offers a low level API (don't panic, no assembler here) that lets you free to manage your logic and rendering code as you want. You can even code you own dynamic libraries (in C/C++ for example) and load them in Lua and Python scripts.
A Stack of Features
Some batteries included
- support of Lua and Python for all your scripting needs
- support of livecoding for Lua, Python and GLSL
- both old and modern OpenGL (need to quickly test a #version 120 GLSL shader, no problem!)
- support of Vulkan (plugin) on Windows and Linux
- support of Direct3D 12 (plugin) on Windows 10+
- vertex, pixel, geometry, tessellation and compute shaders are supported
- support of Virtual Reality (VR) with OpenVR (plugin)
- support of ImGui for user interfaces programming (built-in)
- support of SQLite3 for database programming (built-in)
- support of LuaJIT
- support of FMOD as main sound system (plugin)
- support of FreeType GL for font rendering (plugin)
- support of NVIDIA PhysX 3 engine (plugin)
- support of Bullet Physics engine (plugin)
- support of Syphon on macOS (built-in)
- support of FFmpeg for audio video playback (plugin)
- support of Leap Motion (plugin)
- support of 3D objects loading (*.3ds, *.fbx, *.obj, *.glTF, etc.) (plugin)
- support of cube shadow mapping (built-in)
- support of render targets for post processing like SSAO, DoF, bloom, etc. (built-in)
- support of ImageMagick for image and texture loading and processing (plugin)
- support of FreeImage for texture loading (plugin)
- GPU monitoring (plugin)
- built-in Raspberry Pi and Tinker Board GPIO support programming (built-in)
- built-in webcam support on Windows (on Linux and OS X, the webcam is accessible via OpenCL in Python!)
- support of user C/C++ dynamic libraries