From 733ababde001953950ab0e0bf81ac7f6a05fa617 Mon Sep 17 00:00:00 2001 From: PedroEdiaz Date: Sun, 1 Dec 2024 21:20:07 -0600 Subject: [PATCH] Read klein files, xd --- src/klein.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/klein.c diff --git a/src/klein.c b/src/klein.c new file mode 100644 index 0000000..e13c9c4 --- /dev/null +++ b/src/klein.c @@ -0,0 +1,30 @@ +#include "main.h" + +#include + +int create_surface_klein( unsigned char * path, struct surface * surface ) +{ + unsigned long size; + char buffer[5]; + FILE * file = fopen(path, "rb" ); + if( !file ) + return 1; + + fread(buffer, 1, 5, file ); + + if( strncmp(buffer, "KLEIN", 5 ) ) + return 1; + + fread(buffer, 1, 1, file ); + fread(&surface->dim, 1, 1, file); + fread(&surface->vertex, 8, 1, file); + + size = surface->dim * surface->vertex; + + surface->data=malloc(16*size ); + fread(surface->data, 16,size, file); + + surface->norm=malloc(16*size ); + fread(surface->norm, 16, size, file); + return 0; +}