Working line shader
This commit is contained in:
@@ -20,12 +20,8 @@ namespace OpenRA.Renderer.Glsl
|
|||||||
public class Shader : IShader
|
public class Shader : IShader
|
||||||
{
|
{
|
||||||
int program;
|
int program;
|
||||||
string type;
|
|
||||||
public Shader(GraphicsDevice dev, string type)
|
public Shader(GraphicsDevice dev, string type)
|
||||||
{
|
{
|
||||||
this.type = type;
|
|
||||||
Console.WriteLine("Loading shader: {0}",type);
|
|
||||||
|
|
||||||
// Vertex shader
|
// Vertex shader
|
||||||
string vertexCode;
|
string vertexCode;
|
||||||
using (var file = new StreamReader(FileSystem.Open("glsl{0}{1}.vert".F(Path.DirectorySeparatorChar, type))))
|
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);
|
Gl.glGetProgramInfoLog(program,4024,l,log);
|
||||||
Console.WriteLine(log.ToString());
|
Console.WriteLine(log.ToString());
|
||||||
|
|
||||||
GraphicsDevice.CheckGlError();
|
GraphicsDevice.CheckGlError();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,15 +80,11 @@ namespace OpenRA.Renderer.Glsl
|
|||||||
var texture = (Texture)t;
|
var texture = (Texture)t;
|
||||||
int param = Gl.glGetUniformLocation(program, name);
|
int param = Gl.glGetUniformLocation(program, name);
|
||||||
GraphicsDevice.CheckGlError();
|
GraphicsDevice.CheckGlError();
|
||||||
|
|
||||||
|
|
||||||
if (texture != null && param >= 0)
|
if (texture != null && param >= 0)
|
||||||
{
|
{
|
||||||
//texture.texture = 0;
|
|
||||||
Console.WriteLine("setting {0}:{1} to {2}",type,name,texture.texture);
|
|
||||||
Gl.glUniform1i(param, texture.texture);
|
Gl.glUniform1i(param, texture.texture);
|
||||||
GraphicsDevice.CheckGlError();
|
GraphicsDevice.CheckGlError();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,7 +92,6 @@ namespace OpenRA.Renderer.Glsl
|
|||||||
{
|
{
|
||||||
Gl.glUseProgram(program);
|
Gl.glUseProgram(program);
|
||||||
GraphicsDevice.CheckGlError();
|
GraphicsDevice.CheckGlError();
|
||||||
//Console.WriteLine("setting {3}:{0} to ({1},{2})",name,x,y,type);
|
|
||||||
int param = Gl.glGetUniformLocation(program, name);
|
int param = Gl.glGetUniformLocation(program, name);
|
||||||
GraphicsDevice.CheckGlError();
|
GraphicsDevice.CheckGlError();
|
||||||
Gl.glUniform2f(param,x,y);
|
Gl.glUniform2f(param,x,y);
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
uniform sampler2D DiffuseTexture;
|
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
gl_FragColor = texture2D(DiffuseTexture,gl_TexCoord[0].st);
|
gl_FragColor = gl_Color;
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
uniform vec2 Scroll;
|
uniform vec2 Scroll;
|
||||||
uniform vec2 r1;
|
uniform vec2 r1, r2; // matrix elements
|
||||||
uniform vec2 r2; // matrix elements
|
|
||||||
|
|
||||||
void main()
|
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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user