]> git.tdb.fi Git - libs/gl.git/blobdiff - source/renderpass.cpp
Bind ProgramData to a Program upon construction
[libs/gl.git] / source / renderpass.cpp
index 8c4048ca6e9887e993b0c689c63d257092103a7a..d15a70983637f876de06a12bc3a0b9a8a393b4f8 100644 (file)
@@ -80,13 +80,6 @@ void RenderPass::Loader::init()
        add("uniforms", &Loader::uniforms);
 }
 
-void RenderPass::Loader::finish()
-{
-       // XXX Make shdata optional
-       if(obj.shprog && !obj.shdata)
-               obj.shdata = new ProgramData;
-}
-
 void RenderPass::Loader::material_inline()
 {
        RefPtr<Material> mat = new Material;
@@ -113,8 +106,8 @@ void RenderPass::Loader::uniforms()
        if(!obj.shprog)
                throw InvalidState("Can't load uniforms without a shader program");
        if(!obj.shdata)
-               obj.shdata = new ProgramData;
-       load_sub(*obj.shdata, *obj.shprog);
+               obj.shdata = new ProgramData(*obj.shprog);
+       load_sub(*obj.shdata);
 }