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