const Program *Material::create_compatible_shader(const map<string, int> &extra_spec) const
{
string module_name;
map<string, int> spec_values;
const Program *Material::create_compatible_shader(const map<string, int> &extra_spec) const
{
string module_name;
map<string, int> spec_values;
fill_program_info(module_name, spec_values);
for(const auto &kvp: extra_spec)
spec_values[kvp.first] = kvp.second;
fill_program_info(module_name, spec_values);
for(const auto &kvp: extra_spec)
spec_values[kvp.first] = kvp.second;
- info += format(",%s:%d", kvp.first, kvp.second);
+ {
+ info_hash = hash_update<64>(info_hash, kvp.first);
+ info_hash = hash_update<64>(info_hash, kvp.second);
+ }
void Material::Loader::sampler(const string &name)
{
obj.sampler = &get_collection().get<Sampler>(name);
void Material::Loader::sampler(const string &name)
{
obj.sampler = &get_collection().get<Sampler>(name);