1 #include "pch.h"
2 #include "MaterialInstancePass.hpp"
3 
4 #include <fstream>
5 
6 namespace sh
7 {
8 
createTextureUnit(const std::string & name)9 	MaterialInstanceTextureUnit* MaterialInstancePass::createTextureUnit (const std::string& name)
10 	{
11 		mTexUnits.push_back(MaterialInstanceTextureUnit(name));
12 		return &mTexUnits.back();
13 	}
14 
save(std::ofstream & stream)15 	void MaterialInstancePass::save(std::ofstream &stream)
16 	{
17 		if (mShaderProperties.listProperties().size())
18 		{
19 			stream << "\t\t" << "shader_properties" << '\n';
20 			stream << "\t\t{\n";
21 			mShaderProperties.save(stream, "\t\t\t");
22 			stream << "\t\t}\n";
23 		}
24 
25 		PropertySetGet::save(stream, "\t\t");
26 
27 		for (std::vector <MaterialInstanceTextureUnit>::iterator it = mTexUnits.begin();
28 			 it != mTexUnits.end(); ++it)
29 		{
30 			stream << "\t\ttexture_unit " << it->getName() << '\n';
31 			stream << "\t\t{\n";
32 			it->save(stream, "\t\t\t");
33 			stream << "\t\t}\n";
34 		}
35 	}
36 }
37