GLSL Hacker 0.4.0 Cross-Platform Programming Tool Released
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.
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…
Multi-output demo on OSX
For the live-coding, I chose to provide
Network based live coding tools
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
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:
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 running on Linux Mint 13
Geometry instancing demo on OSX
Compute shaders demo on Windows
Some useful links:
- GLSL Hacker overview
- GLSL Hacker and GLSL Programs
- GLSL Hacker and Live Coding
- Hack your first GLSL program
- Geeks3D Tumblelog