GLSL Shader Fun

22 04 2011

I’ve recently been experimenting with GLSL fragment (pixel) shaders which allow for realtime generation of things previously taking minutes or hours to undertake even a single frame. e.g. mandlebrot fractals, ray tracing. Still in its infancy and certainly, graphics cards + OS drivers can be very picky about which ones they don’t completely crash on.

Inspired by Iñigo Quílez’s shader toy http://www.iquilezles.org/apps/shadertoy/ , I’ve written a native app that can load and display GLSL fragment shaders with a little more success and efficiency than WebGL was having through the browser. Note that you still need a fairly good modern computer with a graphics card that can handle OpenGL 2.0. Included are 38 demo shaders. All credit for the shaders goes to Iñigo Quílez and his demoscene contributors. I’ve only managed to write one so far.

Tested on a Macbook Pro 15″ AMD Radeon HD 6750M (doesn’t seem to like Mandlebulb, To The Road A Ribbon or Slisesix but 35 others worked fine and fast). Also tested on a slightly older Macbook Pro NVIDIA GeForce 9400M which worked on all 38 but had low framerates on the more involved ray traced shaders. Note that it is currently untested on Windows as my Samsung NC10 doesn’t appear to cope with any form of GLSL.





Oddball

5 06 2010

An experimental 3D game where you get to explore a strange abstract world. No real game objective as yet but the landscape and physics shows promise. Idea based on a game I wrote a loooong time ago for the C64 called RED LED.

Written using Blitz3D and the tokamak physics engine.

Version 0.02 pre-alpha concept version.

Click here for more info.





Graviton

5 06 2010

A retro 2D scrolling shoot ’em up game. What you get when you cross elements from Bosconian, Gravitar and Asteroids. Written with Blitz3D.

Version 0.10 Playable alpha version with 11 levels. 95% finished.

Click here for more info.





Qubes

5 06 2010

An original game concept where the object is to clear each level of all the Qubes within a set time. Qubes can be dissolved by bringing them in contact with the floor or by using various powerups which appear during the game. Basically, knock everything over as quickly as possible.

It was written using Blitz3D and the tokamak physics engine.

Status – Complete apart from sound effects.

Version 0.07

Click here for more info.





Kaleido

3 06 2010

Kaleido was my first attempt at visual experimentation software. Its realtime display is generated procedurally using similar techniques seen in many demoscene programs. I used only Blitzmax and its 2D library, no shaders or modern GPU trickery employed so it should even work on fairly modest hardware.

Kaleido Version 0.16

Only tested on Windows XP so I don’t know if Vista or Windows 7 are compatible.
Press ‘H’ for instructions.