diff --git a/Diamond/GLObject.cs b/Diamond/GLObject.cs
index a30ae3f..b7b434f 100644
--- a/Diamond/GLObject.cs
+++ b/Diamond/GLObject.cs
@@ -6,10 +6,7 @@ namespace Diamond
{
public abstract class GLObject : IDisposable
{
- ///
- /// The logger for GLObject-related info
- ///
- protected internal static Logger Logger = LogManager.GetLogger(nameof(GLObject));
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
///
/// The OpenGL object name
diff --git a/Diamond/NLog.config b/Diamond/NLog.config
index 422a841..65bd082 100644
--- a/Diamond/NLog.config
+++ b/Diamond/NLog.config
@@ -6,16 +6,20 @@
throwExceptions="false"
internalLoggerLevel="Off" internalLoggerFile="c:\temp\nlog-internal.log">
-
-
+
+
+
-
-
+
+
+
-
-
+
+
-
+
\ No newline at end of file
diff --git a/Diamond/Shaders/Program.cs b/Diamond/Shaders/Program.cs
index 94b0536..a1be8e7 100644
--- a/Diamond/Shaders/Program.cs
+++ b/Diamond/Shaders/Program.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
+using NLog;
using OpenTK.Graphics.OpenGL4;
namespace Diamond.Shaders
@@ -11,6 +12,8 @@ namespace Diamond.Shaders
///
public class Program : GLObject
{
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
+
#region Static
private static Program _current;
@@ -23,13 +26,13 @@ namespace Diamond.Shaders
get => _current;
set
{
- if (!value?.Linked ?? false)
+ if (value != null && !value.Linked)
{
- Logger.Error("Cannot use program {0}", value);
+ Logger.Error("Cannot use {0} because it is not linked", value);
value = null;
}
- Logger.Debug("Using program {0}", value);
+ Logger.Debug("Using {0}", (object) value ?? "default program");
GL.UseProgram((_current = value)?.Id ?? 0);
}
}
diff --git a/Diamond/Shaders/Shader.cs b/Diamond/Shaders/Shader.cs
index 17c8980..b5eb4e4 100644
--- a/Diamond/Shaders/Shader.cs
+++ b/Diamond/Shaders/Shader.cs
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using System.IO;
+using NLog;
using OpenTK.Graphics.OpenGL4;
namespace Diamond.Shaders
@@ -9,6 +10,8 @@ namespace Diamond.Shaders
///
public sealed class Shader : GLObject
{
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
+
#region Constructor, Delete()
///
diff --git a/hexworld/HexRender.cs b/hexworld/HexRender.cs
index ee30754..0de084c 100644
--- a/hexworld/HexRender.cs
+++ b/hexworld/HexRender.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics;
using System.IO;
using System.Linq;
using Diamond.Shaders;
@@ -29,7 +30,7 @@ namespace hexworld
{
base.OnUnload(e);
- _pgm.Dispose();
+ _pgm?.Dispose();
}
///
@@ -38,6 +39,9 @@ namespace hexworld
base.OnLoad(e);
_pgm = Program.FromFiles("res/obj.fs.glsl", "res/obj.vs.glsl");
+
+ Program.Current = _pgm;
+ Program.Current = null;
}
}
}
\ No newline at end of file
diff --git a/hexworld/hexworld.csproj b/hexworld/hexworld.csproj
index b61e5a9..1ed6a79 100644
--- a/hexworld/hexworld.csproj
+++ b/hexworld/hexworld.csproj
@@ -5,7 +5,7 @@
Debug
AnyCPU
{AD9ED057-FB47-44CB-8839-22924B409706}
- Exe
+ WinExe
hexworld
hexworld
v4.6.1
@@ -33,6 +33,9 @@
prompt
4
+
+
+
..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll