summaryrefslogtreecommitdiff
path: root/src/rendering
diff options
context:
space:
mode:
author0scar <qgt268@alumni.ku.dk>2024-02-12 06:57:44 +0000
committer0scar <qgt268@alumni.ku.dk>2024-02-12 08:11:17 +0000
commit63e6c8fe178082f3ab7ff46f4c7f7216626723bf (patch)
treeffabf211c1eb247cd1cf7f1adc3b88f99a3fa223 /src/rendering
parent82effe4e4d4a6b22f77055875d046304a86541eb (diff)
Enable textures (?)
Diffstat (limited to 'src/rendering')
-rw-r--r--src/rendering/include/engine/rendering/rendering.h2
-rw-r--r--src/rendering/src/gl.c7
-rw-r--r--src/rendering/src/rendering.c22
-rw-r--r--src/rendering/src/window.c4
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));