#include <string.h>
#include <stdlib.h>
#include <stdio.h>
+#include <assimp/scene.h>
char * get_gl_info() {
const char * gl_version = (const char *) glGetString(GL_VERSION);
return gl_info;
}
+
+void print_struct_aiScene(FILE* stream, const struct aiScene* scene) {
+ if (scene == NULL) {
+ fprintf(stream, "NULL");
+ return;
+ }
+ fprintf(stream, "{ mFlags = %u, mRootNode = %p, mNumMeshes = %u, mMeshes = %p, mNumMaterials = %u, mMaterials = %p, mNumAnimations = %u, mAnimations = %p, mNumTextures = %u, mTextures = %p, mNumLights = %u, mLights = %p }",
+ (*scene).mFlags,
+ (void*) (*scene).mRootNode,
+ (*scene).mNumMeshes,
+ (void*) (*scene).mMeshes,
+ (*scene).mNumMaterials,
+ (void*) (*scene).mMaterials,
+ (*scene).mNumAnimations,
+ (void*) (*scene).mAnimations,
+ (*scene).mNumTextures,
+ (void*) (*scene).mTextures,
+ (*scene).mNumLights,
+ (void*) (*scene).mLights);
+}
+
+void print_struct_aiNode(FILE* stream, const struct aiNode* node) {
+ if (node == NULL) {
+ fprintf(stream, "NULL");
+ return;
+ }
+ fprintf(stream, "{ mName = %s, mNumMeshes = %u, mMeshes = %p }",
+ (*node).mName.data,
+ (*node).mNumMeshes,
+ (void*) (*node).mMeshes);
+}
level_image = image;
}
-void import_model(const char* path) {
+const struct aiScene* import_model(const char* path) {
const struct aiScene* scene = aiImportFile(path, 0u);
if (scene == NULL) {
- printf("We have nothing.\n");
- return;
+ fprintf(stderr, "Asset import failed at file %s\n", path); // TODO factor logging the heck outta here
}
- printf("mFlags = %u\nmRootNode = %p\nmNumMeshes = %u\nmMeshes = %p\nmNumMaterials = %u\nmMaterials = %p\nmNumAnimations = %u\nmAnimations = %p\nmNumTextures = %u\nmTextures = %p\nmNumLights = %u\nmLights = %p\n",
- (*scene).mFlags,
- (*scene).mRootNode,
- (*scene).mNumMeshes,
- (*scene).mMeshes,
- (*scene).mNumMaterials,
- (*scene).mMaterials,
- (*scene).mNumAnimations,
- (*scene).mAnimations,
- (*scene).mNumTextures,
- (*scene).mTextures,
- (*scene).mNumLights,
- (*scene).mLights);
- aiReleaseImport(scene);
+ return scene;
+ // TODO aiReleaseImport(scene);
}