]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resources/resources.cpp
Split Module into a base class and format-specific class
[libs/gl.git] / source / resources / resources.cpp
index 68d9739e7a49d64039a0f47d53d46159021bf88c..bb3243f6fde4601d0f452901dfe4b6a4d3c02625 100644 (file)
@@ -174,11 +174,18 @@ Texture2D *Resources::create_texture2d(const string &name)
 
 Module *Resources::create_module(const string &name)
 {
+       string ext = FS::extpart(name);
+       if(ext!=".glsl")
+               return 0;
+
        if(RefPtr<IO::Seekable> io = open_raw(name))
        {
-               RefPtr<Module> module = new Module;
-               module->load_source(*io, this, name);
-               return module.release();
+               if(ext==".glsl")
+               {
+                       RefPtr<GlslModule> module = new GlslModule;
+                       module->load_source(*io, this, name);
+                       return module.release();
+               }
        }
 
        return 0;