Skip to content

Commit

Permalink
Add '#define SHADER_NAME ...' to all shaders for debugging in Shader …
Browse files Browse the repository at this point in the history
  • Loading branch information
brianchirls committed Jun 25, 2015
1 parent e71cfc6 commit 2d51781
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 3 deletions.
1 change: 1 addition & 0 deletions effects/seriously.accumulator.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@
mode = mode.toLowerCase();

shaderSource.fragment = [
'#define SHADER_NAME seriously.accumulator.' + mode,
'precision mediump float;',

'const vec3 ZERO = vec3(0.0);',
Expand Down
4 changes: 4 additions & 0 deletions effects/seriously.blend.js
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,7 @@
}

shaderSource.vertex = [
'#define SHADER_NAME seriously.blend.' + mode,
'precision mediump float;',

'attribute vec4 position;',
Expand All @@ -257,6 +258,7 @@
].join('\n');

shaderSource.fragment = [
'#define SHADER_NAME seriously.blend.' + mode,
'precision mediump float;',
'varying vec2 vTexCoord;',
'uniform sampler2D source;',
Expand All @@ -275,6 +277,7 @@

//todo: need separate texture coords for different size top/bottom images
shaderSource.vertex = [
'#define SHADER_NAME seriously.blend.' + mode,
'precision mediump float;',

'attribute vec4 position;',
Expand All @@ -301,6 +304,7 @@
].join('\n');

shaderSource.fragment = [
'#define SHADER_NAME seriously.blend.' + mode,
'precision mediump float;',

'const vec3 ZERO = vec3(0.0);',
Expand Down
2 changes: 2 additions & 0 deletions effects/seriously.tvglitch.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
particleBuffer.numItems = particleCount;

particleVertex = [
'#define SHADER_NAME seriously.tvglitch.particle',
'precision mediump float;',

'attribute vec4 particle;',
Expand All @@ -83,6 +84,7 @@
].join('\n');

particleFragment = [
'#define SHADER_NAME seriously.tvglitch.particle',
'precision mediump float;',

'varying float intensity;',
Expand Down
27 changes: 24 additions & 3 deletions seriously.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@
dstAlpha: 0x0303 //ONE_MINUS_SRC_ALPHA
},

shaderNameRegex = /^[\t ]*#define[\t ]+SHADER_NAME/i,

baseVertexShader,
baseFragmentShader,

Expand Down Expand Up @@ -1161,7 +1163,10 @@

rectangleModel = buildRectangleModel(gl);

baseShader = new ShaderProgram(gl, baseVertexShader, baseFragmentShader);
baseShader = new ShaderProgram(
gl,
'#define SHADER_NAME seriously.base\n' + baseVertexShader, '#define SHADER_NAME seriously.base\n' + baseFragmentShader
);

for (i = 0; i < effects.length; i++) {
node = effects[i];
Expand Down Expand Up @@ -2323,7 +2328,19 @@
};

EffectNode.prototype.buildShader = function () {
var shader, effect = this.effect;
var shader,
effect = this.effect,
me = this;

function addShaderName(shaderSrc) {
if (shaderNameRegex.test(shaderSrc)) {
return shaderSrc;
}

return '#define SHADER_NAME seriously.' + me.hook + '\n' +
shaderSrc;
}

if (this.shaderDirty) {
if (effect.commonShader && commonShaders[this.hook]) {
if (!this.shader) {
Expand All @@ -2342,7 +2359,11 @@
if (shader instanceof ShaderProgram) {
this.shader = shader;
} else if (shader && shader.vertex && shader.fragment) {
this.shader = new ShaderProgram(gl, shader.vertex, shader.fragment);
this.shader = new ShaderProgram(
gl,
addShaderName(shader.vertex),
addShaderName(shader.fragment)
);
} else {
this.shader = baseShader;
}
Expand Down

0 comments on commit 2d51781

Please sign in to comment.