eqemu

annotate src/scene.h @ 3:f9274bebe55e

adding 3d graphics stuff
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 17 Jul 2014 02:35:19 +0300
parents
children 3d3656360a82
rev   line source
nuclear@3 1 #ifndef SCENE_H_
nuclear@3 2 #define SCENE_H_
nuclear@3 3
nuclear@3 4 #include <stdio.h>
nuclear@3 5 #include <vector>
nuclear@3 6 #include "mesh.h"
nuclear@3 7 #include "object.h"
nuclear@3 8
nuclear@3 9 class Scene {
nuclear@3 10 private:
nuclear@3 11 std::vector<Object*> objects;
nuclear@3 12 std::vector<Mesh*> meshes;
nuclear@3 13
nuclear@3 14 bool load_obj(FILE *fp); // defined in objfile.cc
nuclear@3 15
nuclear@3 16 public:
nuclear@3 17 ~Scene();
nuclear@3 18
nuclear@3 19 bool load(const char *fname);
nuclear@3 20
nuclear@3 21 void add_object(Object *obj);
nuclear@3 22 void add_mesh(Mesh *mesh);
nuclear@3 23
nuclear@3 24 int get_num_objects() const;
nuclear@3 25 int get_num_meshes() const;
nuclear@3 26
nuclear@3 27 Object *get_object(int idx) const;
nuclear@3 28 Mesh *get_mesh(int idx) const;
nuclear@3 29
nuclear@3 30 void update(long msec);
nuclear@3 31 void render() const;
nuclear@3 32 };
nuclear@3 33
nuclear@3 34 #endif // SCENE_H_