source: GTP/trunk/App/Demos/Vis/FriendlyCulling/src/ResourceManager.h @ 2844

Revision 2844, 1.3 KB checked in by mattausch, 16 years ago (diff)

lod starting to work

Line 
1#ifndef __ResourceManager_H__
2#define __ResourceManager_H__
3
4
5#include <string>
6#include <iostream>
7#include <fstream>
8#include <map>
9#include "common.h"
10
11
12class igzstream;
13
14
15namespace CHCDemoEngine
16{
17
18class SceneEntity;
19class Material;
20class Geometry;
21class Texture;
22class Matrix4x4;
23class Transform3;
24
25
26/** Loads a scene and also handles the cleanup
27*/
28class ResourceManager
29{
30public:
31
32        ~ResourceManager();
33        /** Loads a model
34        */
35        bool Load(const std::string &filename, SceneEntityContainer &geometry);
36        SceneEntityContainer mSceneEntities;
37
38protected:
39       
40        void LoadTextures(igzstream &str);
41        void LoadShapes(igzstream &str);
42        void LoadSceneEntities(igzstream &str, SceneEntityContainer &entities);
43
44        SceneEntity *LoadSceneEntity(igzstream &str);
45        Material *LoadMaterial(igzstream &str);
46        Geometry *LoadGeometry(igzstream &str);
47
48        std::map<int, Texture *> mTextureTable;
49        std::map<int, Material *> mMaterialTable;
50        std::map<int, Geometry *> mGeometryTable;
51        //std::map<int, Shape *> mShapesTable;
52
53        // these are kept to be able to delete these resources afterwards
54        std::vector<Texture *> mTextures;
55        std::vector<Material *> mMaterials;
56        std::vector<Geometry *> mGeometry;
57        std::vector<Transform3 *> mTrafos;
58       
59        ShapeContainer mShapes;
60};
61
62}
63#endif
Note: See TracBrowser for help on using the repository browser.