X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=blender%2Fio_mspgl%2Fexport_material.py;h=e3014f3cc6f55c6c7c05353685dfbd28bc5b8cb6;hb=55e3f2d494d939280a4ea48676fd17ca2342b457;hp=696622183153a5b0d244d0eda3ca64dafdb74159;hpb=03d2f0d7f4673b5262f396fda430e766eec4549b;p=libs%2Fgl.git diff --git a/blender/io_mspgl/export_material.py b/blender/io_mspgl/export_material.py index 69662218..e3014f3c 100644 --- a/blender/io_mspgl/export_material.py +++ b/blender/io_mspgl/export_material.py @@ -1,6 +1,7 @@ import os def create_technique_resource(material, resources): + # This operates on a Blender material, not a custom object from .datafile import Resource, Statement tech_res = Resource(material.name+".tech", "technique") @@ -21,9 +22,16 @@ def create_technique_resource(material, resources): for u in material.uniforms: ss.sub.append(Statement("uniform", u.name, *u.values[:u.size])) st.sub.append(ss) + elif material.receive_shadows: + st.sub.append(Statement("receive_shadows", True)) tech_res.statements.append(st) + if material.shadow_method!='NONE': + st = Statement("pass", "shadow") + st.sub.append(Statement("shader", "_occluder.glsl.shader")) + tech_res.statements.append(st) + return tech_res class MaterialExporter: @@ -65,7 +73,7 @@ class MaterialExporter: mat_res = Resource(material.name+".mat", "material") if material.type!="pbr" and material.type!="unlit": - raise Exception("Can't export unknown material type "+material.type) + raise Exception("Can't export material {} of unknown type {}".format(material.name, material.type)) mat_res.statements.append(Statement("type", Token(material.type))); for p in material.properties: