]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resources/resources.cpp
Rename Pipeline to Sequence
[libs/gl.git] / source / resources / resources.cpp
index a2d9219b0f6075a97f7be5d6d54b3341a98f88e4..e83f33eb529078f80c1bd08d426c40dc49a9a08e 100644 (file)
 #include "mesh.h"
 #include "module.h"
 #include "object.h"
-#include "pipelinetemplate.h"
+#include "sequencetemplate.h"
 #include "pose.h"
 #include "program.h"
 #include "resourcemanager.h"
 #include "resources.h"
 #include "sampler.h"
+#include "scene.h"
 #include "technique.h"
 #include "texture1d.h"
 #include "texture2d.h"
@@ -47,10 +48,11 @@ Resources::Resources():
        add_type<Mesh>().keyword("mesh").creator(&Resources::create_mesh);
        add_type<Module>().suffix(".glsl").suffix(".spv").creator(&Resources::create_module);
        add_type<Object>().keyword("object");
-       add_type<PipelineTemplate>().suffix(".pipe").keyword("pipeline");
+       add_type<SequenceTemplate>().suffix(".seq").keyword("sequence");
        add_type<Pose>().keyword("pose");
        add_type<Program>().keyword("shader").creator(&Resources::create_program);
        add_type<Sampler>().suffix(".samp").keyword("sampler");
+       add_type<Scene>().suffix(".scene").creator(&Resources::create_scene);
        add_type<Technique>().suffix(".tech").keyword("technique");
        add_type<Texture1D>().base<Texture>().suffix(".tex1d").keyword("texture1d");
        add_type<Texture2D>().base<Texture>().suffix(".tex2d").suffix(".png").suffix(".jpg").keyword("texture2d").creator(&Resources::create_texture2d);
@@ -124,6 +126,19 @@ Mesh *Resources::create_mesh(const string &name)
        return 0;
 }
 
+Scene *Resources::create_scene(const string &name)
+{
+       if(RefPtr<IO::Seekable> io = open_raw(name))
+       {
+               DataFile::Parser parser(*io, name);
+               Scene::GenericLoader ldr(*this);
+               ldr.load(parser);
+               return ldr.get_scene();
+       }
+
+       return 0;
+}
+
 Texture2D *Resources::create_texture2d(const string &name)
 {
        string ext = FS::extpart(name);