A very simple Wavefront .obj loader with glut support.
UNLICENSE License
Including:
// Only needed at first include
#define SIMPLE_OBJ_IMP
// glut needs to be included first for drawObj implementation
#include <GL/glut.h>
#include "simple_obj.h"
Usage:
// Loading a .obj
SimpleObj_t* myObj = loadObj("some_model.obj");
Drawing:
// GL setup stuff, transforms, ect...
drawObj(myObj);
// More GL stuff
Groups:
// Access the struct for the first group in the file.
ObjGroup_t* group = objDataArrayAccess(&myObj->groups, 0);
// Attributes: name, startFace, endFace, & render.
group->render = false; // don't draw this group.
Freeing obj data:
// This obj is trash
disposeObj(myObj);
// It's where it belongs now
Working:
Todo: