]> git.jsancho.org Git - guile-assimp.git/blob - examples/test.c
Restructuration
[guile-assimp.git] / examples / test.c
1 #include <stdlib.h>
2 #include <stdio.h>
3
4 #include <GL/glut.h>
5
6 #include <assimp/cimport.h>
7 #include <assimp/scene.h>
8 #include <assimp/postprocess.h>
9
10 void print_materials(struct aiMaterial** materials, unsigned int num_materials)
11 {
12   int i;
13
14   for (i = 0; i < num_materials; i++)
15     {
16       printf("Material: %d %d\n", materials[i]->mNumProperties, materials[i]->mNumAllocated);
17     }
18 }
19
20 void print_node(const struct aiNode* node)
21 {
22   int i;
23
24   printf("%s: %d %d [", node->mName.data, node->mNumMeshes, node->mNumChildren);
25   for (i = 0; i < node->mNumMeshes; i++)
26     {
27       printf("%d ", node->mMeshes[i]);
28     }
29   printf("]\n");
30
31   for (i = 0; i < node->mNumChildren; i++)
32     {
33       print_node(node->mChildren[i]);
34     }
35 }
36
37 int main(int argc, char **argv)
38 {
39   const struct aiScene* scene = NULL;
40   const struct aiNode* node = NULL;
41
42   scene = aiImportFile("/home/jsancho/Imágenes/fleurOptonl.blend", aiProcessPreset_TargetRealtime_MaxQuality);
43
44   // Materials
45   print_materials(scene->mMaterials, scene->mNumMaterials);
46   printf("\n");
47
48   node = scene->mRootNode;
49   printf("Node:\n  parent: %d\n  children: %d\n  meshes: %d\n", node->mParent, node->mNumChildren, node->mNumMeshes);
50   printf("  transformation: %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f\n", node->mTransformation.a1, node->mTransformation.a2, node->mTransformation.a3, node->mTransformation.a4, node->mTransformation.b1, node->mTransformation.b2, node->mTransformation.b3, node->mTransformation.b4, node->mTransformation.c1, node->mTransformation.c2, node->mTransformation.c3, node->mTransformation.c4, node->mTransformation.d1, node->mTransformation.d2, node->mTransformation.d3, node->mTransformation.d4);
51
52   printf("\n\n");
53   print_node(node);
54 }