From 1b4e387eccf9d5b0763dace5db7c88433c46fa51 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Thu, 18 Jul 2013 17:42:40 +1200 Subject: [PATCH] Style fixes for Renderer.Gl. --- OpenRA.Renderer.Gl/GraphicsDevice.cs | 8 ++-- OpenRA.Renderer.Gl/Shader.cs | 70 +++++++++++++++------------- 2 files changed, 40 insertions(+), 38 deletions(-) diff --git a/OpenRA.Renderer.Gl/GraphicsDevice.cs b/OpenRA.Renderer.Gl/GraphicsDevice.cs index d2e73d5ae7..46d32f1e58 100755 --- a/OpenRA.Renderer.Gl/GraphicsDevice.cs +++ b/OpenRA.Renderer.Gl/GraphicsDevice.cs @@ -12,8 +12,6 @@ using System; using System.Drawing; using OpenRA.FileFormats.Graphics; using OpenRA.Renderer.SdlCommon; -using Tao.OpenGl; -using Tao.Sdl; [assembly: Renderer(typeof(OpenRA.Renderer.Glsl.DeviceFactory))] @@ -30,7 +28,7 @@ namespace OpenRA.Renderer.Glsl public class GraphicsDevice : SdlGraphics { - static string[] RequiredExtensions = + static string[] requiredExtensions = { "GL_ARB_vertex_shader", "GL_ARB_fragment_shader", @@ -39,8 +37,8 @@ namespace OpenRA.Renderer.Glsl }; public GraphicsDevice(Size size, WindowMode window) - : base(size, window, RequiredExtensions) {} + : base(size, window, requiredExtensions) { } - public override IShader CreateShader(string name) { return new Shader( this, name ); } + public override IShader CreateShader(string name) { return new Shader(this, name); } } } diff --git a/OpenRA.Renderer.Gl/Shader.cs b/OpenRA.Renderer.Gl/Shader.cs index 0892f364f9..3465f18c64 100644 --- a/OpenRA.Renderer.Gl/Shader.cs +++ b/OpenRA.Renderer.Gl/Shader.cs @@ -21,20 +21,20 @@ namespace OpenRA.Renderer.Glsl { public class Shader : IShader { - int program; readonly Dictionary samplers = new Dictionary(); readonly Dictionary textures = new Dictionary(); + int program; - public Shader(GraphicsDevice dev, string type) + public Shader(GraphicsDevice dev, string name) { // Vertex shader 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, name)))) vertexCode = file.ReadToEnd(); - int v = Gl.glCreateShaderObjectARB(Gl.GL_VERTEX_SHADER_ARB); + var v = Gl.glCreateShaderObjectARB(Gl.GL_VERTEX_SHADER_ARB); ErrorHandler.CheckGlError(); - Gl.glShaderSourceARB(v,1,new string[]{vertexCode},null); + Gl.glShaderSourceARB(v, 1, new string[] { vertexCode }, null); ErrorHandler.CheckGlError(); Gl.glCompileShaderARB(v); ErrorHandler.CheckGlError(); @@ -43,15 +43,16 @@ namespace OpenRA.Renderer.Glsl Gl.glGetObjectParameterivARB(v, Gl.GL_OBJECT_COMPILE_STATUS_ARB, out success); ErrorHandler.CheckGlError(); if (success == 0) - throw new InvalidProgramException("Compile error in {0}{1}.vert".F(Path.DirectorySeparatorChar, type)); + throw new InvalidProgramException("Compile error in {0}{1}.vert".F(Path.DirectorySeparatorChar, name)); // Fragment shader string fragmentCode; - using (var file = new StreamReader(FileSystem.Open("glsl{0}{1}.frag".F(Path.DirectorySeparatorChar, type)))) + using (var file = new StreamReader(FileSystem.Open("glsl{0}{1}.frag".F(Path.DirectorySeparatorChar, name)))) fragmentCode = file.ReadToEnd(); - int f = Gl.glCreateShaderObjectARB(Gl.GL_FRAGMENT_SHADER_ARB); + + var f = Gl.glCreateShaderObjectARB(Gl.GL_FRAGMENT_SHADER_ARB); ErrorHandler.CheckGlError(); - Gl.glShaderSourceARB(f,1,new string[]{fragmentCode},null); + Gl.glShaderSourceARB(f, 1, new string[] { fragmentCode }, null); ErrorHandler.CheckGlError(); Gl.glCompileShaderARB(f); ErrorHandler.CheckGlError(); @@ -59,15 +60,14 @@ namespace OpenRA.Renderer.Glsl Gl.glGetObjectParameterivARB(f, Gl.GL_OBJECT_COMPILE_STATUS_ARB, out success); ErrorHandler.CheckGlError(); if (success == 0) - throw new InvalidProgramException("Compile error in glsl{0}{1}.frag".F(Path.DirectorySeparatorChar, type)); - + throw new InvalidProgramException("Compile error in glsl{0}{1}.frag".F(Path.DirectorySeparatorChar, name)); // Assemble program program = Gl.glCreateProgramObjectARB(); ErrorHandler.CheckGlError(); - Gl.glAttachObjectARB(program,v); + Gl.glAttachObjectARB(program, v); ErrorHandler.CheckGlError(); - Gl.glAttachObjectARB(program,f); + Gl.glAttachObjectARB(program, f); ErrorHandler.CheckGlError(); Gl.glLinkProgramARB(program); @@ -76,32 +76,35 @@ namespace OpenRA.Renderer.Glsl Gl.glGetObjectParameterivARB(program, Gl.GL_OBJECT_LINK_STATUS_ARB, out success); ErrorHandler.CheckGlError(); if (success == 0) - throw new InvalidProgramException("Linking error in {0} shader".F(type)); - + throw new InvalidProgramException("Linking error in {0} shader".F(name)); Gl.glUseProgramObjectARB(program); ErrorHandler.CheckGlError(); int numUniforms; - Gl.glGetObjectParameterivARB( program, Gl.GL_ACTIVE_UNIFORMS, out numUniforms ); + Gl.glGetObjectParameterivARB(program, Gl.GL_ACTIVE_UNIFORMS, out numUniforms); ErrorHandler.CheckGlError(); int nextTexUnit = 0; - for( int i = 0 ; i < numUniforms ; i++ ) + for (var i = 0; i < numUniforms; i++) { - int uLen, uSize, uType, loc; + int length, size, type; var sb = new StringBuilder(128); - Gl.glGetActiveUniformARB( program, i, 128, out uLen, out uSize, out uType, sb ); + + Gl.glGetActiveUniformARB(program, i, 128, out length, out size, out type, sb); var sampler = sb.ToString(); ErrorHandler.CheckGlError(); - if( uType == Gl.GL_SAMPLER_2D_ARB ) + + if (type == Gl.GL_SAMPLER_2D_ARB) { - samplers.Add( sampler, nextTexUnit ); - loc = Gl.glGetUniformLocationARB(program, sampler); + samplers.Add(sampler, nextTexUnit); + + var loc = Gl.glGetUniformLocationARB(program, sampler); ErrorHandler.CheckGlError(); - Gl.glUniform1iARB( loc, nextTexUnit ); + Gl.glUniform1iARB(loc, nextTexUnit); ErrorHandler.CheckGlError(); - ++nextTexUnit; + + nextTexUnit++; } } } @@ -110,8 +113,7 @@ namespace OpenRA.Renderer.Glsl { Gl.glUseProgramObjectARB(program); - /* bind the textures */ - + // bind the textures foreach (var kv in textures) { Gl.glActiveTextureARB(Gl.GL_TEXTURE0_ARB + kv.Key); @@ -127,6 +129,7 @@ namespace OpenRA.Renderer.Glsl { if (t == null) return; + int texUnit; if (samplers.TryGetValue(name, out texUnit)) textures[texUnit] = t; @@ -136,9 +139,9 @@ namespace OpenRA.Renderer.Glsl { Gl.glUseProgramObjectARB(program); ErrorHandler.CheckGlError(); - int param = Gl.glGetUniformLocationARB(program, name); + var param = Gl.glGetUniformLocationARB(program, name); ErrorHandler.CheckGlError(); - Gl.glUniform1fARB(param,x); + Gl.glUniform1fARB(param, x); ErrorHandler.CheckGlError(); } @@ -146,17 +149,17 @@ namespace OpenRA.Renderer.Glsl { Gl.glUseProgramObjectARB(program); ErrorHandler.CheckGlError(); - int param = Gl.glGetUniformLocationARB(program, name); + var param = Gl.glGetUniformLocationARB(program, name); ErrorHandler.CheckGlError(); - Gl.glUniform2fARB(param,x,y); + Gl.glUniform2fARB(param, x, y); ErrorHandler.CheckGlError(); } public void SetVec(string name, float[] vec, int length) { - int param = Gl.glGetUniformLocationARB(program, name); + var param = Gl.glGetUniformLocationARB(program, name); ErrorHandler.CheckGlError(); - switch(length) + switch (length) { case 1: Gl.glUniform1fv(param, 1, vec); break; case 2: Gl.glUniform2fv(param, 1, vec); break; @@ -164,6 +167,7 @@ namespace OpenRA.Renderer.Glsl case 4: Gl.glUniform4fv(param, 1, vec); break; default: throw new InvalidDataException("Invalid vector length"); } + ErrorHandler.CheckGlError(); } @@ -174,7 +178,7 @@ namespace OpenRA.Renderer.Glsl Gl.glUseProgramObjectARB(program); ErrorHandler.CheckGlError(); - int param = Gl.glGetUniformLocationARB(program, name); + var param = Gl.glGetUniformLocationARB(program, name); ErrorHandler.CheckGlError(); Gl.glUniformMatrix4fv(param, 1, Gl.GL_FALSE, mtx); ErrorHandler.CheckGlError();