Distributed under the LGPL
*/
+#include <msp/datafile/collection.h>
#include "objectpass.h"
#include "program.h"
#include "programdata.h"
ObjectPass::ObjectPass():
shprog(0),
- shdata(0)
+ shdata(0),
+ use_textures(true)
{ }
ObjectPass::~ObjectPass()
ObjectPass::Loader::Loader(ObjectPass &p, Collection &c):
- pass(p),
- coll(c)
+ DataFile::CollectionObjectLoader<ObjectPass>(p, &c)
{
add("shader", &Loader::shader);
+ add("use_textures", &ObjectPass::use_textures);
}
void ObjectPass::Loader::shader(const string &n)
{
- Program *shprog=coll.get<Program>(n);
+ Program *shprog=coll->get<Program>(n);
if(shprog) // Allow for unsupported shaders
{
RefPtr<ProgramData> shdata=new ProgramData;
load_sub(*shdata, *shprog);
- pass.shprog=shprog;
- if(pass.shdata)
- delete pass.shdata;
- pass.shdata=shdata.release();
+ obj.shprog=shprog;
+ if(obj.shdata)
+ delete obj.shdata;
+ obj.shdata=shdata.release();
}
}