diff --git a/SM.Base/GenericWindow.cs b/SMCode/SM.Base/GenericWindow.cs similarity index 52% rename from SM.Base/GenericWindow.cs rename to SMCode/SM.Base/GenericWindow.cs index 1103d7c..c197949 100644 --- a/SM.Base/GenericWindow.cs +++ b/SMCode/SM.Base/GenericWindow.cs @@ -1,6 +1,7 @@ using System; using System.IO; using OpenTK; +using OpenTK.Graphics; using OpenTK.Graphics.OpenGL4; using SM.OGL.Shaders; @@ -11,10 +12,15 @@ namespace SM.Base private TestShader shader; private Matrix4 _viewMatrix; + public GenericWindow() : base(1280, 720, GraphicsMode.Default, "Testing", GameWindowFlags.Default, DisplayDevice.Default, 0, 0, GraphicsContextFlags.Default, null, true) + { + + } + protected override void OnLoad(EventArgs e) { base.OnLoad(e); - shader = new TestShader(new ShaderFileCollection(File.ReadAllText("test/vert.glsl"), File.ReadAllText("test/frag.glsl"))); + shader = new TestShader(new ShaderFileCollection(File.ReadAllText("test/test.vert"), File.ReadAllText("test/test.frag"))); shader.Compile(); } @@ -22,8 +28,11 @@ namespace SM.Base { base.OnRenderFrame(e); - shader.Draw(); + GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); + shader.Draw(_viewMatrix); + + SwapBuffers(); } protected override void OnResize(EventArgs e) @@ -31,8 +40,8 @@ namespace SM.Base base.OnResize(e); GL.Viewport(ClientRectangle); - _viewMatrix = Matrix4.CreatePerspectiveFieldOfView(90, Width / Height, 0.1f, 100) * - Matrix4.LookAt(new Vector3(2f, 1f, -5f), Vector3.Zero, Vector3.UnitY); + _viewMatrix = Matrix4.LookAt(Vector3.UnitZ, Vector3.Zero, Vector3.UnitY) * + Matrix4.CreatePerspectiveFieldOfView(MathHelper.DegreesToRadians(90), Width / Height, 0.1f, 100); } } } \ No newline at end of file diff --git a/SM.Base/OpenTK.dll.config b/SMCode/SM.Base/OpenTK.dll.config similarity index 100% rename from SM.Base/OpenTK.dll.config rename to SMCode/SM.Base/OpenTK.dll.config diff --git a/SM.Base/Properties/AssemblyInfo.cs b/SMCode/SM.Base/Properties/AssemblyInfo.cs similarity index 100% rename from SM.Base/Properties/AssemblyInfo.cs rename to SMCode/SM.Base/Properties/AssemblyInfo.cs diff --git a/SM.Base/SM.Base.csproj b/SMCode/SM.Base/SM.Base.csproj similarity index 97% rename from SM.Base/SM.Base.csproj rename to SMCode/SM.Base/SM.Base.csproj index 01a4ca1..7a0472f 100644 --- a/SM.Base/SM.Base.csproj +++ b/SMCode/SM.Base/SM.Base.csproj @@ -55,7 +55,7 @@ - + {f604d684-bc1d-4819-88b5-8b5d03a17be0} SM.OGL diff --git a/SM.Base/StaticObjects/Plate.cs b/SMCode/SM.Base/StaticObjects/Plate.cs similarity index 92% rename from SM.Base/StaticObjects/Plate.cs rename to SMCode/SM.Base/StaticObjects/Plate.cs index cd9eef1..72caab9 100644 --- a/SM.Base/StaticObjects/Plate.cs +++ b/SMCode/SM.Base/StaticObjects/Plate.cs @@ -13,6 +13,8 @@ namespace SM.Base.StaticObjects {-.5f, .5f, 0}, {.5f, .5f, 0}, {.5f, -.5f, 0}, + {0,0,0}, + {0,0,0}, }; public override PrimitiveType PrimitiveType { get; } = PrimitiveType.Quads; diff --git a/SM.Base/TestShader.cs b/SMCode/SM.Base/TestShader.cs similarity index 73% rename from SM.Base/TestShader.cs rename to SMCode/SM.Base/TestShader.cs index b23cb33..17d7237 100644 --- a/SM.Base/TestShader.cs +++ b/SMCode/SM.Base/TestShader.cs @@ -1,4 +1,5 @@ -using OpenTK.Graphics.OpenGL4; +using OpenTK; +using OpenTK.Graphics.OpenGL4; using SM.Base.StaticObjects; using SM.OGL.Shaders; @@ -10,11 +11,11 @@ namespace SM.Base { } - public void Draw() + public void Draw(Matrix4 mvp) { GL.UseProgram(this); - + Uniforms["MVP"].SetMatrix4(mvp); DrawObject(Plate.Object, true); diff --git a/SM.Base/packages.config b/SMCode/SM.Base/packages.config similarity index 100% rename from SM.Base/packages.config rename to SMCode/SM.Base/packages.config diff --git a/SM.Core/GLDebugging.cs b/SMCode/SM.OGL/GLDebugging.cs similarity index 100% rename from SM.Core/GLDebugging.cs rename to SMCode/SM.OGL/GLDebugging.cs diff --git a/SM.Core/GLObject.cs b/SMCode/SM.OGL/GLObject.cs similarity index 100% rename from SM.Core/GLObject.cs rename to SMCode/SM.OGL/GLObject.cs diff --git a/SM.Core/Mesh/Mesh.cs b/SMCode/SM.OGL/Mesh/Mesh.cs similarity index 100% rename from SM.Core/Mesh/Mesh.cs rename to SMCode/SM.OGL/Mesh/Mesh.cs diff --git a/SM.Core/Mesh/TypeDefinition.cs b/SMCode/SM.OGL/Mesh/TypeDefinition.cs similarity index 100% rename from SM.Core/Mesh/TypeDefinition.cs rename to SMCode/SM.OGL/Mesh/TypeDefinition.cs diff --git a/SM.Core/Mesh/VBO.cs b/SMCode/SM.OGL/Mesh/VBO.cs similarity index 100% rename from SM.Core/Mesh/VBO.cs rename to SMCode/SM.OGL/Mesh/VBO.cs diff --git a/SM.Core/OpenTK.dll.config b/SMCode/SM.OGL/OpenTK.dll.config similarity index 100% rename from SM.Core/OpenTK.dll.config rename to SMCode/SM.OGL/OpenTK.dll.config diff --git a/SM.Core/Properties/AssemblyInfo.cs b/SMCode/SM.OGL/Properties/AssemblyInfo.cs similarity index 100% rename from SM.Core/Properties/AssemblyInfo.cs rename to SMCode/SM.OGL/Properties/AssemblyInfo.cs diff --git a/SM.Core/SM.OGL.csproj b/SMCode/SM.OGL/SM.OGL.csproj similarity index 100% rename from SM.Core/SM.OGL.csproj rename to SMCode/SM.OGL/SM.OGL.csproj diff --git a/SM.Core/Shaders/GenericShader.cs b/SMCode/SM.OGL/Shaders/GenericShader.cs similarity index 95% rename from SM.Core/Shaders/GenericShader.cs rename to SMCode/SM.OGL/Shaders/GenericShader.cs index 7a8d100..913e6bb 100644 --- a/SM.Core/Shaders/GenericShader.cs +++ b/SMCode/SM.OGL/Shaders/GenericShader.cs @@ -41,7 +41,7 @@ namespace SM.OGL.Shaders } - public void DrawObject(Mesh.Mesh mesh, bool bindVAO) + public void DrawObject(Mesh.Mesh mesh, bool bindVAO = false) { if (bindVAO) GL.BindVertexArray(mesh); GL.DrawArrays(mesh.PrimitiveType, 0, mesh.Vertex.Count); diff --git a/SM.Core/Shaders/ShaderFile.cs b/SMCode/SM.OGL/Shaders/ShaderFile.cs similarity index 96% rename from SM.Core/Shaders/ShaderFile.cs rename to SMCode/SM.OGL/Shaders/ShaderFile.cs index 68dd5bd..269e3b9 100644 --- a/SM.Core/Shaders/ShaderFile.cs +++ b/SMCode/SM.OGL/Shaders/ShaderFile.cs @@ -34,7 +34,7 @@ namespace SM.OGL.Shaders GL.ShaderSource(_id, _data); GL.CompileShader(_id); } - GL.AttachShader(_id, shader); + GL.AttachShader(shader, _id); } } } \ No newline at end of file diff --git a/SM.Core/Shaders/ShaderFileCollection.cs b/SMCode/SM.OGL/Shaders/ShaderFileCollection.cs similarity index 93% rename from SM.Core/Shaders/ShaderFileCollection.cs rename to SMCode/SM.OGL/Shaders/ShaderFileCollection.cs index ad58e53..83ff790 100644 --- a/SM.Core/Shaders/ShaderFileCollection.cs +++ b/SMCode/SM.OGL/Shaders/ShaderFileCollection.cs @@ -1,4 +1,5 @@ -using OpenTK.Graphics.OpenGL4; +using System.Collections.Generic; +using OpenTK.Graphics.OpenGL4; namespace SM.OGL.Shaders { diff --git a/SM.Core/Shaders/Uniform.cs b/SMCode/SM.OGL/Shaders/Uniform.cs similarity index 100% rename from SM.Core/Shaders/Uniform.cs rename to SMCode/SM.OGL/Shaders/Uniform.cs diff --git a/SM.Core/Shaders/UniformCollection.cs b/SMCode/SM.OGL/Shaders/UniformCollection.cs similarity index 100% rename from SM.Core/Shaders/UniformCollection.cs rename to SMCode/SM.OGL/Shaders/UniformCollection.cs diff --git a/SM.Core/packages.config b/SMCode/SM.OGL/packages.config similarity index 100% rename from SM.Core/packages.config rename to SMCode/SM.OGL/packages.config diff --git a/SM2D/Properties/AssemblyInfo.cs b/SMCode/SM2D/Properties/AssemblyInfo.cs similarity index 100% rename from SM2D/Properties/AssemblyInfo.cs rename to SMCode/SM2D/Properties/AssemblyInfo.cs diff --git a/SM2D/SM2D.csproj b/SMCode/SM2D/SM2D.csproj similarity index 100% rename from SM2D/SM2D.csproj rename to SMCode/SM2D/SM2D.csproj diff --git a/SM3D/Properties/AssemblyInfo.cs b/SMCode/SM3D/Properties/AssemblyInfo.cs similarity index 100% rename from SM3D/Properties/AssemblyInfo.cs rename to SMCode/SM3D/Properties/AssemblyInfo.cs diff --git a/SM3D/SM3D.csproj b/SMCode/SM3D/SM3D.csproj similarity index 100% rename from SM3D/SM3D.csproj rename to SMCode/SM3D/SM3D.csproj diff --git a/SMRendererV3.sln b/SMRendererV3.sln index 7e7e9e3..fd602d1 100644 --- a/SMRendererV3.sln +++ b/SMRendererV3.sln @@ -5,13 +5,13 @@ VisualStudioVersion = 16.0.30413.136 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SMRenderer", "SMRenderer", "{47EA2879-1D40-4683-BA6C-AB51F286EBDE}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SM.OGL", "SM.Core\SM.OGL.csproj", "{F604D684-BC1D-4819-88B5-8B5D03A17BE0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SM.OGL", "SMCode\SM.OGL\SM.OGL.csproj", "{F604D684-BC1D-4819-88B5-8B5D03A17BE0}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SM.Base", "SM.Base\SM.Base.csproj", "{8E733844-4204-43E7-B3DC-3913CDDABB0D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SM.Base", "SMCode\SM.Base\SM.Base.csproj", "{8E733844-4204-43E7-B3DC-3913CDDABB0D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SM3D", "SM3D\SM3D.csproj", "{9BECA849-E6E9-4E15-83A6-ADD8C18065CB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SM3D", "SMCode\SM3D\SM3D.csproj", "{9BECA849-E6E9-4E15-83A6-ADD8C18065CB}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SM2D", "SM2D\SM2D.csproj", "{A4565538-625A-42C6-A330-DD4F1ABB3986}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SM2D", "SMCode\SM2D\SM2D.csproj", "{A4565538-625A-42C6-A330-DD4F1ABB3986}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SM_TEST", "SM_TEST\SM_TEST.csproj", "{6D4FB8E6-4D0B-4928-8F9E-EF5C2FBF44E8}" EndProject diff --git a/SM_TEST/SM_TEST.csproj b/SM_TEST/SM_TEST.csproj index 1c6d4db..a9e4ca0 100644 --- a/SM_TEST/SM_TEST.csproj +++ b/SM_TEST/SM_TEST.csproj @@ -55,11 +55,11 @@ - + {8e733844-4204-43e7-b3dc-3913cddabb0d} SM.Base - + {f604d684-bc1d-4819-88b5-8b5d03a17be0} SM.OGL