diff options
Diffstat (limited to 'src/rendering')
| -rw-r--r-- | src/rendering/include/engine/rendering/rendering.h | 2 | ||||
| -rw-r--r-- | src/rendering/src/gl.c | 7 | ||||
| -rw-r--r-- | src/rendering/src/rendering.c | 22 | ||||
| -rw-r--r-- | src/rendering/src/window.c | 4 |
4 files changed, 19 insertions, 16 deletions
diff --git a/src/rendering/include/engine/rendering/rendering.h b/src/rendering/include/engine/rendering/rendering.h index bde298c..7b67248 100644 --- a/src/rendering/include/engine/rendering/rendering.h +++ b/src/rendering/include/engine/rendering/rendering.h @@ -90,6 +90,6 @@ typedef struct { } data; } RenderDrawCall; -RenderObject RenderObject_new(float* model, usize sz); +RenderObject RenderObject_new(float* model, usize sz, float* uv, usize uv_sz); #endif diff --git a/src/rendering/src/gl.c b/src/rendering/src/gl.c index f05c07d..bef19b6 100644 --- a/src/rendering/src/gl.c +++ b/src/rendering/src/gl.c @@ -121,7 +121,7 @@ GLuint LoadShaders( return ProgramID; } -RenderObject RenderObject_new(float* model, usize sz) { +RenderObject RenderObject_new(float* model, usize sz, float* uv, usize uv_sz) { GladGLContext *gl = GLOBAL_PLATFORM->window->context; RenderObject o; @@ -134,11 +134,14 @@ RenderObject RenderObject_new(float* model, usize sz) { gl->BindBuffer(GL_ARRAY_BUFFER, o.vbo); gl->BufferData(GL_ARRAY_BUFFER, sz, model, GL_STATIC_DRAW); + gl->GenBuffers(1, &(o.col)); + gl->BindBuffer(GL_ARRAY_BUFFER, o.col); + gl->BufferData(GL_ARRAY_BUFFER, uv_sz, uv, GL_STATIC_DRAW); //gl->GenBuffers(1, &(o.ibo)); //gl->BindBuffer(GL_ARRAY_BUFFER, o.ibo); //gl->BufferData(GL_ARRAY_BUFFER, sizeof(quad), quad, GL_STATIC_DRAW); - o.shader.program = LoadShaders(gl, "shader.vertexshader", "shader.fragmentshader"); + o.shader.program = LoadShaders(gl, "shader.vert", "shader.frag"); return o; } diff --git a/src/rendering/src/rendering.c b/src/rendering/src/rendering.c index 89a6be3..77cd285 100644 --- a/src/rendering/src/rendering.c +++ b/src/rendering/src/rendering.c @@ -76,7 +76,7 @@ void render_present(Window* w) { { - vec3 cam = {3., 2., 3.}; // perspective + vec3 cam = {-3., 2., -3.}; // perspective mat4 per; // perspective mat4 v; // view mat4 model = GLM_MAT4_IDENTITY_INIT; @@ -122,16 +122,16 @@ void render_present(Window* w) { ); //// Do the color buffer (?) - //gl->EnableVertexAttribArray(1); - //gl->BindBuffer(GL_ARRAY_BUFFER, p->testobject->col); - //gl->VertexAttribPointer( - // 1, // attribute. No particular reason for 1, but must match the layout in the shader. - // 3, // size - // GL_FLOAT, // type - // GL_FALSE, // normalized? - // 0, // stride - // (void*)0 // array buffer offset - // ); + gl->EnableVertexAttribArray(1); + gl->BindBuffer(GL_ARRAY_BUFFER, o->col); + gl->VertexAttribPointer( + 1, // attribute. No particular reason for 1, but must match the layout in the shader. + 2, // size + GL_FLOAT, // type + GL_FALSE, // normalized? + 0, // stride + (void*)0 // array buffer offset + ); diff --git a/src/rendering/src/window.c b/src/rendering/src/window.c index 431ce3f..9c04957 100644 --- a/src/rendering/src/window.c +++ b/src/rendering/src/window.c @@ -102,8 +102,8 @@ Window* init_window_glfw( // TODO: input handler callback glfwSetFramebufferSizeCallback(window, window_size_callback); - glfwMakeContextCurrent(window); - glfwSwapInterval(0); + //glfwMakeContextCurrent(window); + //glfwSwapInterval(0); // Create the window datastructure ret = (Window*)calloc(1, sizeof(Window)); |
