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