Started refactors for logging and level loading

This commit is contained in:
2017-02-27 01:04:30 -05:00
parent a7c2f5bb29
commit 84608d5981
20 changed files with 85 additions and 86 deletions

View File

@@ -14,12 +14,35 @@ namespace hexworld
{
public class HexRender : GameWindow
{
#region Fields
#region GLObjects
private Program _pgm;
private Texture _grass;
private Texture _stone;
private Texture _gray;
private GLBuffer _tileGLBuffer;
private GLBuffer _vertexGLBuffer;
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
_pgm.Dispose();
// _tileGLBuffer.Dispose();
_vertexGLBuffer.Dispose();
_grass.Dispose();
_stone.Dispose();
_gray.Dispose();
}
#endregion
private Matrix4 _view;
private Matrix4 _proj;
@@ -34,11 +57,11 @@ namespace hexworld
private Tile[] _allTiles;
private Vertex[] _allVertices;
private GLBuffer _tileGLBuffer;
private GLBuffer _vertexGLBuffer;
private double _time;
#endregion
public HexRender(int width, int height)
: base(width, height, new GraphicsMode(32, 24, 0, 0))
{
@@ -52,8 +75,11 @@ namespace hexworld
{
base.OnLoad(e);
using (var vs = Shader.FromFile("s.vs.glsl", ShaderType.VertexShader))
using (var fs = Shader.FromFile("s.fs.glsl", ShaderType.FragmentShader))
var vsPath = @"res\s.vs.glsl";
var fsPath = @"res\s.fs.glsl";
using (var vs = Shader.FromFile(vsPath, ShaderType.VertexShader))
using (var fs = Shader.FromFile(fsPath, ShaderType.FragmentShader))
{
if (!vs.Compiled | !fs.Compiled)
{
@@ -75,18 +101,18 @@ namespace hexworld
}
_cubeVertices = new SubArray<Vertex>(
JsonConvert.DeserializeObject<Vertex[]>(File.ReadAllText("data_vert_cubes.json")));
JsonConvert.DeserializeObject<Vertex[]>(File.ReadAllText(@"res\data_vert_cubes.json")));
_panelVertices = new SubArray<Vertex>(
JsonConvert.DeserializeObject<Vertex[]>(File.ReadAllText("data_vert_panels.json")));
JsonConvert.DeserializeObject<Vertex[]>(File.ReadAllText(@"res\data_vert_panels.json")));
_sidesVertices = new SubArray<Vertex>(
JsonConvert.DeserializeObject<Vertex[]>(File.ReadAllText("data_vert_sides.json")));
JsonConvert.DeserializeObject<Vertex[]>(File.ReadAllText(@"res\data_vert_sides.json")));
_grassTiles = new SubArray<Tile>(
JsonConvert.DeserializeObject<Tile[]>(File.ReadAllText("data_tile_grass.json")));
JsonConvert.DeserializeObject<Tile[]>(File.ReadAllText(@"res\data_tile_grass.json")));
_stoneTiles = new SubArray<Tile>(
JsonConvert.DeserializeObject<Tile[]>(File.ReadAllText("data_tile_stone.json")));
JsonConvert.DeserializeObject<Tile[]>(File.ReadAllText(@"res\data_tile_stone.json")));
_grayTiles = new SubArray<Tile>(
JsonConvert.DeserializeObject<Tile[]>(File.ReadAllText("data_tile_gray.json")));
JsonConvert.DeserializeObject<Tile[]>(File.ReadAllText(@"res\data_tile_gray.json")));
_allTiles = SubArray<Tile>.Join(_stoneTiles, _grassTiles, _grayTiles);
_allVertices = SubArray<Vertex>.Join(_panelVertices, _cubeVertices, _sidesVertices);
@@ -100,9 +126,9 @@ namespace hexworld
_pgm.SetAttribPointers(_tileGLBuffer, typeof(Tile));
_pgm.SetAttribPointers(_vertexGLBuffer, typeof(Vertex));
_grass = Texture.FromBitmap(new Bitmap("grass.png"));
_stone = Texture.FromBitmap(new Bitmap("stone.png"));
_gray = Texture.FromBitmap(new Bitmap("gray.png"));
_grass = Texture.FromBitmap(new Bitmap(@"res\grass.png"));
_stone = Texture.FromBitmap(new Bitmap(@"res\stone.png"));
_gray = Texture.FromBitmap(new Bitmap(@"res\gray.png"));
}
protected override void OnUpdateFrame(FrameEventArgs e)
@@ -111,7 +137,8 @@ namespace hexworld
_time += e.Time;
_view = Matrix4.CreateRotationZ((float) _time/3)*Matrix4.LookAt(10 * Vector3.One, Vector3.Zero, Vector3.UnitZ);
_view = Matrix4.CreateRotationZ((float) _time / 3) *
Matrix4.LookAt(10 * Vector3.One, Vector3.Zero, Vector3.UnitZ);
_proj = Matrix4.CreateOrthographic(Width / 100f, Height / 100f, -100, 100);
for (var i = 0; i < _grassTiles.Length; i++)
@@ -179,19 +206,5 @@ namespace hexworld
SwapBuffers();
}
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
_pgm.Dispose();
_tileGLBuffer.Dispose();
_vertexGLBuffer.Dispose();
_grass.Dispose();
_stone.Dispose();
_gray.Dispose();
}
}
}