self.properties = (self.base_color, self.metalness, self.roughness, self.normal, self.emission)
+ sampler_settings = None
+ for p in self.properties:
+ if p.texture:
+ settings = (p.texture.default_filter, p.texture.interpolation, p.texture.use_mipmap, p.texture.max_anisotropy)
+ if sampler_settings is None:
+ sampler_settings = settings
+ elif settings!=sampler_settings:
+ raise Exception("Conflicting sampler settings in material textures")
+
class MaterialMap:
def __init__(self, materials):
if not material.material_map:
raise Exception("Material is not part of a material map")
- tech = material.technique
+ shader = material.shader
materials = []
for m in context.blend_data.materials:
- if m.material_map and m.technique==tech:
+ if m.material_map and m.shader==shader:
materials.append(m)
mat_map = MaterialMap(materials)