Rename NULL_MODEL macro

This commit is contained in:
Abdelrahman Said 2024-08-11 19:31:14 +01:00
parent 91c4721c46
commit 46ca6bfa10
3 changed files with 10 additions and 7 deletions

View File

@ -34,7 +34,7 @@ int main(void) {
}
Model obj = load_obj_file(arena, RESOURCE("head.obj"), RESOURCE("head.pnm"));
if (INVALID_MODEL(obj)) {
if (IS_INVALID_MODEL(obj)) {
return TINY_EXIT_MODEL_LOAD_FAILED;
}

View File

@ -86,21 +86,23 @@ M4x4f g_cam_matrix = {
Model load_obj_file(Arena *arena, const char *filename, const char *texture) {
if (!arena) {
return NULL_MODEL;
return INVALID_MODEL;
}
FILE *fp = fopen(filename, "r");
if (!fp) {
return NULL_MODEL;
return INVALID_MODEL;
}
Model model = (Model){
.vertices = list_create(V3f, arena),
.normals = list_create(V3f, arena),
.texture_coordinates = list_create(V2f, arena),
.triangles = list_create(Triangle, arena),
};
if (!(model.vertices) || !(model.texture_coordinates) || !(model.triangles)) {
return NULL_MODEL;
if (!(model.vertices) || !(model.normals) || !(model.texture_coordinates) ||
!(model.triangles)) {
return INVALID_MODEL;
}
char line[8192];

View File

@ -6,8 +6,8 @@
#include "mem_arena.h"
#include "typed_list.h"
#define NULL_MODEL ((Model){0})
#define INVALID_MODEL(m) (m.vertices == NULL || m.triangles == NULL)
#define INVALID_MODEL ((Model){0})
#define IS_INVALID_MODEL(m) (m.vertices == NULL || m.triangles == NULL)
typedef struct triangle Triangle;
struct triangle {
@ -109,6 +109,7 @@ MAKE_LIST_TYPE(Triangle);
typedef struct model Model;
struct model {
LIST_TYPE(V3f) * vertices;
LIST_TYPE(V3f) * normals;
LIST_TYPE(V2f) * texture_coordinates;
LIST_TYPE(Triangle) * triangles;
Image *texture;