ShaderWB - a shader workbench
Abstract: A tool for fast shader hacking.
© Copyright Daniel Krajzewicz, 27.08.2022 20:00, cc by
I incrementally use GLSL shaders in my software packages. Often, if I wanted to test a shader, I had to recompile the application. That's very uncomfortable. So I decided to build a tool for a fast shader development. Something where you can just type your shader code and get immediate feedback. That's how ShaderWB was born and I would like to share it with you.
Currently, ShaderWB is in a pre-alpha state. It works, you can hack shaders. You can save and load them but the functionality is still quite limited.
The current version 0.2.0 is available for free. It is a MS Windows application (desktop).
As said, the current version is relatively limited. I see the following use cases you can use it for currently.
UC1: 2D Texture and Renderer Design (fragment shader)
So, well that's the basic thing. It's basically a possibility to render something on the screen using an arbitrary function. Fast fractal rendering may be such a thing.
Both is done by programming the fragment shader. The view shows a rectangle with coordinates between 0 and 1 for both, the x-, and the y-axis. You may simply write a function that sets a color in dependence to these coordinates.
Figure 1: Rendering a Mandelbrot (left) and a Julia fractal (middle) using the texture coordinates (right).
UC2: Distortion Shader (vertex shader)
What you can do using shaders as well is to apply a transformation matrix to the view. You may make a fish lens or a distortion filter. Both is done by programming the vertex shader.
ShaderWB is available in 32bit and 64 bit versions for MS Windows. You may either use an installer version or one that is simply stored in .zip-file. If you would be interested in any other versions, let me know.
There are some further resources you may be interested in:
- The user documentation for the current version (0.2.0);
I have a bunch of ideas which I have to put in an order that increases the development speed. If you stumble across the page and there is no progress, just ask whether something has happened. As well, if you need a feature the tool does not support.