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