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 64-bit, Linux 64-bit, Mac OS X and Raspberry Pi.
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 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 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. That's all.
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
- both old and modern OpenGL (need to quickly test a #version 120 GLSL shader, no problem!)
- support of Direct3D 12 (plugin) - Vulkan ready!
- vertex, pixel, geometry, tessellation and compute shaders are supported
- 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 Syphon on OS X
- support of FFmpeg for audio video playback (plugin)
- support of Leap Motion (plugin)
- support of 3D objects (*.3ds, *.fbx, *.obj)
- support of cube shadow mapping
- support of render targets for post processing like SSAO, DoF, bloom, etc.
- support of FreeImage for texture loading (plugin)
- GPU monitoring (plugin)
- built-in Raspberry Pi GPIO support programming
- 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
GLSL Hacker project is stopped. But do not panic because GeeXLab is based on GLSL Hacker source code. So GeeXLab is 100% compatible with GLSL Hacker: all demos coded for GLSL Hacker can be loaded by GeeXLab. More information about the transition from GLSL Hacker to GeeXLab can be found in this article.