standardized glsl variable naming

This commit is contained in:
Brandon 2018-10-07 08:33:37 -06:00
parent 8f9e91e617
commit f4edf628b1
2 changed files with 37 additions and 38 deletions

View File

@ -363,8 +363,8 @@ const (
) )
var defaultCanvasVertexFormat = glhf.AttrFormat{ var defaultCanvasVertexFormat = glhf.AttrFormat{
canvasPosition: {Name: "position", Type: glhf.Vec2}, canvasPosition: {Name: "aPosition", Type: glhf.Vec2},
canvasColor: {Name: "color", Type: glhf.Vec4}, canvasColor: {Name: "aColor", Type: glhf.Vec4},
canvasTexCoords: {Name: "texCoords", Type: glhf.Vec2}, canvasTexCoords: {Name: "aTexCoords", Type: glhf.Vec2},
canvasIntensity: {Name: "intensity", Type: glhf.Float}, canvasIntensity: {Name: "aIntensity", Type: glhf.Float},
} }

View File

@ -98,14 +98,14 @@ func (gs *glShader) setUniform(name string, value interface{}) {
func baseShader(c *Canvas) { func baseShader(c *Canvas) {
gs := &glShader{ gs := &glShader{
vf: defaultCanvasVertexFormat, vf: defaultCanvasVertexFormat,
vs: defaultCanvasVertexShader, vs: baseCanvasVertexShader,
fs: baseCanvasFragmentShader, fs: baseCanvasFragmentShader,
} }
gs.setUniform("u_transform", &gs.uniformDefaults.transform) gs.setUniform("uTransform", &gs.uniformDefaults.transform)
gs.setUniform("u_colormask", &gs.uniformDefaults.colormask) gs.setUniform("uColorMask", &gs.uniformDefaults.colormask)
gs.setUniform("u_bounds", &gs.uniformDefaults.bounds) gs.setUniform("uBounds", &gs.uniformDefaults.bounds)
gs.setUniform("u_texbounds", &gs.uniformDefaults.texbounds) gs.setUniform("uTexBounds", &gs.uniformDefaults.texbounds)
c.shader = gs c.shader = gs
} }
@ -215,54 +215,53 @@ func getAttrType(v interface{}) (glhf.AttrType, bool) {
} }
} }
var defaultCanvasVertexShader = ` var baseCanvasVertexShader = `
#version 330 core #version 330 core
in vec2 position; in vec2 aPosition;
in vec4 color; in vec4 aColor;
in vec2 texCoords; in vec2 aTexCoords;
in float intensity; in float aIntensity;
out vec4 Color;
out vec2 texcoords;
out vec2 glpos;
out float Intensity;
uniform mat3 u_transform; out vec4 vColor;
uniform vec4 u_bounds; out vec2 vTexCoords;
out float vIntensity;
uniform mat3 uTransform;
uniform vec4 uBounds;
void main() { void main() {
vec2 transPos = (u_transform * vec3(position, 1.0)).xy; vec2 transPos = (uTransform * vec3(aPosition, 1.0)).xy;
vec2 normPos = (transPos - u_bounds.xy) / u_bounds.zw * 2 - vec2(1, 1); vec2 normPos = (transPos - uBounds.xy) / uBounds.zw * 2 - vec2(1, 1);
gl_Position = vec4(normPos, 0.0, 1.0); gl_Position = vec4(normPos, 0.0, 1.0);
Color = color; vColor = aColor;
texcoords = texCoords; vTexCoords = aTexCoords;
Intensity = intensity; vIntensity = aIntensity;
glpos = transPos;
} }
` `
var baseCanvasFragmentShader = ` var baseCanvasFragmentShader = `
#version 330 core #version 330 core
in vec4 Color; in vec4 vColor;
in vec2 texcoords; in vec2 vTexCoords;
in float Intensity; in float vIntensity;
out vec4 fragColor; out vec4 fragColor;
uniform vec4 u_colormask; uniform vec4 uColorMask;
uniform vec4 u_texbounds; uniform vec4 uTexBounds;
uniform sampler2D u_texture; uniform sampler2D uTexture;
void main() { void main() {
if (Intensity == 0) { if (vIntensity == 0) {
fragColor = u_colormask * Color; fragColor = uColorMask * vColor;
} else { } else {
fragColor = vec4(0, 0, 0, 0); fragColor = vec4(0, 0, 0, 0);
fragColor += (1 - Intensity) * Color; fragColor += (1 - vIntensity) * vColor;
vec2 t = (texcoords - u_texbounds.xy) / u_texbounds.zw; vec2 t = (vTexCoords - uTexBounds.xy) / uTexBounds.zw;
fragColor += Intensity * Color * texture(u_texture, t); fragColor += vIntensity * vColor * texture(uTexture, t);
fragColor *= u_colormask; fragColor *= uColorMask;
} }
} }
` `