File MaterialLoader.h¶
-
namespace
Gsage -
class
MaterialLoader: public EventDispatcher, public EventSubscriber<MaterialLoader> - #include <MaterialLoader.h>
TODO: INDEXER
{ “filename”: { “checksum”: “…”, “changed”: “…”, “materials”: [] } }
for(auto& file : filesystem->ls(folder)) { if(filesystem->extension(file) != “material”) { continue; } } Custom OGRE material loader
Public Functions
-
MaterialLoader(OgreRenderSystem *render, GsageFacade *facade)¶
-
bool
load(const std::string &material, const std::string &group, bool background = true)¶ Loads material from any of resource folders
- Parameters
material: Material namegroup: Material groupbackground: Loads material in background
-
void
scan(const std::string &folder)¶ Indexer scans materials files to detect materials sets defined there
- Parameters
folder: Folder to scan
Private Functions
-
void
scanFolder(const std::string &folder, std::vector<std::string> &files, const std::string extension)¶
-
void
readIndexFile()¶
-
void
writeIndexFile()¶
-
bool
onEnvUpdated(EventDispatcher *sender, const Event &event)¶
-
void
reloadIndex()¶
Private Members
-
OgreRenderSystem *
mRender¶
-
GsageFacade *
mFacade¶
-
DataProxy
mIndex¶
-
std::string
mWorkdir¶
-
MaterialIndex
mMaterialIndex¶
-
struct
FileInfo¶
-
-
class