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

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