From 53ae95e46699687638d4fd094bffa47f391c699e Mon Sep 17 00:00:00 2001 From: JonasJan2 Date: Mon, 24 Jun 2024 12:56:34 +0200 Subject: [PATCH] Assertions --- src/objectHandler.c | 13 +++++++++++-- src/shader.c | 8 ++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/objectHandler.c b/src/objectHandler.c index 8e02d65..a4b2564 100644 --- a/src/objectHandler.c +++ b/src/objectHandler.c @@ -9,8 +9,9 @@ * Basically generates vbo and vao for an object and saving them in the ObjectData struct. */ void load_object(ObjectData* objectData) { - // write faces to buffer - //GLuint triangleVertexBufferObject; + assert(objectData != NULL); + + // write faces to buffer glGenBuffers(1, &objectData->vbo); glBindBuffer(GL_ARRAY_BUFFER, objectData->vbo); glBufferData(GL_ARRAY_BUFFER, objectData->object->length * sizeof(face), objectData->object->faces, GL_STATIC_DRAW); @@ -75,6 +76,10 @@ void load_object(ObjectData* objectData) { * Returns an array of objects. */ ObjectData* readObjFiles(char** path, int numModels, int* count) { + assert(path != NULL); + assert(count != NULL); + assert(numModels > 0); + ObjectData* objects = (ObjectData*) malloc(sizeof(ObjectData) * numModels); *count += numModels; if (!objects) { @@ -95,6 +100,8 @@ ObjectData* readObjFiles(char** path, int numModels, int* count) { * Returns an array of objects. */ ObjectData* readSingleObjFile(char* path) { + assert(path != NULL); + ObjectData* objectData = (ObjectData*) malloc(sizeof(ObjectData)); if (!objectData) { @@ -114,6 +121,8 @@ ObjectData* readSingleObjFile(char* path) { * Used to clean up the draw calls in Main(). */ void draw_object(ObjectData* objectData) { + assert(objectData != NULL); + glBindVertexArray(objectData->vao); glDrawArrays(GL_TRIANGLES, 0, objectData->object->length * 3); // Annahme: Jedes face hat 3 vertices glBindVertexArray(0); diff --git a/src/shader.c b/src/shader.c index 24e2846..931b81b 100644 --- a/src/shader.c +++ b/src/shader.c @@ -4,6 +4,9 @@ #include "shader.h" void compileShader(const GLchar *shaderSource, Shader *shader) { + assert(shaderSource != NULL); + assert(shader != NULL); + shader->id = glCreateShader(shader->type); glShaderSource(shader->id, 1, &shaderSource, NULL); @@ -23,12 +26,17 @@ void compileShader(const GLchar *shaderSource, Shader *shader) { } void compileShaders(Shader* shaders, const GLchar** glslSources, int numShaders) { + assert(glslSources != NULL); + assert(shaders != NULL); for (int i = 0; i < numShaders; i++) { compileShader(glslSources[i], &shaders[i]); } } ShaderProgram createShaderProgram(const GLchar* vertexSource, const GLchar* fragmentSource) { + assert(vertexSource != NULL); + assert(fragmentSource != NULL); + Shader vertexShader = { GL_VERTEX_SHADER, 0 }; Shader fragmentShader = { GL_FRAGMENT_SHADER, 0 };