GLSL Hacker 0.4.0 Cross-Platform Programming Tool Released

GLSL Hacker, Pixel hacking with GLSL, Lua and Python


OpenGL Lua Python



1 – GLSL Hacker Overview

Here is the first public version of GLSL Hacker. GLSL Hacker is my second cross-platform production (I quickly talked about it in this article) and like GpuTest, is available for Windows (should work on all versions from WinXP to Win8), Linux (developed and tested on Mint 13, should work with all Ubuntu-based distributions, I don’t know for other distros) and OSX (versions 10.7 and 10.8).

This version has not all features I wanted to add for a first version because I had to make a choice: either I continued the development or I released something. I chose the second solution. The development of a cross-platform software is a tough and time-consuming task. Especially when you have to deal with hardware accelerated rendering, multithreading, networking… That’s the main reason behind the lack of features (the main feature that is not present in this first version is the Python language)… But now that the architecture of GLSL Hacker is ok (or at least seem to be ok), I can now focuse my time on adding new features.

GLSL Hacker, GLSL Sandbox demo
A demo ported from GLSL Sandbox to GLSL Hacker



Ok so let’s quickly see what is GLSL Hacker. GLSL Hacker can be seen as the successor of GeeXLab. GLSL Hacker is based on a new 64-bit graphics library that is now my codebase for all my new developments (GpuTest is based on the same library).

GLSL Hacker is tool for exploring the world of 3D programming in an easy way. It’s a kind of sandbox where you can experiment new GLSL shaders, code your logic with Lua and/or Python programming languages (both languages can be used in a demo) and tweak and hack the code with live-programming (live-coding) tools.

GLSL Hacker supports all types of GLSL shaders available: vertex shaders, fragment shaders, geometry shaders, tessellation shaders and compute shaders. The shaders can be embedded in the main script file or can be stored in separate files, as you want. You can even store them on a web server and download them using some Python code.

The version 0.4.0 of GLSL Hacker includes the support of some built-in meshes (plane, sphere, torus), GLSL programs, 2D textures, Lua programming language and post processing (render targets). Next versions of GLSL Hacker will pack the Python language (I already have the python plugin for Windows, I just need to make it available for Linux and OSX), the loading of 3D objects (I guess I have a plugin for that too), the sound, PhysX 3 (yeah!), and many more features…

GLSL Hacker, multi-output demo on OSX
Multi-output demo on OSX



For the live-coding, I chose to provide network/TCP-IP based tools. You can then live code from a remote computer and the great thing is that the computer where the live coding tool is running and the computer where GLSL Hacker is running do not need to support the same OpenGL features. Actually the computer that runs the live coding tool does not need 3D graphics capabilities at all. The live coding tools use the native windowing system (Win32 API on Windows and Cocoa on OSX) and socket API. That’s all. So you can tweak an OpenGL 4 tessellation shader running on a Linux box from a MacBook Pro (that currently only supports OpenGL 3.2) and at the same time tweaking the Lua code from a Windows box…

GLSL Hacker, network live coding tools
Network based live coding tools

GLSL Hacker, Live-coding a linux box from a Mac box
Live-coding a Linux demo from MacOSX



Live-coding tools are available for Windows and Mac OSX. Linux users can use Windows live coding tools with Wine, they work fine.

Two last things. GLSL Hacker is free. GLSL Hacker is my new sandbox for my 3D tests, and I don’t want to make a commercial product with it. Just download it and use it. Do whatever you want with it, except rent or resell it of course!

GLSL Hacker 0.4.0 is in alpha version so please be tolerant when you will encounter bugs, crashes and other weird behaviors…



2 – GLSL Hacker Downloads


GLSL Hacker for Windows Download GLSL Hacker 0.4.0 win64 Version 0.4.0

GLSL Hacker 0.4.0 for Windows 64-bit (XP, Vista, 7 and 8)


GLSL Hacker for OS X Download GLSL Hacker 0.4.0 OSX Version 0.4.0

GLSL Hacker 0.4.0 for OS X 10.7 and 10.8


GLSL Hacker for Linux Download GLSL Hacker 0.4.0 Linux 64-bit Version 0.4.0

GLSL Hacker 0.4.0 for Linux 64-bit



Unzip the archive where you want and launch GLSL Hacker (GLSLHacker.exe for Windows, GLSLHacker.app for OSX and GLSLHacker for Linux).

And to explore the possibilities of GLSL Hacker, here is a code samples pack:

GLSL Hacker, code sample pack Download GLSL Hacker Code Samples Pack Version v2013.01.18

Code Samples Pack for Windows, Linux and OSX

Unzip the pack somewhere, and load any XML file in GLSL Hacker. Linux users need to edit the start_glslhacker_demo.sh (in GLSL Hacker directory) to launch a demo.

GLSL Hacker, Linux demo
GLSL Hacker running on Linux Mint 13

GLSL Hacker, OSX demo
Geometry instancing demo on OSX

GLSL Hacker, Windows demo
Compute shaders demo on Windows



Some useful links: