goat3dgfx

annotate src/scene.cc @ 0:1873dfd13f2d

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 14 Nov 2013 05:27:09 +0200
parents
children 1868c5975f31
rev   line source
nuclear@0 1 #include "scene.h"
nuclear@0 2 #include "opengl.h"
nuclear@0 3
nuclear@0 4 Scene::~Scene()
nuclear@0 5 {
nuclear@0 6 destroy();
nuclear@0 7 }
nuclear@0 8
nuclear@0 9 void Scene::destroy()
nuclear@0 10 {
nuclear@0 11 for(size_t i=0; i<objects.size(); i++) {
nuclear@0 12 delete objects[i];
nuclear@0 13 }
nuclear@0 14 objects.clear();
nuclear@0 15
nuclear@0 16 for(size_t i=0; i<meshes.size(); i++) {
nuclear@0 17 delete meshes[i];
nuclear@0 18 }
nuclear@0 19 meshes.clear();
nuclear@0 20
nuclear@0 21 for(size_t i=0; i<curves.size(); i++) {
nuclear@0 22 delete curves[i];
nuclear@0 23 }
nuclear@0 24 curves.clear();
nuclear@0 25 }
nuclear@0 26
nuclear@0 27 void Scene::draw(long msec) const
nuclear@0 28 {
nuclear@0 29 for(size_t i=0; i<objects.size(); i++) {
nuclear@0 30 objects[i]->draw(msec);
nuclear@0 31 }
nuclear@0 32
nuclear@0 33 if(objects.empty()) {
nuclear@0 34 printf("rendering meshes directly\n");
nuclear@0 35 for(size_t i=0; i<meshes.size(); i++) {
nuclear@0 36 meshes[i]->draw();
nuclear@0 37 }
nuclear@0 38 }
nuclear@0 39 }