From 00358e9fe8bd99447442f8325726c11eac0dd0f6 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Thu, 11 Nov 2010 12:11:11 +1300 Subject: [PATCH] Working line shader --- OpenRA.Renderer.Gl/Shader.cs | 12 ++---------- glsl/world-line.frag | 4 +--- glsl/world-line.vert | 8 ++++---- 3 files changed, 7 insertions(+), 17 deletions(-) diff --git a/OpenRA.Renderer.Gl/Shader.cs b/OpenRA.Renderer.Gl/Shader.cs index 453dae3321..59b2ecf2e5 100644 --- a/OpenRA.Renderer.Gl/Shader.cs +++ b/OpenRA.Renderer.Gl/Shader.cs @@ -20,12 +20,8 @@ namespace OpenRA.Renderer.Glsl public class Shader : IShader { int program; - string type; public Shader(GraphicsDevice dev, string type) - { - this.type = type; - Console.WriteLine("Loading shader: {0}",type); - + { // Vertex shader string vertexCode; using (var file = new StreamReader(FileSystem.Open("glsl{0}{1}.vert".F(Path.DirectorySeparatorChar, type)))) @@ -65,6 +61,7 @@ namespace OpenRA.Renderer.Glsl Gl.glGetProgramInfoLog(program,4024,l,log); Console.WriteLine(log.ToString()); + GraphicsDevice.CheckGlError(); } @@ -83,15 +80,11 @@ namespace OpenRA.Renderer.Glsl var texture = (Texture)t; int param = Gl.glGetUniformLocation(program, name); GraphicsDevice.CheckGlError(); - if (texture != null && param >= 0) { - //texture.texture = 0; - Console.WriteLine("setting {0}:{1} to {2}",type,name,texture.texture); Gl.glUniform1i(param, texture.texture); GraphicsDevice.CheckGlError(); - } } @@ -99,7 +92,6 @@ namespace OpenRA.Renderer.Glsl { Gl.glUseProgram(program); GraphicsDevice.CheckGlError(); - //Console.WriteLine("setting {3}:{0} to ({1},{2})",name,x,y,type); int param = Gl.glGetUniformLocation(program, name); GraphicsDevice.CheckGlError(); Gl.glUniform2f(param,x,y); diff --git a/glsl/world-line.frag b/glsl/world-line.frag index a6bc742dfe..3f45d895ff 100644 --- a/glsl/world-line.frag +++ b/glsl/world-line.frag @@ -1,6 +1,4 @@ -uniform sampler2D DiffuseTexture; - void main() { - gl_FragColor = texture2D(DiffuseTexture,gl_TexCoord[0].st); + gl_FragColor = gl_Color; } \ No newline at end of file diff --git a/glsl/world-line.vert b/glsl/world-line.vert index 1f9d59bd96..e38ef97d14 100644 --- a/glsl/world-line.vert +++ b/glsl/world-line.vert @@ -1,8 +1,8 @@ uniform vec2 Scroll; -uniform vec2 r1; -uniform vec2 r2; // matrix elements - +uniform vec2 r1, r2; // matrix elements void main() { - gl_Position = ftransform(); + vec2 p = (gl_Vertex.xy - Scroll.xy)*r1 + r2; + gl_Position = vec4(p.x,p.y,0,1); + gl_FrontColor = gl_MultiTexCoord0; }