Shaderian icon indicating copy to clipboard operation
Shaderian copied to clipboard

A live GLSL programming environment on windows

Shaderian

A live GLSL programming environment on windows. Edit your shader code and see the changes happen, live!

Usage

shaderian.exe [shader filename] [option]

Options

shazan - create an opengl 3.0 context instead of 3.3 core profile context

Starter code

This is the starter code, just copy paste this into your shader and start from there.

#version 330 core //or your respective version of glsl

uniform float uTime;      // time the app has been running in seconds
uniform vec2 uResolution; // window client rect resolution in pixels
uniform int uFrameIndex;  // the count of frames that's been run before current frame
uniform sampler2D uPrevFrame;  // access to previous frame as texture

// HDR environment maps
uniform sampler2D GraceCathedral;
uniform sampler2D Glacier;
uniform sampler2D UffiziGallery;
uniform sampler2D EnnisDiningRoom;
uniform sampler2D PisaCourtyard;
uniform sampler2D DogeCourtyard;

in vec2 FragCoord;        // normalized fragment coordinate, range: <[-1, 1], [-1, 1]>
out vec3 FragColor;       // output color

void main()
{
//your code
}

New Feature: Access to previous frame and frame indexer

This allows you to propogate information throughout all your frames. It is particularly powerful because it allows you do this stuff like progressive pathtracing and simulations with ease:

base profile screenshot 2018 04 22 - 13 22 33 57

(Rendered with shaderian, you can find this shader as sample/fractal_pathtracer.frag)

image

(Rendered with shaderian, you can find this shader as sample/menger_sponge.frag)

Integration with your editor

When shaderian is deactivated, it will stay as a layered window, and you can still edit the file while seeing changes.

Shaderian combined with your favorite editor:

shaderian_demo

Tutorials

Look at the code under "sample" folder. I've written some basic shaders that does interesting things and put them there. They aren't too advanced yet so it'd be easy to digest.

You can also watch this youtube video on how to get started:

getting started