protected override void OnLoad() { float norm = 1.0f / 256.0f; GL.ClearColor(norm * 24.0f, norm * 24.0f, norm * 24.0f, 1.0f); shader = new Shader("shader/shader.vert", "shader/shader.frag"); shader.Bind(); //Some stuff for textures Slots var loc = GL.GetUniformLocation(shader.shaderID, "u_Textures"); Int32[] samplers = new Int32[Render2D.MaxTextureUnits]; for (int i = 0; i < Render2D.MaxTextureUnits; i++) { samplers[i] = i; } GL.Uniform1(loc, Render2D.MaxTextureUnits, samplers); Render2D.Init(); //TODO: Understand why this is the GetViewProjectionMatrix turn Quad's in Rectangles shader.SetUniformMat4("u_ViewProj", camera.GetCamera().GetViewProjectionMatrixArray()); shader.SetUniformMat4("u_Transform", glm.ortho(0, ScreenSize.x, 0, ScreenSize.y, -1.0f, 100.0f).to_array()); TextRender.Init(); TextRender.SetProjView(camera.GetCamera().GetViewProjectionMatrixArray()); TextRender.SetTransform(glm.ortho(0, ScreenSize.x, 0, ScreenSize.y, -1.0f, 100.0f).to_array()); PlayerTest player = new PlayerTest(m_textures.PopResource("test")); m_entities.Add(player); foreach (Entity e in m_entities) { e.OnAttach(); } m_snds.GetResource("music").Play(); base.OnLoad(); }