Shader IDE


Pixel shaders are amazing. They're perhaps the closest modern technology we have to the custom graphics processors and coprocessors found in many of those 1980s home computers. Shaders came to life as self-contained functions that helped 3D surfaces look better, such as the simplistic Phong or Gouraud shading you might be familiar with from the original Blender. Pixel shaders are also distinct from the ray tracing or light casting that goes into building a scene, because, as their name describes, they operate on the final pixel, dynamically changing their color according to their position within the environment. This is why most are considered post-processing effects that can be applied to any scene or game after the main artwork has been added.

Rather than shaders being calculated by your CPU, they have become discrete units in a GPU where they are programmed directly from OpenGL using a special shader interpreter language called GLSL. But because they're self-contained, they're relatively easy to hack on – some applications and games will even import raw GLSL from a configuration file. But what you really need is a system that lets you write GLSL while seeing the results instantaneously, and that's what Bonzomatic does. Bonzomatic is a simple command-line text editor that runs in full screen mode and gives you almost immediate feedback on your GLSL tinkering. It's ideal for people who know nothing about shaders and want to experiment, as well as for developers who want to tweak the best possible output and performance from every byte of code. Bonzomatic lets you quickly experiment and compile your shaders, with the effects shown in the background and across the editing environment unless you disable them with the F11 key. It's even been used as the platform for coding challenges, and it's a genuinely fun way to play with code you may have found online or when trying to learn how shaders work.

Project Website

After pressing F5 to recompile a shader (instantly), its effects are rendered across the background of the editing environment.

Pipe command helper

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Tutorials – Minetest

    Minetest is much more than a clone of a certain popular proprietary game. It offers infinite customization that allows you to create blocks, objects, fun educational exercises, and even games within the game, dishing up features well beyond those of any other closed source alternative.

  • FOSSPicks

    There's a collective groan in Graham's household whenever he gets a new device and finds a terminal prompt. The latest victim to his nmap skills is an LG OLED television!

  • Krita Vs. MyPaint

    If you are looking for an open source drawing program, Krita and MyPaint both offer graphic tablet support and brushes. Deciding which one works best depends on your specific needs.

  • FOSSPicks

    Graham looks at Krita 4.0, FreeTube 0.2.0, OpenSnitch, Yoda, Citybound, GZDoom, and much more!

  • dgamelaunch

    If you are into retrogaming, dgamelaunch lets you set up a server to play Roguelike games and compete with friends, all while preserving a piece of gaming history.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More