From f6ed3c0fbf21c89ac20aca254274a4597d125052 Mon Sep 17 00:00:00 2001 From: neokabuto Date: Sun, 2 Jun 2019 17:05:42 -0500 Subject: [PATCH 01/18] Tutorial 9-3 --- OpenTKTutorial9-3/OpenTKTutorial9-3/Cube.cs | 2 +- OpenTKTutorial9-3/OpenTKTutorial9-3/Game.cs | 14 +++++++------- OpenTKTutorial9-3/OpenTKTutorial9-3/ObjVolume.cs | 2 +- .../OpenTKTutorial9-3/OpenTKTutorial9-3.csproj | 5 +++-- .../OpenTKTutorial9-3/ShaderProgram.cs | 9 +++++---- .../OpenTKTutorial9-3/packages.config | 2 +- 6 files changed, 18 insertions(+), 16 deletions(-) diff --git a/OpenTKTutorial9-3/OpenTKTutorial9-3/Cube.cs b/OpenTKTutorial9-3/OpenTKTutorial9-3/Cube.cs index c64b49f..54b92b4 100644 --- a/OpenTKTutorial9-3/OpenTKTutorial9-3/Cube.cs +++ b/OpenTKTutorial9-3/OpenTKTutorial9-3/Cube.cs @@ -77,7 +77,7 @@ public override Vector3[] GetColorData() public override void CalculateModelMatrix() { - ModelMatrix = Matrix4.Scale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); + ModelMatrix = Matrix4.CreateScale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); } public override Vector2[] GetTextureCoords() diff --git a/OpenTKTutorial9-3/OpenTKTutorial9-3/Game.cs b/OpenTKTutorial9-3/OpenTKTutorial9-3/Game.cs index 058c9dc..0f59ac7 100644 --- a/OpenTKTutorial9-3/OpenTKTutorial9-3/Game.cs +++ b/OpenTKTutorial9-3/OpenTKTutorial9-3/Game.cs @@ -43,7 +43,7 @@ public Game() void initProgram() { - lastMousePos = new Vector2(Mouse.X, Mouse.Y); + lastMousePos = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); CursorVisible = false; cam.MouseSensitivity = 0.0025f; @@ -361,11 +361,11 @@ protected override void OnUpdateFrame(FrameEventArgs e) vertcount += v.VertCount; } - vertdata = verts.ToArray(); - indicedata = inds.ToArray(); - coldata = colors.ToArray(); - texcoorddata = texcoords.ToArray(); - normdata = normals.ToArray(); + vertdata = (Vector3[])verts.ToArray().Clone(); + indicedata = (int[])inds.ToArray().Clone(); + coldata = (Vector3[])colors.ToArray().Clone(); + texcoorddata = (Vector2[])texcoords.ToArray().Clone(); + normdata = (Vector3[])normals.ToArray().Clone(); GL.BindBuffer(BufferTarget.ArrayBuffer, shaders[activeShader].GetBuffer("vPosition")); @@ -513,7 +513,7 @@ int loadImage(string filename) Bitmap file = new Bitmap(filename); return loadImage(file); } - catch (FileNotFoundException e) + catch (FileNotFoundException) { return -1; } diff --git a/OpenTKTutorial9-3/OpenTKTutorial9-3/ObjVolume.cs b/OpenTKTutorial9-3/OpenTKTutorial9-3/ObjVolume.cs index 570bc7b..5e0f544 100644 --- a/OpenTKTutorial9-3/OpenTKTutorial9-3/ObjVolume.cs +++ b/OpenTKTutorial9-3/OpenTKTutorial9-3/ObjVolume.cs @@ -120,7 +120,7 @@ public override Vector2[] GetTextureCoords() /// public override void CalculateModelMatrix() { - ModelMatrix = Matrix4.Scale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); + ModelMatrix = Matrix4.CreateScale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); } /// diff --git a/OpenTKTutorial9-3/OpenTKTutorial9-3/OpenTKTutorial9-3.csproj b/OpenTKTutorial9-3/OpenTKTutorial9-3/OpenTKTutorial9-3.csproj index 1ce5f43..2bb49c7 100644 --- a/OpenTKTutorial9-3/OpenTKTutorial9-3/OpenTKTutorial9-3.csproj +++ b/OpenTKTutorial9-3/OpenTKTutorial9-3/OpenTKTutorial9-3.csproj @@ -55,8 +55,9 @@ MinimumRecommendedRules.ruleset - - ..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll + + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll + True diff --git a/OpenTKTutorial9-3/OpenTKTutorial9-3/ShaderProgram.cs b/OpenTKTutorial9-3/OpenTKTutorial9-3/ShaderProgram.cs index 07c0ad9..b46e571 100644 --- a/OpenTKTutorial9-3/OpenTKTutorial9-3/ShaderProgram.cs +++ b/OpenTKTutorial9-3/OpenTKTutorial9-3/ShaderProgram.cs @@ -74,9 +74,9 @@ public void Link() AttributeInfo info = new AttributeInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, name); + GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); info.address = GL.GetAttribLocation(ProgramID, info.name); @@ -88,9 +88,10 @@ public void Link() UniformInfo info = new UniformInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, name); + + GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); Uniforms.Add(name.ToString(), info); diff --git a/OpenTKTutorial9-3/OpenTKTutorial9-3/packages.config b/OpenTKTutorial9-3/OpenTKTutorial9-3/packages.config index feefdda..29bb252 100644 --- a/OpenTKTutorial9-3/OpenTKTutorial9-3/packages.config +++ b/OpenTKTutorial9-3/OpenTKTutorial9-3/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From ea44143269d995e7800eed8bef146b25a4d8e566 Mon Sep 17 00:00:00 2001 From: neokabuto Date: Sun, 2 Jun 2019 17:11:15 -0500 Subject: [PATCH 02/18] Tutorial 9-2 --- OpenTKTutorial9-2/OpenTKTutorial9-2/Cube.cs | 2 +- OpenTKTutorial9-2/OpenTKTutorial9-2/Game.cs | 14 +++++++------- OpenTKTutorial9-2/OpenTKTutorial9-2/ObjVolume.cs | 2 +- .../OpenTKTutorial9-2/OpenTKTutorial9-2.csproj | 5 +++-- .../OpenTKTutorial9-2/ShaderProgram.cs | 8 ++++---- .../OpenTKTutorial9-2/packages.config | 2 +- 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/OpenTKTutorial9-2/OpenTKTutorial9-2/Cube.cs b/OpenTKTutorial9-2/OpenTKTutorial9-2/Cube.cs index c64b49f..54b92b4 100644 --- a/OpenTKTutorial9-2/OpenTKTutorial9-2/Cube.cs +++ b/OpenTKTutorial9-2/OpenTKTutorial9-2/Cube.cs @@ -77,7 +77,7 @@ public override Vector3[] GetColorData() public override void CalculateModelMatrix() { - ModelMatrix = Matrix4.Scale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); + ModelMatrix = Matrix4.CreateScale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); } public override Vector2[] GetTextureCoords() diff --git a/OpenTKTutorial9-2/OpenTKTutorial9-2/Game.cs b/OpenTKTutorial9-2/OpenTKTutorial9-2/Game.cs index 98e9e17..d20feb7 100644 --- a/OpenTKTutorial9-2/OpenTKTutorial9-2/Game.cs +++ b/OpenTKTutorial9-2/OpenTKTutorial9-2/Game.cs @@ -43,7 +43,7 @@ public Game() void initProgram() { - lastMousePos = new Vector2(Mouse.X, Mouse.Y); + lastMousePos = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); CursorVisible = false; cam.MouseSensitivity = 0.0025f; @@ -340,12 +340,12 @@ protected override void OnUpdateFrame(FrameEventArgs e) normals.AddRange(v.GetNormals().ToList()); vertcount += v.VertCount; } - - vertdata = verts.ToArray(); - indicedata = inds.ToArray(); - coldata = colors.ToArray(); - texcoorddata = texcoords.ToArray(); - normdata = normals.ToArray(); + + vertdata = (Vector3[])verts.ToArray().Clone(); + indicedata = (int[])inds.ToArray().Clone(); + coldata = (Vector3[])colors.ToArray().Clone(); + texcoorddata = (Vector2[])texcoords.ToArray().Clone(); + normdata = (Vector3[])normals.ToArray().Clone(); GL.BindBuffer(BufferTarget.ArrayBuffer, shaders[activeShader].GetBuffer("vPosition")); diff --git a/OpenTKTutorial9-2/OpenTKTutorial9-2/ObjVolume.cs b/OpenTKTutorial9-2/OpenTKTutorial9-2/ObjVolume.cs index 570bc7b..5e0f544 100644 --- a/OpenTKTutorial9-2/OpenTKTutorial9-2/ObjVolume.cs +++ b/OpenTKTutorial9-2/OpenTKTutorial9-2/ObjVolume.cs @@ -120,7 +120,7 @@ public override Vector2[] GetTextureCoords() /// public override void CalculateModelMatrix() { - ModelMatrix = Matrix4.Scale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); + ModelMatrix = Matrix4.CreateScale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); } /// diff --git a/OpenTKTutorial9-2/OpenTKTutorial9-2/OpenTKTutorial9-2.csproj b/OpenTKTutorial9-2/OpenTKTutorial9-2/OpenTKTutorial9-2.csproj index 4c3843b..a04a07f 100644 --- a/OpenTKTutorial9-2/OpenTKTutorial9-2/OpenTKTutorial9-2.csproj +++ b/OpenTKTutorial9-2/OpenTKTutorial9-2/OpenTKTutorial9-2.csproj @@ -55,8 +55,9 @@ MinimumRecommendedRules.ruleset - - ..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll + + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll + True diff --git a/OpenTKTutorial9-2/OpenTKTutorial9-2/ShaderProgram.cs b/OpenTKTutorial9-2/OpenTKTutorial9-2/ShaderProgram.cs index 07c0ad9..4039e0e 100644 --- a/OpenTKTutorial9-2/OpenTKTutorial9-2/ShaderProgram.cs +++ b/OpenTKTutorial9-2/OpenTKTutorial9-2/ShaderProgram.cs @@ -74,9 +74,9 @@ public void Link() AttributeInfo info = new AttributeInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, name); + GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); info.address = GL.GetAttribLocation(ProgramID, info.name); @@ -88,9 +88,9 @@ public void Link() UniformInfo info = new UniformInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, name); + GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); Uniforms.Add(name.ToString(), info); diff --git a/OpenTKTutorial9-2/OpenTKTutorial9-2/packages.config b/OpenTKTutorial9-2/OpenTKTutorial9-2/packages.config index feefdda..29bb252 100644 --- a/OpenTKTutorial9-2/OpenTKTutorial9-2/packages.config +++ b/OpenTKTutorial9-2/OpenTKTutorial9-2/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From 588c9f6523eeec10030f66bfcb05f0d548295a11 Mon Sep 17 00:00:00 2001 From: neokabuto Date: Sun, 2 Jun 2019 17:22:30 -0500 Subject: [PATCH 03/18] Tutorial 9-1 and race condition fix --- OpenTKTutorial9-1/OpenTKTutorial9-1/Cube.cs | 2 +- OpenTKTutorial9-1/OpenTKTutorial9-1/Game.cs | 18 ++++++++++++------ .../OpenTKTutorial9-1/ObjVolume.cs | 2 +- .../OpenTKTutorial9-1/OpenTKTutorial9-1.csproj | 5 +++-- .../OpenTKTutorial9-1/ShaderProgram.cs | 9 +++++---- .../OpenTKTutorial9-1/packages.config | 2 +- OpenTKTutorial9-2/OpenTKTutorial9-2/Game.cs | 6 ++++++ OpenTKTutorial9-3/OpenTKTutorial9-3/Game.cs | 6 ++++++ 8 files changed, 35 insertions(+), 15 deletions(-) diff --git a/OpenTKTutorial9-1/OpenTKTutorial9-1/Cube.cs b/OpenTKTutorial9-1/OpenTKTutorial9-1/Cube.cs index c64b49f..54b92b4 100644 --- a/OpenTKTutorial9-1/OpenTKTutorial9-1/Cube.cs +++ b/OpenTKTutorial9-1/OpenTKTutorial9-1/Cube.cs @@ -77,7 +77,7 @@ public override Vector3[] GetColorData() public override void CalculateModelMatrix() { - ModelMatrix = Matrix4.Scale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); + ModelMatrix = Matrix4.CreateScale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); } public override Vector2[] GetTextureCoords() diff --git a/OpenTKTutorial9-1/OpenTKTutorial9-1/Game.cs b/OpenTKTutorial9-1/OpenTKTutorial9-1/Game.cs index 7489c46..07a7cd8 100644 --- a/OpenTKTutorial9-1/OpenTKTutorial9-1/Game.cs +++ b/OpenTKTutorial9-1/OpenTKTutorial9-1/Game.cs @@ -43,7 +43,7 @@ public Game() void initProgram() { - lastMousePos = new Vector2(Mouse.X, Mouse.Y); + lastMousePos = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); CursorVisible = false; GL.GenBuffers(1, out ibo_elements); @@ -164,6 +164,12 @@ protected override void OnRenderFrame(FrameEventArgs e) GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.Enable(EnableCap.DepthTest); + // Prevent rendering with no data + if (vertdata == null) + { + return; + } + GL.UseProgram(shaders[activeShader].ProgramID); shaders[activeShader].EnableVertexAttribArrays(); @@ -289,11 +295,11 @@ protected override void OnUpdateFrame(FrameEventArgs e) vertcount += v.VertCount; } - vertdata = verts.ToArray(); - indicedata = inds.ToArray(); - coldata = colors.ToArray(); - texcoorddata = texcoords.ToArray(); - normdata = normals.ToArray(); + vertdata = (Vector3[])verts.ToArray().Clone(); + indicedata = (int[])inds.ToArray().Clone(); + coldata = (Vector3[])colors.ToArray().Clone(); + texcoorddata = (Vector2[])texcoords.ToArray().Clone(); + normdata = (Vector3[])normals.ToArray().Clone(); GL.BindBuffer(BufferTarget.ArrayBuffer, shaders[activeShader].GetBuffer("vPosition")); diff --git a/OpenTKTutorial9-1/OpenTKTutorial9-1/ObjVolume.cs b/OpenTKTutorial9-1/OpenTKTutorial9-1/ObjVolume.cs index 570bc7b..5e0f544 100644 --- a/OpenTKTutorial9-1/OpenTKTutorial9-1/ObjVolume.cs +++ b/OpenTKTutorial9-1/OpenTKTutorial9-1/ObjVolume.cs @@ -120,7 +120,7 @@ public override Vector2[] GetTextureCoords() /// public override void CalculateModelMatrix() { - ModelMatrix = Matrix4.Scale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); + ModelMatrix = Matrix4.CreateScale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); } /// diff --git a/OpenTKTutorial9-1/OpenTKTutorial9-1/OpenTKTutorial9-1.csproj b/OpenTKTutorial9-1/OpenTKTutorial9-1/OpenTKTutorial9-1.csproj index d6dbaa4..46323de 100644 --- a/OpenTKTutorial9-1/OpenTKTutorial9-1/OpenTKTutorial9-1.csproj +++ b/OpenTKTutorial9-1/OpenTKTutorial9-1/OpenTKTutorial9-1.csproj @@ -55,8 +55,9 @@ MinimumRecommendedRules.ruleset - - ..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll + + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll + True diff --git a/OpenTKTutorial9-1/OpenTKTutorial9-1/ShaderProgram.cs b/OpenTKTutorial9-1/OpenTKTutorial9-1/ShaderProgram.cs index 07c0ad9..b46e571 100644 --- a/OpenTKTutorial9-1/OpenTKTutorial9-1/ShaderProgram.cs +++ b/OpenTKTutorial9-1/OpenTKTutorial9-1/ShaderProgram.cs @@ -74,9 +74,9 @@ public void Link() AttributeInfo info = new AttributeInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, name); + GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); info.address = GL.GetAttribLocation(ProgramID, info.name); @@ -88,9 +88,10 @@ public void Link() UniformInfo info = new UniformInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, name); + + GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); Uniforms.Add(name.ToString(), info); diff --git a/OpenTKTutorial9-1/OpenTKTutorial9-1/packages.config b/OpenTKTutorial9-1/OpenTKTutorial9-1/packages.config index feefdda..29bb252 100644 --- a/OpenTKTutorial9-1/OpenTKTutorial9-1/packages.config +++ b/OpenTKTutorial9-1/OpenTKTutorial9-1/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/OpenTKTutorial9-2/OpenTKTutorial9-2/Game.cs b/OpenTKTutorial9-2/OpenTKTutorial9-2/Game.cs index d20feb7..67613d2 100644 --- a/OpenTKTutorial9-2/OpenTKTutorial9-2/Game.cs +++ b/OpenTKTutorial9-2/OpenTKTutorial9-2/Game.cs @@ -200,6 +200,12 @@ protected override void OnRenderFrame(FrameEventArgs e) GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.Enable(EnableCap.DepthTest); + // Prevent rendering with no data + if (vertdata == null) + { + return; + } + GL.UseProgram(shaders[activeShader].ProgramID); shaders[activeShader].EnableVertexAttribArrays(); diff --git a/OpenTKTutorial9-3/OpenTKTutorial9-3/Game.cs b/OpenTKTutorial9-3/OpenTKTutorial9-3/Game.cs index 0f59ac7..3d1ddd8 100644 --- a/OpenTKTutorial9-3/OpenTKTutorial9-3/Game.cs +++ b/OpenTKTutorial9-3/OpenTKTutorial9-3/Game.cs @@ -194,6 +194,12 @@ protected override void OnRenderFrame(FrameEventArgs e) GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.Enable(EnableCap.DepthTest); + // Prevent rendering with no data + if (vertdata == null) + { + return; + } + GL.UseProgram(shaders[activeShader].ProgramID); shaders[activeShader].EnableVertexAttribArrays(); From bdbd37d99ffcba67dbafc1956fc5c86af4da465c Mon Sep 17 00:00:00 2001 From: neokabuto Date: Sun, 2 Jun 2019 17:35:27 -0500 Subject: [PATCH 04/18] Tutorial 8-2 --- OpenTKTutorial8-2/OpenTKTutorial8-2/Cube.cs | 2 +- OpenTKTutorial8-2/OpenTKTutorial8-2/Game.cs | 8 +++++- .../OpenTKTutorial8-2/ObjVolume.cs | 4 +-- .../OpenTKTutorial8-2/OpenTK.dll.config | 25 ------------------- .../OpenTKTutorial8-2.csproj | 5 ++-- .../OpenTKTutorial8-2/ShaderProgram.cs | 13 +++++----- .../OpenTKTutorial8-2/packages.config | 2 +- 7 files changed, 20 insertions(+), 39 deletions(-) delete mode 100644 OpenTKTutorial8-2/OpenTKTutorial8-2/OpenTK.dll.config diff --git a/OpenTKTutorial8-2/OpenTKTutorial8-2/Cube.cs b/OpenTKTutorial8-2/OpenTKTutorial8-2/Cube.cs index 119fc80..9db2c51 100644 --- a/OpenTKTutorial8-2/OpenTKTutorial8-2/Cube.cs +++ b/OpenTKTutorial8-2/OpenTKTutorial8-2/Cube.cs @@ -77,7 +77,7 @@ public override Vector3[] GetColorData() public override void CalculateModelMatrix() { - ModelMatrix = Matrix4.Scale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); + ModelMatrix = Matrix4.CreateScale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); } public override Vector2[] GetTextureCoords() diff --git a/OpenTKTutorial8-2/OpenTKTutorial8-2/Game.cs b/OpenTKTutorial8-2/OpenTKTutorial8-2/Game.cs index 6870dc3..2e304b4 100644 --- a/OpenTKTutorial8-2/OpenTKTutorial8-2/Game.cs +++ b/OpenTKTutorial8-2/OpenTKTutorial8-2/Game.cs @@ -42,7 +42,7 @@ public Game() void initProgram() { - lastMousePos = new Vector2(Mouse.X, Mouse.Y); + lastMousePos = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); CursorVisible = false; cam.MouseSensitivity = 0.0025f; @@ -146,6 +146,12 @@ protected override void OnRenderFrame(FrameEventArgs e) GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.Enable(EnableCap.DepthTest); + // Prevent rendering with no data + if (vertdata == null) + { + return; + } + GL.UseProgram(shaders[activeShader].ProgramID); shaders[activeShader].EnableVertexAttribArrays(); diff --git a/OpenTKTutorial8-2/OpenTKTutorial8-2/ObjVolume.cs b/OpenTKTutorial8-2/OpenTKTutorial8-2/ObjVolume.cs index 681335b..99459ab 100644 --- a/OpenTKTutorial8-2/OpenTKTutorial8-2/ObjVolume.cs +++ b/OpenTKTutorial8-2/OpenTKTutorial8-2/ObjVolume.cs @@ -120,7 +120,7 @@ public override Vector2[] GetTextureCoords() /// public override void CalculateModelMatrix() { - ModelMatrix = Matrix4.Scale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); + ModelMatrix = Matrix4.CreateScale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); } /// @@ -138,7 +138,7 @@ public static ObjVolume LoadFromFile(string filename) obj = LoadFromString(reader.ReadToEnd()); } } - catch (FileNotFoundException) + catch (FileNotFoundException e) { Console.WriteLine("File not found: {0}", filename); } diff --git a/OpenTKTutorial8-2/OpenTKTutorial8-2/OpenTK.dll.config b/OpenTKTutorial8-2/OpenTKTutorial8-2/OpenTK.dll.config deleted file mode 100644 index 7098d39..0000000 --- a/OpenTKTutorial8-2/OpenTKTutorial8-2/OpenTK.dll.config +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/OpenTKTutorial8-2/OpenTKTutorial8-2/OpenTKTutorial8-2.csproj b/OpenTKTutorial8-2/OpenTKTutorial8-2/OpenTKTutorial8-2.csproj index c72ca7c..f57c9c4 100644 --- a/OpenTKTutorial8-2/OpenTKTutorial8-2/OpenTKTutorial8-2.csproj +++ b/OpenTKTutorial8-2/OpenTKTutorial8-2/OpenTKTutorial8-2.csproj @@ -55,8 +55,8 @@ MinimumRecommendedRules.ruleset - - ..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll + + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll True @@ -89,7 +89,6 @@ Always - Always diff --git a/OpenTKTutorial8-2/OpenTKTutorial8-2/ShaderProgram.cs b/OpenTKTutorial8-2/OpenTKTutorial8-2/ShaderProgram.cs index 4a2e013..fb557fd 100644 --- a/OpenTKTutorial8-2/OpenTKTutorial8-2/ShaderProgram.cs +++ b/OpenTKTutorial8-2/OpenTKTutorial8-2/ShaderProgram.cs @@ -66,17 +66,17 @@ public void Link() Console.WriteLine(GL.GetProgramInfoLog(ProgramID)); - GL.GetProgram(ProgramID, GetProgramParameterName.ActiveAttributes, out AttributeCount); - GL.GetProgram(ProgramID, GetProgramParameterName.ActiveUniforms, out UniformCount); + GL.GetProgram(ProgramID, ProgramParameter.ActiveAttributes, out AttributeCount); + GL.GetProgram(ProgramID, ProgramParameter.ActiveUniforms, out UniformCount); for (int i = 0; i < AttributeCount; i++) { AttributeInfo info = new AttributeInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, name); + GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); info.address = GL.GetAttribLocation(ProgramID, info.name); @@ -88,9 +88,10 @@ public void Link() UniformInfo info = new UniformInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, name); + + GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); Uniforms.Add(name.ToString(), info); diff --git a/OpenTKTutorial8-2/OpenTKTutorial8-2/packages.config b/OpenTKTutorial8-2/OpenTKTutorial8-2/packages.config index feefdda..29bb252 100644 --- a/OpenTKTutorial8-2/OpenTKTutorial8-2/packages.config +++ b/OpenTKTutorial8-2/OpenTKTutorial8-2/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From 87ff5f2df56035ccbf85359d320aef22c3bfecd6 Mon Sep 17 00:00:00 2001 From: neokabuto Date: Sun, 2 Jun 2019 17:35:46 -0500 Subject: [PATCH 05/18] Tutorial 8-1 --- OpenTKTutorial8-1/OpenTKTutorial8/Game.cs | 8 +++++++- .../OpenTKTutorial8/OpenTKTutorial8.csproj | 4 ++-- OpenTKTutorial8-1/OpenTKTutorial8/ShaderProgram.cs | 13 +++++++------ OpenTKTutorial8-1/OpenTKTutorial8/packages.config | 2 +- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/OpenTKTutorial8-1/OpenTKTutorial8/Game.cs b/OpenTKTutorial8-1/OpenTKTutorial8/Game.cs index bf93c31..2c08493 100644 --- a/OpenTKTutorial8-1/OpenTKTutorial8/Game.cs +++ b/OpenTKTutorial8-1/OpenTKTutorial8/Game.cs @@ -42,7 +42,7 @@ public Game() void initProgram() { - lastMousePos = new Vector2(Mouse.X, Mouse.Y); + lastMousePos = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); CursorVisible = false; cam.MouseSensitivity = 0.0025f; @@ -91,6 +91,12 @@ protected override void OnRenderFrame(FrameEventArgs e) GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.Enable(EnableCap.DepthTest); + // Prevent rendering with no data + if (vertdata == null) + { + return; + } + shaders[activeShader].EnableVertexAttribArrays(); int indiceat = 0; diff --git a/OpenTKTutorial8-1/OpenTKTutorial8/OpenTKTutorial8.csproj b/OpenTKTutorial8-1/OpenTKTutorial8/OpenTKTutorial8.csproj index cefca85..35fb49a 100644 --- a/OpenTKTutorial8-1/OpenTKTutorial8/OpenTKTutorial8.csproj +++ b/OpenTKTutorial8-1/OpenTKTutorial8/OpenTKTutorial8.csproj @@ -37,8 +37,8 @@ OpenTKTutorial8.Program - - ..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll + + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll True diff --git a/OpenTKTutorial8-1/OpenTKTutorial8/ShaderProgram.cs b/OpenTKTutorial8-1/OpenTKTutorial8/ShaderProgram.cs index 4a2e013..fb557fd 100644 --- a/OpenTKTutorial8-1/OpenTKTutorial8/ShaderProgram.cs +++ b/OpenTKTutorial8-1/OpenTKTutorial8/ShaderProgram.cs @@ -66,17 +66,17 @@ public void Link() Console.WriteLine(GL.GetProgramInfoLog(ProgramID)); - GL.GetProgram(ProgramID, GetProgramParameterName.ActiveAttributes, out AttributeCount); - GL.GetProgram(ProgramID, GetProgramParameterName.ActiveUniforms, out UniformCount); + GL.GetProgram(ProgramID, ProgramParameter.ActiveAttributes, out AttributeCount); + GL.GetProgram(ProgramID, ProgramParameter.ActiveUniforms, out UniformCount); for (int i = 0; i < AttributeCount; i++) { AttributeInfo info = new AttributeInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, name); + GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); info.address = GL.GetAttribLocation(ProgramID, info.name); @@ -88,9 +88,10 @@ public void Link() UniformInfo info = new UniformInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, name); + + GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); Uniforms.Add(name.ToString(), info); diff --git a/OpenTKTutorial8-1/OpenTKTutorial8/packages.config b/OpenTKTutorial8-1/OpenTKTutorial8/packages.config index feefdda..29bb252 100644 --- a/OpenTKTutorial8-1/OpenTKTutorial8/packages.config +++ b/OpenTKTutorial8-1/OpenTKTutorial8/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From ecc2e4d2ec1d6e697321d75d5359b851c43f86f4 Mon Sep 17 00:00:00 2001 From: neokabuto Date: Sun, 2 Jun 2019 20:54:43 -0500 Subject: [PATCH 06/18] Tutorial 7 --- OpenTKTutorial7/OpenTKTutorial7/Cube.cs | 2 +- OpenTKTutorial7/OpenTKTutorial7/Game.cs | 8 +++++++- OpenTKTutorial7/OpenTKTutorial7/ObjVolume.cs | 2 +- OpenTKTutorial7/OpenTKTutorial7/OpenTKTutorial7.csproj | 4 ++-- OpenTKTutorial7/OpenTKTutorial7/ShaderProgram.cs | 8 ++++---- OpenTKTutorial7/OpenTKTutorial7/packages.config | 2 +- 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/OpenTKTutorial7/OpenTKTutorial7/Cube.cs b/OpenTKTutorial7/OpenTKTutorial7/Cube.cs index 734c438..e52cf28 100644 --- a/OpenTKTutorial7/OpenTKTutorial7/Cube.cs +++ b/OpenTKTutorial7/OpenTKTutorial7/Cube.cs @@ -77,7 +77,7 @@ public override Vector3[] GetColorData() public override void CalculateModelMatrix() { - ModelMatrix = Matrix4.Scale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); + ModelMatrix = Matrix4.CreateScale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); } public override Vector2[] GetTextureCoords() diff --git a/OpenTKTutorial7/OpenTKTutorial7/Game.cs b/OpenTKTutorial7/OpenTKTutorial7/Game.cs index 0e4690d..37803fb 100644 --- a/OpenTKTutorial7/OpenTKTutorial7/Game.cs +++ b/OpenTKTutorial7/OpenTKTutorial7/Game.cs @@ -36,7 +36,7 @@ public Game() void initProgram() { - lastMousePos = new Vector2(Mouse.X, Mouse.Y); + lastMousePos = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); CursorVisible = false; cam.MouseSensitivity = 0.0025f; @@ -94,6 +94,12 @@ protected override void OnRenderFrame(FrameEventArgs e) GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.Enable(EnableCap.DepthTest); + // Prevent rendering with no data + if (vertdata == null) + { + return; + } + shaders[activeShader].EnableVertexAttribArrays(); int indiceat = 0; diff --git a/OpenTKTutorial7/OpenTKTutorial7/ObjVolume.cs b/OpenTKTutorial7/OpenTKTutorial7/ObjVolume.cs index 083fb31..9953fc6 100644 --- a/OpenTKTutorial7/OpenTKTutorial7/ObjVolume.cs +++ b/OpenTKTutorial7/OpenTKTutorial7/ObjVolume.cs @@ -71,7 +71,7 @@ public override Vector2[] GetTextureCoords() /// public override void CalculateModelMatrix() { - ModelMatrix = Matrix4.Scale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); + ModelMatrix = Matrix4.CreateScale(Scale) * Matrix4.CreateRotationX(Rotation.X) * Matrix4.CreateRotationY(Rotation.Y) * Matrix4.CreateRotationZ(Rotation.Z) * Matrix4.CreateTranslation(Position); } /// diff --git a/OpenTKTutorial7/OpenTKTutorial7/OpenTKTutorial7.csproj b/OpenTKTutorial7/OpenTKTutorial7/OpenTKTutorial7.csproj index 8b2ed91..6ad5497 100644 --- a/OpenTKTutorial7/OpenTKTutorial7/OpenTKTutorial7.csproj +++ b/OpenTKTutorial7/OpenTKTutorial7/OpenTKTutorial7.csproj @@ -37,8 +37,8 @@ OpenTKTutorial7.Program - - ..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll + + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll True diff --git a/OpenTKTutorial7/OpenTKTutorial7/ShaderProgram.cs b/OpenTKTutorial7/OpenTKTutorial7/ShaderProgram.cs index 827a0c2..3db1146 100644 --- a/OpenTKTutorial7/OpenTKTutorial7/ShaderProgram.cs +++ b/OpenTKTutorial7/OpenTKTutorial7/ShaderProgram.cs @@ -74,9 +74,9 @@ public void Link() AttributeInfo info = new AttributeInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, name); + GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); info.address = GL.GetAttribLocation(ProgramID, info.name); @@ -88,9 +88,9 @@ public void Link() UniformInfo info = new UniformInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, name); + GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); Uniforms.Add(name.ToString(), info); diff --git a/OpenTKTutorial7/OpenTKTutorial7/packages.config b/OpenTKTutorial7/OpenTKTutorial7/packages.config index feefdda..29bb252 100644 --- a/OpenTKTutorial7/OpenTKTutorial7/packages.config +++ b/OpenTKTutorial7/OpenTKTutorial7/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From ed8d7ee74906f97f995846ce9a235c382d7fb48c Mon Sep 17 00:00:00 2001 From: neokabuto Date: Sun, 2 Jun 2019 20:58:19 -0500 Subject: [PATCH 07/18] Tutorial 6 --- OpenTKTutorial6/OpenTKTutorial6/Game.cs | 8 +++++++- OpenTKTutorial6/OpenTKTutorial6/OpenTKTutorial6.csproj | 4 ++-- OpenTKTutorial6/OpenTKTutorial6/ShaderProgram.cs | 8 ++++---- OpenTKTutorial6/OpenTKTutorial6/packages.config | 2 +- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/OpenTKTutorial6/OpenTKTutorial6/Game.cs b/OpenTKTutorial6/OpenTKTutorial6/Game.cs index 935653b..bac974c 100644 --- a/OpenTKTutorial6/OpenTKTutorial6/Game.cs +++ b/OpenTKTutorial6/OpenTKTutorial6/Game.cs @@ -36,7 +36,7 @@ public Game() void initProgram() { - lastMousePos = new Vector2(Mouse.X, Mouse.Y); + lastMousePos = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); CursorVisible = false; cam.MouseSensitivity = 0.0025f; @@ -84,6 +84,12 @@ protected override void OnRenderFrame(FrameEventArgs e) GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.Enable(EnableCap.DepthTest); + // Prevent rendering with no data + if (vertdata == null) + { + return; + } + shaders[activeShader].EnableVertexAttribArrays(); int indiceat = 0; diff --git a/OpenTKTutorial6/OpenTKTutorial6/OpenTKTutorial6.csproj b/OpenTKTutorial6/OpenTKTutorial6/OpenTKTutorial6.csproj index 0b9f32a..d9b00a1 100644 --- a/OpenTKTutorial6/OpenTKTutorial6/OpenTKTutorial6.csproj +++ b/OpenTKTutorial6/OpenTKTutorial6/OpenTKTutorial6.csproj @@ -34,8 +34,8 @@ 4 - - ..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll + + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll True diff --git a/OpenTKTutorial6/OpenTKTutorial6/ShaderProgram.cs b/OpenTKTutorial6/OpenTKTutorial6/ShaderProgram.cs index 6dcd9bb..8dab993 100644 --- a/OpenTKTutorial6/OpenTKTutorial6/ShaderProgram.cs +++ b/OpenTKTutorial6/OpenTKTutorial6/ShaderProgram.cs @@ -74,9 +74,9 @@ public void Link() AttributeInfo info = new AttributeInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, name); + GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); info.address = GL.GetAttribLocation(ProgramID, info.name); @@ -88,9 +88,9 @@ public void Link() UniformInfo info = new UniformInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, name); + GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); Uniforms.Add(name.ToString(), info); diff --git a/OpenTKTutorial6/OpenTKTutorial6/packages.config b/OpenTKTutorial6/OpenTKTutorial6/packages.config index feefdda..29bb252 100644 --- a/OpenTKTutorial6/OpenTKTutorial6/packages.config +++ b/OpenTKTutorial6/OpenTKTutorial6/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From 2a5a8a7a00f338f3761aaade8c07034b4f038887 Mon Sep 17 00:00:00 2001 From: neokabuto Date: Sun, 2 Jun 2019 21:09:17 -0500 Subject: [PATCH 08/18] Tutorial 5 --- OpenTKTutorial5/OpenTKTutorial5.sln | 12 ++++++++++-- OpenTKTutorial5/OpenTKTutorial5/Game.cs | 8 +++++++- .../OpenTKTutorial5/OpenTKTutorial5.csproj | 12 ++++++++++-- OpenTKTutorial5/OpenTKTutorial5/packages.config | 2 +- 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/OpenTKTutorial5/OpenTKTutorial5.sln b/OpenTKTutorial5/OpenTKTutorial5.sln index a0ceffd..761ae9d 100644 --- a/OpenTKTutorial5/OpenTKTutorial5.sln +++ b/OpenTKTutorial5/OpenTKTutorial5.sln @@ -1,16 +1,24 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTKTutorial5", "OpenTKTutorial5\OpenTKTutorial5.csproj", "{CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x64.ActiveCfg = Debug|x64 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x64.Build.0 = Debug|x64 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x86.ActiveCfg = Debug|x86 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x86.Build.0 = Debug|x86 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x64.ActiveCfg = Release|x64 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x64.Build.0 = Release|x64 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x86.ActiveCfg = Release|x86 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x86.Build.0 = Release|x86 EndGlobalSection diff --git a/OpenTKTutorial5/OpenTKTutorial5/Game.cs b/OpenTKTutorial5/OpenTKTutorial5/Game.cs index 714b35b..9d2cec2 100644 --- a/OpenTKTutorial5/OpenTKTutorial5/Game.cs +++ b/OpenTKTutorial5/OpenTKTutorial5/Game.cs @@ -106,7 +106,7 @@ public Game() void initProgram() { - lastMousePos = new Vector2(Mouse.X, Mouse.Y); + lastMousePos = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); CursorVisible = false; cam.MouseSensitivity = 0.0025f; @@ -191,6 +191,12 @@ protected override void OnRenderFrame(FrameEventArgs e) GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.Enable(EnableCap.DepthTest); + // Prevent rendering with no data + if (vertdata == null) + { + return; + } + GL.EnableVertexAttribArray(attribute_vpos); GL.EnableVertexAttribArray(attribute_vcol); diff --git a/OpenTKTutorial5/OpenTKTutorial5/OpenTKTutorial5.csproj b/OpenTKTutorial5/OpenTKTutorial5/OpenTKTutorial5.csproj index 17b97ad..442a43a 100644 --- a/OpenTKTutorial5/OpenTKTutorial5/OpenTKTutorial5.csproj +++ b/OpenTKTutorial5/OpenTKTutorial5/OpenTKTutorial5.csproj @@ -33,9 +33,17 @@ prompt 4 + + x64 + bin\x64\Debug\ + + + x64 + bin\x64\Release\ + - - ..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll + + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll True diff --git a/OpenTKTutorial5/OpenTKTutorial5/packages.config b/OpenTKTutorial5/OpenTKTutorial5/packages.config index feefdda..29bb252 100644 --- a/OpenTKTutorial5/OpenTKTutorial5/packages.config +++ b/OpenTKTutorial5/OpenTKTutorial5/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From b04f969e15537746b54472bea39020b1a330af2d Mon Sep 17 00:00:00 2001 From: neokabuto Date: Mon, 3 Jun 2019 00:35:49 -0500 Subject: [PATCH 09/18] Tutorial 4 --- OpenTKTutorial4/OpenTKTutorial4/Game.cs | 6 ++++++ OpenTKTutorial4/OpenTKTutorial4/OpenTKTutorial4.csproj | 4 ++-- OpenTKTutorial4/OpenTKTutorial4/packages.config | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/OpenTKTutorial4/OpenTKTutorial4/Game.cs b/OpenTKTutorial4/OpenTKTutorial4/Game.cs index 55f72f5..57d246a 100644 --- a/OpenTKTutorial4/OpenTKTutorial4/Game.cs +++ b/OpenTKTutorial4/OpenTKTutorial4/Game.cs @@ -175,6 +175,12 @@ protected override void OnRenderFrame(FrameEventArgs e) GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.Enable(EnableCap.DepthTest); + // Prevent rendering with no data + if (vertdata == null) + { + return; + } + GL.EnableVertexAttribArray(attribute_vpos); GL.EnableVertexAttribArray(attribute_vcol); diff --git a/OpenTKTutorial4/OpenTKTutorial4/OpenTKTutorial4.csproj b/OpenTKTutorial4/OpenTKTutorial4/OpenTKTutorial4.csproj index a07f7f3..ad454ee 100644 --- a/OpenTKTutorial4/OpenTKTutorial4/OpenTKTutorial4.csproj +++ b/OpenTKTutorial4/OpenTKTutorial4/OpenTKTutorial4.csproj @@ -34,8 +34,8 @@ 4 - - ..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll + + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll True diff --git a/OpenTKTutorial4/OpenTKTutorial4/packages.config b/OpenTKTutorial4/OpenTKTutorial4/packages.config index feefdda..29bb252 100644 --- a/OpenTKTutorial4/OpenTKTutorial4/packages.config +++ b/OpenTKTutorial4/OpenTKTutorial4/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From 9413212cf064c59ae2563692fbae4fbfa0eeabb0 Mon Sep 17 00:00:00 2001 From: neokabuto Date: Mon, 3 Jun 2019 00:37:43 -0500 Subject: [PATCH 10/18] Tutorial 3 --- OpenTKTutorial3/OpenTKTutorial3.sln | 12 ++++++++++-- .../OpenTKTutorial3/OpenTKTutorial3.csproj | 12 ++++++++++-- OpenTKTutorial3/OpenTKTutorial3/packages.config | 2 +- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/OpenTKTutorial3/OpenTKTutorial3.sln b/OpenTKTutorial3/OpenTKTutorial3.sln index 6eb8133..67ea37d 100644 --- a/OpenTKTutorial3/OpenTKTutorial3.sln +++ b/OpenTKTutorial3/OpenTKTutorial3.sln @@ -1,16 +1,24 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTKTutorial3", "OpenTKTutorial3\OpenTKTutorial3.csproj", "{D1606287-F3D4-41D0-9FB8-00D2B2CFB408}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D1606287-F3D4-41D0-9FB8-00D2B2CFB408}.Debug|x64.ActiveCfg = Debug|x64 + {D1606287-F3D4-41D0-9FB8-00D2B2CFB408}.Debug|x64.Build.0 = Debug|x64 {D1606287-F3D4-41D0-9FB8-00D2B2CFB408}.Debug|x86.ActiveCfg = Debug|x86 {D1606287-F3D4-41D0-9FB8-00D2B2CFB408}.Debug|x86.Build.0 = Debug|x86 + {D1606287-F3D4-41D0-9FB8-00D2B2CFB408}.Release|x64.ActiveCfg = Release|x64 + {D1606287-F3D4-41D0-9FB8-00D2B2CFB408}.Release|x64.Build.0 = Release|x64 {D1606287-F3D4-41D0-9FB8-00D2B2CFB408}.Release|x86.ActiveCfg = Release|x86 {D1606287-F3D4-41D0-9FB8-00D2B2CFB408}.Release|x86.Build.0 = Release|x86 EndGlobalSection diff --git a/OpenTKTutorial3/OpenTKTutorial3/OpenTKTutorial3.csproj b/OpenTKTutorial3/OpenTKTutorial3/OpenTKTutorial3.csproj index 2723c67..da1c100 100644 --- a/OpenTKTutorial3/OpenTKTutorial3/OpenTKTutorial3.csproj +++ b/OpenTKTutorial3/OpenTKTutorial3/OpenTKTutorial3.csproj @@ -33,9 +33,17 @@ prompt 4 + + x64 + bin\x64\Debug\ + + + x64 + bin\x64\Release\ + - - ..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll + + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll True diff --git a/OpenTKTutorial3/OpenTKTutorial3/packages.config b/OpenTKTutorial3/OpenTKTutorial3/packages.config index feefdda..29bb252 100644 --- a/OpenTKTutorial3/OpenTKTutorial3/packages.config +++ b/OpenTKTutorial3/OpenTKTutorial3/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From 80fed2d0d8eb601bc4d8f82157afd2e5864e1c5e Mon Sep 17 00:00:00 2001 From: neokabuto Date: Mon, 3 Jun 2019 00:39:26 -0500 Subject: [PATCH 11/18] x64 for tut 4 --- OpenTKTutorial4/OpenTKTutorial4.sln | 12 ++++++++++-- .../OpenTKTutorial4/OpenTKTutorial4.csproj | 8 ++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/OpenTKTutorial4/OpenTKTutorial4.sln b/OpenTKTutorial4/OpenTKTutorial4.sln index 811b2b2..7ff4421 100644 --- a/OpenTKTutorial4/OpenTKTutorial4.sln +++ b/OpenTKTutorial4/OpenTKTutorial4.sln @@ -1,16 +1,24 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTKTutorial4", "OpenTKTutorial4\OpenTKTutorial4.csproj", "{CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x64.ActiveCfg = Debug|x64 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x64.Build.0 = Debug|x64 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x86.ActiveCfg = Debug|x86 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x86.Build.0 = Debug|x86 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x64.ActiveCfg = Release|x64 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x64.Build.0 = Release|x64 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x86.ActiveCfg = Release|x86 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x86.Build.0 = Release|x86 EndGlobalSection diff --git a/OpenTKTutorial4/OpenTKTutorial4/OpenTKTutorial4.csproj b/OpenTKTutorial4/OpenTKTutorial4/OpenTKTutorial4.csproj index ad454ee..3d304e4 100644 --- a/OpenTKTutorial4/OpenTKTutorial4/OpenTKTutorial4.csproj +++ b/OpenTKTutorial4/OpenTKTutorial4/OpenTKTutorial4.csproj @@ -33,6 +33,14 @@ prompt 4 + + x64 + bin\x64\Debug\ + + + x64 + bin\x64\Release\ + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll From 29971acd1e8e5bae766eaac8c1ef70178ab7eb65 Mon Sep 17 00:00:00 2001 From: neokabuto Date: Mon, 3 Jun 2019 00:40:37 -0500 Subject: [PATCH 12/18] Tutorials 1 and 2 --- OpenTKTutorial1/OpenTKTutorial1.sln | 12 ++++++++++-- .../OpenTKTutorial1/OpenTKTutorial1.csproj | 12 ++++++++++-- OpenTKTutorial1/OpenTKTutorial1/packages.config | 2 +- OpenTKTutorial2/OpenTKTutorial2.sln | 12 ++++++++++-- .../OpenTKTutorial2/OpenTKTutorial2.csproj | 12 ++++++++++-- OpenTKTutorial2/OpenTKTutorial2/packages.config | 2 +- 6 files changed, 42 insertions(+), 10 deletions(-) diff --git a/OpenTKTutorial1/OpenTKTutorial1.sln b/OpenTKTutorial1/OpenTKTutorial1.sln index 0a0b887..cdb687b 100644 --- a/OpenTKTutorial1/OpenTKTutorial1.sln +++ b/OpenTKTutorial1/OpenTKTutorial1.sln @@ -1,16 +1,24 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTKTutorial1", "OpenTKTutorial1\OpenTKTutorial1.csproj", "{D637FA9A-1AD4-48A1-9D15-A137F182DC54}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D637FA9A-1AD4-48A1-9D15-A137F182DC54}.Debug|x64.ActiveCfg = Debug|x64 + {D637FA9A-1AD4-48A1-9D15-A137F182DC54}.Debug|x64.Build.0 = Debug|x64 {D637FA9A-1AD4-48A1-9D15-A137F182DC54}.Debug|x86.ActiveCfg = Debug|x86 {D637FA9A-1AD4-48A1-9D15-A137F182DC54}.Debug|x86.Build.0 = Debug|x86 + {D637FA9A-1AD4-48A1-9D15-A137F182DC54}.Release|x64.ActiveCfg = Release|x64 + {D637FA9A-1AD4-48A1-9D15-A137F182DC54}.Release|x64.Build.0 = Release|x64 {D637FA9A-1AD4-48A1-9D15-A137F182DC54}.Release|x86.ActiveCfg = Release|x86 {D637FA9A-1AD4-48A1-9D15-A137F182DC54}.Release|x86.Build.0 = Release|x86 EndGlobalSection diff --git a/OpenTKTutorial1/OpenTKTutorial1/OpenTKTutorial1.csproj b/OpenTKTutorial1/OpenTKTutorial1/OpenTKTutorial1.csproj index 7fe8024..fdfb362 100644 --- a/OpenTKTutorial1/OpenTKTutorial1/OpenTKTutorial1.csproj +++ b/OpenTKTutorial1/OpenTKTutorial1/OpenTKTutorial1.csproj @@ -33,9 +33,17 @@ prompt 4 + + x64 + bin\x64\Debug\ + + + x64 + bin\x64\Release\ + - - ..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll + + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll True diff --git a/OpenTKTutorial1/OpenTKTutorial1/packages.config b/OpenTKTutorial1/OpenTKTutorial1/packages.config index feefdda..29bb252 100644 --- a/OpenTKTutorial1/OpenTKTutorial1/packages.config +++ b/OpenTKTutorial1/OpenTKTutorial1/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/OpenTKTutorial2/OpenTKTutorial2.sln b/OpenTKTutorial2/OpenTKTutorial2.sln index 191e49d..9049ddf 100644 --- a/OpenTKTutorial2/OpenTKTutorial2.sln +++ b/OpenTKTutorial2/OpenTKTutorial2.sln @@ -1,16 +1,24 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTKTutorial2", "OpenTKTutorial2\OpenTKTutorial2.csproj", "{A4FDF904-BC9E-4F80-975F-230F6AB095EF}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A4FDF904-BC9E-4F80-975F-230F6AB095EF}.Debug|x64.ActiveCfg = Debug|x64 + {A4FDF904-BC9E-4F80-975F-230F6AB095EF}.Debug|x64.Build.0 = Debug|x64 {A4FDF904-BC9E-4F80-975F-230F6AB095EF}.Debug|x86.ActiveCfg = Debug|x86 {A4FDF904-BC9E-4F80-975F-230F6AB095EF}.Debug|x86.Build.0 = Debug|x86 + {A4FDF904-BC9E-4F80-975F-230F6AB095EF}.Release|x64.ActiveCfg = Release|x64 + {A4FDF904-BC9E-4F80-975F-230F6AB095EF}.Release|x64.Build.0 = Release|x64 {A4FDF904-BC9E-4F80-975F-230F6AB095EF}.Release|x86.ActiveCfg = Release|x86 {A4FDF904-BC9E-4F80-975F-230F6AB095EF}.Release|x86.Build.0 = Release|x86 EndGlobalSection diff --git a/OpenTKTutorial2/OpenTKTutorial2/OpenTKTutorial2.csproj b/OpenTKTutorial2/OpenTKTutorial2/OpenTKTutorial2.csproj index 6e7d676..89ed10e 100644 --- a/OpenTKTutorial2/OpenTKTutorial2/OpenTKTutorial2.csproj +++ b/OpenTKTutorial2/OpenTKTutorial2/OpenTKTutorial2.csproj @@ -33,9 +33,17 @@ prompt 4 + + x64 + bin\x64\Debug\ + + + x64 + bin\x64\Release\ + - - ..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll + + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll True diff --git a/OpenTKTutorial2/OpenTKTutorial2/packages.config b/OpenTKTutorial2/OpenTKTutorial2/packages.config index feefdda..29bb252 100644 --- a/OpenTKTutorial2/OpenTKTutorial2/packages.config +++ b/OpenTKTutorial2/OpenTKTutorial2/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From bb9e6240b8665cb1ba0a8a9db66dfe098396fdec Mon Sep 17 00:00:00 2001 From: neokabuto Date: Mon, 3 Jun 2019 00:44:36 -0500 Subject: [PATCH 13/18] RT Example --- OpenTK_RTExample/OpenTK_RTExample/Game.cs | 4 ++-- OpenTK_RTExample/OpenTK_RTExample/OpenTK_RTExample.csproj | 4 ++-- OpenTK_RTExample/OpenTK_RTExample/ShaderProgram.cs | 8 ++++---- OpenTK_RTExample/OpenTK_RTExample/packages.config | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/OpenTK_RTExample/OpenTK_RTExample/Game.cs b/OpenTK_RTExample/OpenTK_RTExample/Game.cs index 2d11b1f..6da0c2a 100644 --- a/OpenTK_RTExample/OpenTK_RTExample/Game.cs +++ b/OpenTK_RTExample/OpenTK_RTExample/Game.cs @@ -82,7 +82,7 @@ void initProgram() { GL.Enable(EnableCap.Multisample); - lastMousePos = new Vector2(Mouse.X, Mouse.Y); + lastMousePos = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); CursorVisible = false; mainCamera.MouseSensitivity = 0.0025f; @@ -232,7 +232,7 @@ protected override void OnLoad(EventArgs e) protected override void OnRenderFrame(FrameEventArgs e) { - if (!resourcesLoaded) + if (!resourcesLoaded || vertdata == null) return; base.OnRenderFrame(e); diff --git a/OpenTK_RTExample/OpenTK_RTExample/OpenTK_RTExample.csproj b/OpenTK_RTExample/OpenTK_RTExample/OpenTK_RTExample.csproj index c263bce..e1f4d41 100644 --- a/OpenTK_RTExample/OpenTK_RTExample/OpenTK_RTExample.csproj +++ b/OpenTK_RTExample/OpenTK_RTExample/OpenTK_RTExample.csproj @@ -59,8 +59,8 @@ OpenTK_RTExample.Program - - ..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll + + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll True diff --git a/OpenTK_RTExample/OpenTK_RTExample/ShaderProgram.cs b/OpenTK_RTExample/OpenTK_RTExample/ShaderProgram.cs index 24b61f0..402453b 100644 --- a/OpenTK_RTExample/OpenTK_RTExample/ShaderProgram.cs +++ b/OpenTK_RTExample/OpenTK_RTExample/ShaderProgram.cs @@ -95,9 +95,9 @@ public void Link() AttributeInfo info = new AttributeInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, name); + GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); info.address = GL.GetAttribLocation(ProgramID, info.name); @@ -109,9 +109,9 @@ public void Link() UniformInfo info = new UniformInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, name); + GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, out name); info.name = name.ToString(); Uniforms.Add(name.ToString(), info); diff --git a/OpenTK_RTExample/OpenTK_RTExample/packages.config b/OpenTK_RTExample/OpenTK_RTExample/packages.config index feefdda..29bb252 100644 --- a/OpenTK_RTExample/OpenTK_RTExample/packages.config +++ b/OpenTK_RTExample/OpenTK_RTExample/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From 193897230692fbf9db952a129f01c483c122910e Mon Sep 17 00:00:00 2001 From: neokabuto Date: Mon, 3 Jun 2019 00:47:46 -0500 Subject: [PATCH 14/18] Sprites example --- TKSprites/TKSprites.sln | 12 ++++++++++-- TKSprites/TKSprites/ShaderProgram.cs | 16 ++++++++-------- TKSprites/TKSprites/TKSprites.cs | 2 +- TKSprites/TKSprites/TKSprites.csproj | 12 ++++++++++-- TKSprites/TKSprites/packages.config | 2 +- 5 files changed, 30 insertions(+), 14 deletions(-) diff --git a/TKSprites/TKSprites.sln b/TKSprites/TKSprites.sln index f1c5bcd..7feb7ee 100644 --- a/TKSprites/TKSprites.sln +++ b/TKSprites/TKSprites.sln @@ -1,16 +1,24 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TKSprites", "TKSprites\TKSprites.csproj", "{F81E9879-5A55-48EB-9C08-03589BE7DF97}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F81E9879-5A55-48EB-9C08-03589BE7DF97}.Debug|x64.ActiveCfg = Debug|x64 + {F81E9879-5A55-48EB-9C08-03589BE7DF97}.Debug|x64.Build.0 = Debug|x64 {F81E9879-5A55-48EB-9C08-03589BE7DF97}.Debug|x86.ActiveCfg = Debug|x86 {F81E9879-5A55-48EB-9C08-03589BE7DF97}.Debug|x86.Build.0 = Debug|x86 + {F81E9879-5A55-48EB-9C08-03589BE7DF97}.Release|x64.ActiveCfg = Release|x64 + {F81E9879-5A55-48EB-9C08-03589BE7DF97}.Release|x64.Build.0 = Release|x64 {F81E9879-5A55-48EB-9C08-03589BE7DF97}.Release|x86.ActiveCfg = Release|x86 {F81E9879-5A55-48EB-9C08-03589BE7DF97}.Release|x86.Build.0 = Release|x86 EndGlobalSection diff --git a/TKSprites/TKSprites/ShaderProgram.cs b/TKSprites/TKSprites/ShaderProgram.cs index 5b175c1..1d07716 100644 --- a/TKSprites/TKSprites/ShaderProgram.cs +++ b/TKSprites/TKSprites/ShaderProgram.cs @@ -77,13 +77,13 @@ public void Link() AttributeInfo info = new AttributeInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, name); + GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, out name); - info.name = name.ToString(); + info.name = name; info.address = GL.GetAttribLocation(ProgramID, info.name); - Attributes.Add(name.ToString(), info); + Attributes.Add(name, info); Console.WriteLine(name + " " + info.address); } @@ -92,12 +92,12 @@ public void Link() UniformInfo info = new UniformInfo(); int length = 0; - StringBuilder name = new StringBuilder(); + String name; - GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, name); + GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, out name); - info.name = name.ToString(); - Uniforms.Add(name.ToString(), info); + info.name = name; + Uniforms.Add(name, info); info.address = GL.GetUniformLocation(ProgramID, info.name); Console.WriteLine(name + " " + info.address); } diff --git a/TKSprites/TKSprites/TKSprites.cs b/TKSprites/TKSprites/TKSprites.cs index e6cf504..440996b 100644 --- a/TKSprites/TKSprites/TKSprites.cs +++ b/TKSprites/TKSprites/TKSprites.cs @@ -73,7 +73,7 @@ protected override void OnLoad(EventArgs e) // Enable blending based on the texture alpha GL.Enable(EnableCap.Blend); - GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha); + GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha); } /// diff --git a/TKSprites/TKSprites/TKSprites.csproj b/TKSprites/TKSprites/TKSprites.csproj index 93c7b76..8cc7469 100644 --- a/TKSprites/TKSprites/TKSprites.csproj +++ b/TKSprites/TKSprites/TKSprites.csproj @@ -36,14 +36,22 @@ TKSprites.TKSprites + + x64 + bin\x64\Debug\ + + + x64 + bin\x64\Release\ + - - ..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll + + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll True diff --git a/TKSprites/TKSprites/packages.config b/TKSprites/TKSprites/packages.config index feefdda..29bb252 100644 --- a/TKSprites/TKSprites/packages.config +++ b/TKSprites/TKSprites/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From 2046b91b70feb4a0920d6e0072794b6acef157bd Mon Sep 17 00:00:00 2001 From: neokabuto Date: Mon, 3 Jun 2019 22:09:18 -0500 Subject: [PATCH 15/18] Culture independent float parsing --- .../OpenTKTutorial9-3/ObjVolume.cs | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/OpenTKTutorial9-3/OpenTKTutorial9-3/ObjVolume.cs b/OpenTKTutorial9-3/OpenTKTutorial9-3/ObjVolume.cs index 5e0f544..8eef783 100644 --- a/OpenTKTutorial9-3/OpenTKTutorial9-3/ObjVolume.cs +++ b/OpenTKTutorial9-3/OpenTKTutorial9-3/ObjVolume.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.IO; using System.Linq; using OpenTK; @@ -160,6 +161,9 @@ public static ObjVolume LoadFromString(string obj) List normals = new List(); List texs = new List(); List> faces = new List>(); + + CultureInfo ci = (CultureInfo)CultureInfo.CurrentCulture.Clone(); + ci.NumberFormat.CurrencyDecimalSeparator = "."; // Base values verts.Add(new Vector3()); @@ -182,10 +186,10 @@ public static ObjVolume LoadFromString(string obj) { String[] vertparts = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - // Attempt to parse each part of the vertice - bool success = float.TryParse(vertparts[0], out vec.X); - success |= float.TryParse(vertparts[1], out vec.Y); - success |= float.TryParse(vertparts[2], out vec.Z); + // Attempt to parse each part of the vertex + bool success = float.TryParse(vertparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(vertparts[1], NumberStyles.Any, ci, out vec.Y); + success |= float.TryParse(vertparts[2], NumberStyles.Any, ci, out vec.Z); // If any of the parses failed, report the error if (!success) @@ -211,9 +215,9 @@ public static ObjVolume LoadFromString(string obj) { String[] texcoordparts = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - // Attempt to parse each part of the vertice - bool success = float.TryParse(texcoordparts[0], out vec.X); - success |= float.TryParse(texcoordparts[1], out vec.Y); + // Attempt to parse each part of the vertex + bool success = float.TryParse(texcoordparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(texcoordparts[1], NumberStyles.Any, ci, out vec.Y); // If any of the parses failed, report the error if (!success) @@ -239,10 +243,10 @@ public static ObjVolume LoadFromString(string obj) { String[] vertparts = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - // Attempt to parse each part of the vertice - bool success = float.TryParse(vertparts[0], out vec.X); - success |= float.TryParse(vertparts[1], out vec.Y); - success |= float.TryParse(vertparts[2], out vec.Z); + // Attempt to parse each part of the vertex + bool success = float.TryParse(vertparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(vertparts[1], NumberStyles.Any, ci, out vec.Y); + success |= float.TryParse(vertparts[2], NumberStyles.Any, ci, out vec.Z); // If any of the parses failed, report the error if (!success) From 60a38adee254e49a496528b12a6e463d464fbe0f Mon Sep 17 00:00:00 2001 From: neokabuto Date: Mon, 3 Jun 2019 22:11:59 -0500 Subject: [PATCH 16/18] international change to some other tuts --- .../OpenTKTutorial8-2/ObjVolume.cs | 26 +++++++++++-------- .../OpenTKTutorial9-1/ObjVolume.cs | 26 +++++++++++-------- .../OpenTKTutorial9-2/ObjVolume.cs | 26 +++++++++++-------- 3 files changed, 45 insertions(+), 33 deletions(-) diff --git a/OpenTKTutorial8-2/OpenTKTutorial8-2/ObjVolume.cs b/OpenTKTutorial8-2/OpenTKTutorial8-2/ObjVolume.cs index 99459ab..4a08a3a 100644 --- a/OpenTKTutorial8-2/OpenTKTutorial8-2/ObjVolume.cs +++ b/OpenTKTutorial8-2/OpenTKTutorial8-2/ObjVolume.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.IO; using System.Linq; using OpenTK; @@ -160,6 +161,9 @@ public static ObjVolume LoadFromString(string obj) List normals = new List(); List texs = new List(); List> faces = new List>(); + + CultureInfo ci = (CultureInfo)CultureInfo.CurrentCulture.Clone(); + ci.NumberFormat.CurrencyDecimalSeparator = "."; // Base values verts.Add(new Vector3()); @@ -182,10 +186,10 @@ public static ObjVolume LoadFromString(string obj) { String[] vertparts = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - // Attempt to parse each part of the vertice - bool success = float.TryParse(vertparts[0], out vec.X); - success |= float.TryParse(vertparts[1], out vec.Y); - success |= float.TryParse(vertparts[2], out vec.Z); + // Attempt to parse each part of the vertex + bool success = float.TryParse(vertparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(vertparts[1], NumberStyles.Any, ci, out vec.Y); + success |= float.TryParse(vertparts[2], NumberStyles.Any, ci, out vec.Z); // If any of the parses failed, report the error if (!success) @@ -211,9 +215,9 @@ public static ObjVolume LoadFromString(string obj) { String[] texcoordparts = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - // Attempt to parse each part of the vertice - bool success = float.TryParse(texcoordparts[0], out vec.X); - success |= float.TryParse(texcoordparts[1], out vec.Y); + // Attempt to parse each part of the vertex + bool success = float.TryParse(texcoordparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(texcoordparts[1], NumberStyles.Any, ci, out vec.Y); // If any of the parses failed, report the error if (!success) @@ -239,10 +243,10 @@ public static ObjVolume LoadFromString(string obj) { String[] vertparts = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - // Attempt to parse each part of the vertice - bool success = float.TryParse(vertparts[0], out vec.X); - success |= float.TryParse(vertparts[1], out vec.Y); - success |= float.TryParse(vertparts[2], out vec.Z); + // Attempt to parse each part of the vertex + bool success = float.TryParse(vertparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(vertparts[1], NumberStyles.Any, ci, out vec.Y); + success |= float.TryParse(vertparts[2], NumberStyles.Any, ci, out vec.Z); // If any of the parses failed, report the error if (!success) diff --git a/OpenTKTutorial9-1/OpenTKTutorial9-1/ObjVolume.cs b/OpenTKTutorial9-1/OpenTKTutorial9-1/ObjVolume.cs index 5e0f544..8eef783 100644 --- a/OpenTKTutorial9-1/OpenTKTutorial9-1/ObjVolume.cs +++ b/OpenTKTutorial9-1/OpenTKTutorial9-1/ObjVolume.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.IO; using System.Linq; using OpenTK; @@ -160,6 +161,9 @@ public static ObjVolume LoadFromString(string obj) List normals = new List(); List texs = new List(); List> faces = new List>(); + + CultureInfo ci = (CultureInfo)CultureInfo.CurrentCulture.Clone(); + ci.NumberFormat.CurrencyDecimalSeparator = "."; // Base values verts.Add(new Vector3()); @@ -182,10 +186,10 @@ public static ObjVolume LoadFromString(string obj) { String[] vertparts = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - // Attempt to parse each part of the vertice - bool success = float.TryParse(vertparts[0], out vec.X); - success |= float.TryParse(vertparts[1], out vec.Y); - success |= float.TryParse(vertparts[2], out vec.Z); + // Attempt to parse each part of the vertex + bool success = float.TryParse(vertparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(vertparts[1], NumberStyles.Any, ci, out vec.Y); + success |= float.TryParse(vertparts[2], NumberStyles.Any, ci, out vec.Z); // If any of the parses failed, report the error if (!success) @@ -211,9 +215,9 @@ public static ObjVolume LoadFromString(string obj) { String[] texcoordparts = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - // Attempt to parse each part of the vertice - bool success = float.TryParse(texcoordparts[0], out vec.X); - success |= float.TryParse(texcoordparts[1], out vec.Y); + // Attempt to parse each part of the vertex + bool success = float.TryParse(texcoordparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(texcoordparts[1], NumberStyles.Any, ci, out vec.Y); // If any of the parses failed, report the error if (!success) @@ -239,10 +243,10 @@ public static ObjVolume LoadFromString(string obj) { String[] vertparts = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - // Attempt to parse each part of the vertice - bool success = float.TryParse(vertparts[0], out vec.X); - success |= float.TryParse(vertparts[1], out vec.Y); - success |= float.TryParse(vertparts[2], out vec.Z); + // Attempt to parse each part of the vertex + bool success = float.TryParse(vertparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(vertparts[1], NumberStyles.Any, ci, out vec.Y); + success |= float.TryParse(vertparts[2], NumberStyles.Any, ci, out vec.Z); // If any of the parses failed, report the error if (!success) diff --git a/OpenTKTutorial9-2/OpenTKTutorial9-2/ObjVolume.cs b/OpenTKTutorial9-2/OpenTKTutorial9-2/ObjVolume.cs index 5e0f544..8eef783 100644 --- a/OpenTKTutorial9-2/OpenTKTutorial9-2/ObjVolume.cs +++ b/OpenTKTutorial9-2/OpenTKTutorial9-2/ObjVolume.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.IO; using System.Linq; using OpenTK; @@ -160,6 +161,9 @@ public static ObjVolume LoadFromString(string obj) List normals = new List(); List texs = new List(); List> faces = new List>(); + + CultureInfo ci = (CultureInfo)CultureInfo.CurrentCulture.Clone(); + ci.NumberFormat.CurrencyDecimalSeparator = "."; // Base values verts.Add(new Vector3()); @@ -182,10 +186,10 @@ public static ObjVolume LoadFromString(string obj) { String[] vertparts = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - // Attempt to parse each part of the vertice - bool success = float.TryParse(vertparts[0], out vec.X); - success |= float.TryParse(vertparts[1], out vec.Y); - success |= float.TryParse(vertparts[2], out vec.Z); + // Attempt to parse each part of the vertex + bool success = float.TryParse(vertparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(vertparts[1], NumberStyles.Any, ci, out vec.Y); + success |= float.TryParse(vertparts[2], NumberStyles.Any, ci, out vec.Z); // If any of the parses failed, report the error if (!success) @@ -211,9 +215,9 @@ public static ObjVolume LoadFromString(string obj) { String[] texcoordparts = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - // Attempt to parse each part of the vertice - bool success = float.TryParse(texcoordparts[0], out vec.X); - success |= float.TryParse(texcoordparts[1], out vec.Y); + // Attempt to parse each part of the vertex + bool success = float.TryParse(texcoordparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(texcoordparts[1], NumberStyles.Any, ci, out vec.Y); // If any of the parses failed, report the error if (!success) @@ -239,10 +243,10 @@ public static ObjVolume LoadFromString(string obj) { String[] vertparts = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - // Attempt to parse each part of the vertice - bool success = float.TryParse(vertparts[0], out vec.X); - success |= float.TryParse(vertparts[1], out vec.Y); - success |= float.TryParse(vertparts[2], out vec.Z); + // Attempt to parse each part of the vertex + bool success = float.TryParse(vertparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(vertparts[1], NumberStyles.Any, ci, out vec.Y); + success |= float.TryParse(vertparts[2], NumberStyles.Any, ci, out vec.Z); // If any of the parses failed, report the error if (!success) From 1704a0735da63455ce0cb20bd82c920b3be86368 Mon Sep 17 00:00:00 2001 From: neokabuto Date: Mon, 3 Jun 2019 22:14:51 -0500 Subject: [PATCH 17/18] same change to tut 8-1 --- OpenTKTutorial8-1/OpenTKTutorial8/ObjVolume.cs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/OpenTKTutorial8-1/OpenTKTutorial8/ObjVolume.cs b/OpenTKTutorial8-1/OpenTKTutorial8/ObjVolume.cs index c727038..bca7034 100644 --- a/OpenTKTutorial8-1/OpenTKTutorial8/ObjVolume.cs +++ b/OpenTKTutorial8-1/OpenTKTutorial8/ObjVolume.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.IO; using System.Linq; using System.Text; @@ -120,6 +121,9 @@ public static ObjVolume LoadFromString(string obj) List texs = new List(); List> faces = new List>(); + CultureInfo ci = (CultureInfo)CultureInfo.CurrentCulture.Clone(); + ci.NumberFormat.CurrencyDecimalSeparator = "."; + // Base values verts.Add(new Vector3()); texs.Add(new Vector2()); @@ -140,10 +144,10 @@ public static ObjVolume LoadFromString(string obj) { String[] vertparts = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - // Attempt to parse each part of the vertice - bool success = float.TryParse(vertparts[0], out vec.X); - success |= float.TryParse(vertparts[1], out vec.Y); - success |= float.TryParse(vertparts[2], out vec.Z); + // Attempt to parse each part of the vertex + bool success = float.TryParse(vertparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(vertparts[1], NumberStyles.Any, ci, out vec.Y); + success |= float.TryParse(vertparts[2], NumberStyles.Any, ci, out vec.Z); // If any of the parses failed, report the error if (!success) @@ -169,9 +173,9 @@ public static ObjVolume LoadFromString(string obj) { String[] texcoordparts = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - // Attempt to parse each part of the vertice - bool success = float.TryParse(texcoordparts[0], out vec.X); - success |= float.TryParse(texcoordparts[1], out vec.Y); + // Attempt to parse each part of the vertex + bool success = float.TryParse(texcoordparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(texcoordparts[1], NumberStyles.Any, ci, out vec.Y); // If any of the parses failed, report the error if (!success) From bde56446c822af0f959274e2cc84f89b40cc85db Mon Sep 17 00:00:00 2001 From: neokabuto Date: Mon, 3 Jun 2019 22:19:08 -0500 Subject: [PATCH 18/18] Add to remaining tuts, plus x64 config --- OpenTKTutorial6/OpenTKTutorial6.sln | 12 ++++++++++-- .../OpenTKTutorial6/OpenTKTutorial6.csproj | 8 ++++++++ OpenTKTutorial7/OpenTKTutorial7.sln | 12 ++++++++++-- OpenTKTutorial7/OpenTKTutorial7/ObjVolume.cs | 11 ++++++++--- .../OpenTKTutorial7/OpenTKTutorial7.csproj | 8 ++++++++ OpenTKTutorial8-1/OpenTKTutorial8.sln | 12 ++++++++++-- .../OpenTKTutorial8/OpenTKTutorial8.csproj | 8 ++++++++ 7 files changed, 62 insertions(+), 9 deletions(-) diff --git a/OpenTKTutorial6/OpenTKTutorial6.sln b/OpenTKTutorial6/OpenTKTutorial6.sln index ab52e60..ed2d65d 100644 --- a/OpenTKTutorial6/OpenTKTutorial6.sln +++ b/OpenTKTutorial6/OpenTKTutorial6.sln @@ -1,18 +1,26 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTKTutorial6", "OpenTKTutorial6\OpenTKTutorial6.csproj", "{CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{ACBF192E-C0F1-4B53-958F-915EDD01BA71}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x64.ActiveCfg = Debug|x64 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x64.Build.0 = Debug|x64 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x86.ActiveCfg = Debug|x86 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x86.Build.0 = Debug|x86 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x64.ActiveCfg = Release|x64 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x64.Build.0 = Release|x64 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x86.ActiveCfg = Release|x86 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x86.Build.0 = Release|x86 EndGlobalSection diff --git a/OpenTKTutorial6/OpenTKTutorial6/OpenTKTutorial6.csproj b/OpenTKTutorial6/OpenTKTutorial6/OpenTKTutorial6.csproj index d9b00a1..bc1cec8 100644 --- a/OpenTKTutorial6/OpenTKTutorial6/OpenTKTutorial6.csproj +++ b/OpenTKTutorial6/OpenTKTutorial6/OpenTKTutorial6.csproj @@ -33,6 +33,14 @@ prompt 4 + + x64 + bin\x64\Debug\ + + + x64 + bin\x64\Release\ + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll diff --git a/OpenTKTutorial7/OpenTKTutorial7.sln b/OpenTKTutorial7/OpenTKTutorial7.sln index 5af51ff..2a1edbf 100644 --- a/OpenTKTutorial7/OpenTKTutorial7.sln +++ b/OpenTKTutorial7/OpenTKTutorial7.sln @@ -1,18 +1,26 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTKTutorial7", "OpenTKTutorial7\OpenTKTutorial7.csproj", "{CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{ACBF192E-C0F1-4B53-958F-915EDD01BA71}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x64.ActiveCfg = Debug|x64 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x64.Build.0 = Debug|x64 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x86.ActiveCfg = Debug|x86 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x86.Build.0 = Debug|x86 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x64.ActiveCfg = Release|x64 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x64.Build.0 = Release|x64 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x86.ActiveCfg = Release|x86 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x86.Build.0 = Release|x86 EndGlobalSection diff --git a/OpenTKTutorial7/OpenTKTutorial7/ObjVolume.cs b/OpenTKTutorial7/OpenTKTutorial7/ObjVolume.cs index 9953fc6..6cecf2f 100644 --- a/OpenTKTutorial7/OpenTKTutorial7/ObjVolume.cs +++ b/OpenTKTutorial7/OpenTKTutorial7/ObjVolume.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.IO; using System.Linq; using System.Text; @@ -112,6 +113,10 @@ public static ObjVolume LoadFromString(string obj) List texs = new List(); List> faces = new List>(); + // This allows users in any locale to read the files + CultureInfo ci = (CultureInfo)CultureInfo.CurrentCulture.Clone(); + ci.NumberFormat.CurrencyDecimalSeparator = "."; + // Read file line by line foreach (String line in lines) { @@ -127,9 +132,9 @@ public static ObjVolume LoadFromString(string obj) String[] vertparts = temp.Split(' '); // Attempt to parse each part of the vertice - bool success = float.TryParse(vertparts[0], out vec.X); - success |= float.TryParse(vertparts[1], out vec.Y); - success |= float.TryParse(vertparts[2], out vec.Z); + bool success = float.TryParse(vertparts[0], NumberStyles.Any, ci, out vec.X); + success |= float.TryParse(vertparts[1], NumberStyles.Any, ci, out vec.Y); + success |= float.TryParse(vertparts[2], NumberStyles.Any, ci, out vec.Z); // Dummy color/texture coordinates for now colors.Add(new Vector3((float) Math.Sin(vec.Z), (float) Math.Sin(vec.Z), (float) Math.Sin(vec.Z))); diff --git a/OpenTKTutorial7/OpenTKTutorial7/OpenTKTutorial7.csproj b/OpenTKTutorial7/OpenTKTutorial7/OpenTKTutorial7.csproj index 6ad5497..9f0eb7d 100644 --- a/OpenTKTutorial7/OpenTKTutorial7/OpenTKTutorial7.csproj +++ b/OpenTKTutorial7/OpenTKTutorial7/OpenTKTutorial7.csproj @@ -36,6 +36,14 @@ OpenTKTutorial7.Program + + x64 + bin\x64\Debug\ + + + x64 + bin\x64\Release\ + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll diff --git a/OpenTKTutorial8-1/OpenTKTutorial8.sln b/OpenTKTutorial8-1/OpenTKTutorial8.sln index 8a77f4d..c11a861 100644 --- a/OpenTKTutorial8-1/OpenTKTutorial8.sln +++ b/OpenTKTutorial8-1/OpenTKTutorial8.sln @@ -1,18 +1,26 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTKTutorial8", "OpenTKTutorial8\OpenTKTutorial8.csproj", "{CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{ACBF192E-C0F1-4B53-958F-915EDD01BA71}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x64.ActiveCfg = Debug|x64 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x64.Build.0 = Debug|x64 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x86.ActiveCfg = Debug|x86 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Debug|x86.Build.0 = Debug|x86 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x64.ActiveCfg = Release|x64 + {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x64.Build.0 = Release|x64 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x86.ActiveCfg = Release|x86 {CE5CD75D-8626-4CD8-83FC-B7A4868DAEC0}.Release|x86.Build.0 = Release|x86 EndGlobalSection diff --git a/OpenTKTutorial8-1/OpenTKTutorial8/OpenTKTutorial8.csproj b/OpenTKTutorial8-1/OpenTKTutorial8/OpenTKTutorial8.csproj index 35fb49a..823085d 100644 --- a/OpenTKTutorial8-1/OpenTKTutorial8/OpenTKTutorial8.csproj +++ b/OpenTKTutorial8-1/OpenTKTutorial8/OpenTKTutorial8.csproj @@ -36,6 +36,14 @@ OpenTKTutorial8.Program + + x64 + bin\x64\Debug\ + + + x64 + bin\x64\Release\ + ..\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll