@@ -13,10 +13,11 @@ namespace FreeFrame
1313{
1414 class Window : GameWindow
1515 {
16- int _vertexBuffer ;
17- int _vertexArray ;
18- int _indexBuffer ;
19- Shader _shader ;
16+ Object rectangle ;
17+ //int _vertexBuffer;
18+ //int _vertexArray;
19+ //int _indexBuffer;
20+ //Shader _shader;
2021 ImGuiController _ImGuiController ;
2122
2223 public readonly float [ ] _vertices =
@@ -39,28 +40,32 @@ protected override void OnLoad()
3940 {
4041 base . OnLoad ( ) ;
4142
43+ Helper . DebugMode ( ) ;
44+
4245 GL . ClearColor ( 0.1f , 0.1f , 0.1f , 1.0f ) ;
4346
44- // Vertex Buffer Object
45- _vertexBuffer = GL . GenBuffer ( ) ;
46- GL . BindBuffer ( BufferTarget . ArrayBuffer , _vertexBuffer ) ;
47- GL . BufferData ( BufferTarget . ArrayBuffer , _vertices . Length * sizeof ( float ) , _vertices , BufferUsageHint . StaticDraw ) ;
47+ //// Vertex Buffer Object
48+ //_vertexBuffer = GL.GenBuffer();
49+ //GL.BindBuffer(BufferTarget.ArrayBuffer, _vertexBuffer);
50+ //GL.BufferData(BufferTarget.ArrayBuffer, _vertices.Length * sizeof(float), _vertices, BufferUsageHint.StaticDraw);
51+
52+ //// Vertex Array Object
53+ //_vertexArray = GL.GenVertexArray(); // TODO: Why a vertex array is necessary? Why not only use VertexAttribPointer?
54+ //GL.BindVertexArray(_vertexArray);
4855
49- // Vertex Array Object
50- _vertexArray = GL . GenVertexArray ( ) ; // TODO: Why a vertex array is necessary? Why not only use VertexAttribPointer?
51- GL . BindVertexArray ( _vertexArray ) ;
56+ //GL.VertexAttribPointer(0, 3, VertexAttribPointerType.Float, false, 3 * sizeof(float), 0);
57+ //GL.EnableVertexAttribArray(0);
5258
53- GL . VertexAttribPointer ( 0 , 3 , VertexAttribPointerType . Float , false , 3 * sizeof ( float ) , 0 ) ;
54- GL . EnableVertexAttribArray ( 0 ) ;
59+ //// Index Buffer Object
60+ //_indexBuffer = GL.GenBuffer();
61+ //GL.BindBuffer(BufferTarget.ElementArrayBuffer, _indexBuffer);
62+ //GL.BufferData(BufferTarget.ElementArrayBuffer, _indices.Length * sizeof(uint), _indices, BufferUsageHint.StaticDraw);
5563
56- // Index Buffer Object
57- _indexBuffer = GL . GenBuffer ( ) ;
58- GL . BindBuffer ( BufferTarget . ElementArrayBuffer , _indexBuffer ) ;
59- GL . BufferData ( BufferTarget . ElementArrayBuffer , _indices . Length * sizeof ( uint ) , _indices , BufferUsageHint . StaticDraw ) ;
64+ //// Shaders
65+ //_shader = new Shader("Shaders/shader.vert", "Shaders/shader.frag");
66+ //_shader.Use();
6067
61- // Shaders
62- _shader = new Shader ( "Shaders/shader.vert" , "Shaders/shader.frag" ) ;
63- _shader . Use ( ) ;
68+ rectangle = new Object ( _vertices , _indices ) ;
6469
6570 _ImGuiController = new ImGuiController ( ClientSize . X , ClientSize . Y ) ;
6671 }
@@ -92,10 +97,15 @@ protected override void OnRenderFrame(FrameEventArgs e)
9297 GL . Clear ( ClearBufferMask . ColorBufferBit ) ; // Clear the color
9398
9499
95- _shader . Use ( ) ; // Select current shader
96- GL . BindVertexArray ( _vertexArray ) ; // Bind VAO for workspace (because ImGui binds another)
100+ //_shader.Use(); // Select current shader
101+ //GL.BindVertexArray(_vertexArray); // Bind VAO for workspace (because ImGui binds another)
102+
103+ //int uColorLocation = _shader.GetUniformLocation("u_Color");
104+ //GL.Uniform4(uColorLocation, 0.2f, 1.0f, 0.5f, 1.0f);
105+
106+ //GL.DrawElements(PrimitiveType.Triangles, _indices.Length, DrawElementsType.UnsignedInt, 0);
97107
98- GL . DrawElements ( PrimitiveType . Triangles , _indices . Length , DrawElementsType . UnsignedInt , 0 ) ;
108+ rectangle . Draw ( ) ;
99109
100110 _ImGuiController . Update ( this , ( float ) e . Time ) ; // TODO: Explain what's the point of this. Also explain why this order is necessary
101111 //ImGui.ShowDemoWindow();
@@ -114,9 +124,9 @@ protected override void OnUnload()
114124 GL . BindVertexArray ( 0 ) ;
115125 GL . UseProgram ( 0 ) ;
116126
117- GL . DeleteBuffer ( _vertexBuffer ) ;
118- GL . DeleteBuffer ( _indexBuffer ) ;
119- GL . DeleteVertexArray ( _vertexArray ) ;
127+ // GL.DeleteBuffer(_vertexBuffer);
128+ // GL.DeleteBuffer(_indexBuffer);
129+ // GL.DeleteVertexArray(_vertexArray);
120130 }
121131 }
122132}
0 commit comments