X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=blender%2Fio_mspgl%2Fexport_material.py;h=2d85b10f3c7c4b26aa9e45803b0ca2af7d9134eb;hb=a275d25eccad43716c5dcf91f8bc4af2a53c0445;hp=97bb8e9e66dc06f76fdbbd38571b236253226fe2;hpb=03b21dc33ad615efa26849323a2018dd989218c3;p=libs%2Fgl.git diff --git a/blender/io_mspgl/export_material.py b/blender/io_mspgl/export_material.py index 97bb8e9e..2d85b10f 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,14 +22,23 @@ 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)) + else: + if material.receive_shadows: + st.sub.append(Statement("receive_shadows", True)) + if material.image_based_lighting: + st.sub.append(Statement("image_based_lighting", True)) tech_res.statements.append(st) if material.shadow_method!='NONE': st = Statement("pass", "shadow") - st.sub.append(Statement("shader", "_occluder.glsl.shader")) + if material.render_mode=='CUSTOM': + shader = material.shadow_shader or material.shader + if shader.endswith(".glsl"): + shader += ".shader" + st.sub.append(Statement("shader", shader)) + else: + st.sub.append(Statement("shader", "_occluder.glsl.shader")) tech_res.statements.append(st) return tech_res