Shader Pad

About:

Shader Pad is a tool to make shader development easier and far less intimidating for beginners.

It is designed to favour minimalism and usability over features.

It also has a code central design, that puts the code at the focuss of the tool.

It also features shader hot-loading, this allows a user to use shaderpad with whatever text editor they like.

Brief:

When I was first learning to develop shaders,  I found myself repeatedly smacking my head on the tool I was using, while tools like ATI RenderMonkey are absolutely fantastic  for complex shader’s, such a large program is overkill for the simple “hello world” shader’s, that everyone has to start with.

I often found myself knowing exactly what I wanted the program to do,  but instead of being able to just make it happen I instead had to browse through the many nested toolbar options to find a dialogue for it.

ShaderPad Running with a simple weightless blob shader

weightless blob example shader

The design and layout of these large tools, are obviously intended for artists, there are things for tweaking absolutely everyware,  while  these are useful tools for debugging reasons,  when I am engineering code id rather tweak until I am happy then set a constant. Than go through a dialogue to create a big gui element for setting a variable I dont need to change.

I also found myself frustrated by the difficulties of porting a shader across to an engine, afterall why else would I be working on a shader?

In the end I decided that I could do it differently, and created Shader Pad.

While it lacks a number of features, and isn’t as extensible as Rendermonkey, it is about as intimidating as notepad, and connects seamlessly to tools a user is already happy with.

As a programmer, I always have Visual Studio running, it therefore makes sense that I would want to edit my shader code in Visual Studio,  instead of having another large memory intensive program running.


Shader Pad is written using a combination of the Irrlicht Engine, and WxWidgets, via a custom engineered widget.

ScreenshotOfShaderPad working with vs
Visual studio with shaderpad

  • Supports both DirectX and OpenGL.
  • Will run both GLSL shaders and DirectX shaders.
  • Has support for up to four analogue input variables.
  • Has hot-loading support.
  • Automatic and explicit shader reloading.
  • Error logging support.
  • Model loading support.
  • Multiple texture support and assignment.
  • A Pre-Assembled library of example shaders.
  • Code design.
  • No nonsense minimalist interface.
  • Allows the user to specify the shader entry points.

Download:

ShaderPad Download


Leave a Reply