Merge pull request #137 from Ybalrid/pr_fix_glview_no_scene_no_nodes

Fix glView in case there is no default scene
This commit is contained in:
Syoyo Fujita 2019-01-28 13:00:26 +09:00 committed by GitHub
commit 281af41b6c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -701,10 +701,11 @@ static void DrawModel(tinygltf::Model &model) {
DrawCurves(scene, it->second);
}
#else
// TODO(syoyo): Support non-default scenes.
assert(model.defaultScene >= 0);
const tinygltf::Scene &scene = model.scenes[model.defaultScene];
//If the glTF asset has at least one scene, and doesn't define a default one
//just show the first one we can find
assert(model.scenes.size() > 0);
int scene_to_display = model.defaultScene > -1 ? model.defaultScene : 0;
const tinygltf::Scene &scene = model.scenes[scene_to_display];
for (size_t i = 0; i < scene.nodes.size(); i++) {
DrawNode(model, model.nodes[scene.nodes[i]]);
}
@ -783,7 +784,7 @@ int main(int argc, char **argv) {
Init();
// DBG
PrintNodes(model.scenes[model.defaultScene]);
PrintNodes(model.scenes[model.defaultScene > -1 ? model.defaultScene : 0]);
if (!glfwInit()) {
std::cerr << "Failed to initialize GLFW." << std::endl;