diff options
| author | 0scar <qgt268@alumni.ku.dk> | 2024-02-11 11:27:49 +0000 |
|---|---|---|
| committer | 0scar <qgt268@alumni.ku.dk> | 2024-02-11 11:27:49 +0000 |
| commit | b04b041f61fe6f0664d5d037b8a26e43b7b99a75 (patch) | |
| tree | 738c377a251266433450c4c9c19a0f12a41d210d /src/rendering | |
| parent | d398c8917f890ae29d5c76ddb223b707aa9b16c5 (diff) | |
Add RenderObject constructor
Diffstat (limited to 'src/rendering')
| -rw-r--r-- | src/rendering/src/gl.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/rendering/src/gl.c b/src/rendering/src/gl.c index b66aef8..390e42b 100644 --- a/src/rendering/src/gl.c +++ b/src/rendering/src/gl.c @@ -115,3 +115,34 @@ GLuint LoadShaders( return ProgramID; } + +/* Prototype it for now, */ +GLuint LoadShaders( + const GladGLContext* gl, + const char * vertex_file_path, + const char * fragment_file_path); + +RenderObject RenderObject_new() { + GladGLContext *gl = GLOBAL_PLATFORM->window->context; + RenderObject o; + + static const float quad[8] = { + 0.f, 0.f, + 1.f, 0.f, + 1.f, 1.f, + 0.f, 1.f, + }; + + // TODO: implement index buffer! + + gl->GenVertexArrays(1, &(o.vao)); + gl->BindVertexArray(o.vao); + + gl->GenBuffers(1, &(o.vbo)); + gl->BindBuffer(GL_ARRAY_BUFFER, o.vbo); + gl->BufferData(GL_ARRAY_BUFFER, sizeof(quad), quad, GL_STATIC_DRAW); + + o.shader.program = LoadShaders(gl, "shader.vertexshader", "shader.fragmentshader"); + + return o; +} |
