Since GeeXLab version 0.9+, a Direct3D 12 renderer plugin is available in the Windows versions (32 and 64-bit).
Introduction to Direct3D 12 Programming with GeeXLab

3D Programming, Prototyping and Gamedev with GeeXLab
Since GeeXLab version 0.9+, a Direct3D 12 renderer plugin is available in the Windows versions (32 and 64-bit).
If you need to retrieve date and time in Lua, here is small demo that displays the current date as well as elapsed time in seconds.
On the Raspberry Pi there is a very nice feature that allows to create very cool shaped windows: the control of the opacity of the 3D window.
In recent versions of GeeXLab, I added the support of reflections (mirror, surface water for example). Here is how to do a reflection with GeeXLab:
It may be useful to know if the current OpenGL implementation supports a particular OpenGL extension. For example you have coded a cool OpenGL 4.0 demo based on tessellation shaders. It would be nice to display a different scene (actually an error scene) if the demo runs on a system that is limited to OpenGL 3.0.
Remark: in the following article, words GLSL Hacker and GeeXLab are swappable! They represent the same software with a different name…
Today we are going to see how to build and render a simple scene that includes a camera, a triangle, a reference grid and a GPU program (in GLSL). GLSL Hacker supports both Lua and Python programming languages. We will use Lua for this article. So let’s go!
This article describes what is GLSL Hacker GeeXLab and how it works.
Update (2015.12.02): This article is also valid if you replace GLSL Hacker by GeeXLab!
I didn’t checked all possible use cases of GLSL Hacker (a huge and actually impossible task) and some sequences of drawing instructions (render calls) can generate OpenGL errors. So if you suspect something dodgy because the rendering is not what you expect, you can check the OpenGL errors after some particular instructions.
This article will focus on one method to build and render a Rubik’s Cube with GLSL Hacker and can be used as a basis for a more advanced animation of the Rubik’s Cube.
GLSL Hacker has a handy object called a grid. A grid is more or less just a collection of lines but that info is not really important. You can use a grid as a reference object when there’s no ground plane in the scene.
To render an image, we need an orthographic camera, a texture GPU program, a quad and the image (a texture).
In this article, we saw how to use a GPU program with GLSL Hacker. Now we’re going to see how we can pass information (variables) to a GPU program.
Since version 0.8.0, GLSL Hacker comes with a new plugin based on FreeType-GL, that allows to load any TTF (True Type Font) or OTF (Open Type Font) font file. I also added a Lua layer in GLSL Hacker libs folder to make font management even easier (libs/lua/gx_font.lua).
Let’s suppose you just found this cool GLSL program somewhere on the Net:
Vertex shader:
#version 120 void main() { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; }
Pixel shader:
#version 120 void main() { gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); }
Now, let’s suppose you want to test it with a mesh torus. The first thing to do is to create a XML node for the GLSL program in the main XML file.