X-Git-Url: http://git.mutantstargoat.com?p=demo;a=blobdiff_plain;f=src%2Fscene.cc;h=7f9a879e208a07f3fb086dafc4c050177b57648e;hp=e53e5a3204ca8065e78db702411f0d6d51fa14b8;hb=46cc932f7ddb0c81f352bc847973dae6b327ebeb;hpb=9da6afeaca91bbb18899f3144c5d0a1bf1f31bb7 diff --git a/src/scene.cc b/src/scene.cc index e53e5a3..7f9a879 100644 --- a/src/scene.cc +++ b/src/scene.cc @@ -29,20 +29,21 @@ Scene::Scene() {} Scene::~Scene() { - /* clear meshes */ for(size_t i=0; imNumMeshes; ++i) { + Object *object = new Object(); + object->mesh = meshes[i]; + int idx = meshes[i]->mat_idx; + object->material = materials[idx]; + objects.push_back(object); + } aiReleaseImport(scene); return true; @@ -164,6 +171,8 @@ static Mesh *load_mesh(const aiScene *scene, unsigned int index) else fprintf(stderr, "No faces found.\n"); + mesh->mat_idx = amesh->mMaterialIndex; + printf("material idx:%u", mesh->mat_idx); return mesh; } @@ -179,7 +188,9 @@ static Material *load_material(const aiScene *ascene, Scene *scene, unsigned int mat->dtex = 0; mat->shininess = 40; - // mat->name = std::string(amat->name.data); + // aiString name; + // amat->Get(AI_MATKEY_NAME, name); + // mat->name = std::string(name.data); aiColor4D color; aiGetMaterialColor(amat, AI_MATKEY_COLOR_DIFFUSE, &color);