JuicyGraphics/src/JuicyGraphics/renderer/graphicalObjects/gridBackground.cs

41 lines
1.2 KiB
C#

using SharpGL.Shaders;
using SharpGL;
using System.Collections.Generic;
using SharpGL.VertexBuffers;
namespace Graphics.Objects {
class gridBackground : iGraphicalObject {
VertexBuffer vbo = new VertexBuffer();
VertexBufferArray vao = new VertexBufferArray();
ShaderProgram gridRender = new ShaderProgram();
public gridBackground(renderCam context) {
vao.Create(context.GL);
vao.Bind(context.GL);
gridRender.Create(context.GL, Shader.FromFile("default.vert"),
Shader.FromFile("background.frag"), new Dictionary<uint, string>()
{ { 0, "position" } });
vbo.Create(context.GL);
vbo.Bind(context.GL);
vbo.SetData(context.GL, 0, new float[] { -1.0f, -1.0f,
1.0f, -1.0f,
1.0f, 1.0f,
-1.0f, 1.0f }, false, 2);
vao.Unbind(context.GL);
}
const double realTileSize = 24.0f;
public void render(renderCam context) {
gridRender.Bind(context.GL);
vao.Bind(context.GL);
context.GL.DrawArrays(OpenGL.GL_QUADS, 0, 8);
vao.Unbind(context.GL);
gridRender.Unbind(context.GL);
}
}
}