X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=blender%2Fio_mspgl%2Fexport_material.py;h=826ab92688429e69cf5b735c06227674fa8fbd64;hb=9656026f49b0063e035825fec2a96e17b6de93af;hp=617a683f9628ffcbde9e69d5adbd9333efd5452b;hpb=27ba68e3d81098c59b7114a8f54996278c05e4ef;p=libs%2Fgl.git diff --git a/blender/io_mspgl/export_material.py b/blender/io_mspgl/export_material.py index 617a683f..826ab926 100644 --- a/blender/io_mspgl/export_material.py +++ b/blender/io_mspgl/export_material.py @@ -6,12 +6,23 @@ def create_technique_resource(material, resources): mat_res = resources[material.name+".mat"] + blend_st = None + if material.blend_type=='ALPHA': + blend_st = Statement("blend", Token("SRC_ALPHA"), Token("ONE_MINUS_SRC_ALPHA")) + elif material.blend_type=='ADDITIVE': + blend_st = Statement("blend", Token("ONE"), Token("ONE")) + elif material.blend_type=='ADDITIVE_ALPHA': + blend_st = Statement("blend", Token("SRC_ALPHA"), Token("ONE")) + if material.render_mode=='CUSTOM': for m in material.render_methods: st = Statement("method", m.tag) if mat_res and m.use_material: st.sub.append(tech_res.create_reference_statement("material", mat_res)) + if m.tag=="blended" and blend_st: + st.sub.append(blend_st) + shader = m.shader if shader.endswith(".glsl"): shader += ".shader" @@ -25,13 +36,13 @@ def create_technique_resource(material, resources): tech_res.statements.append(st) else: - base_method = "blended" if material.blended else "" + base_method = "blended" if material.blend_type!='NONE' else "" st = Statement("method", base_method) if mat_res: st.sub.append(tech_res.create_embed_statement("material", mat_res)) - if material.blended: - ss.sub.append(Statement("blend", Token("SRC_ALPHA"), Token("ONE_MINUS_SRC_ALPHA"))) + if blend_st: + st.sub.append(blend_st) if material.receive_shadows: st.sub.append(Statement("receive_shadows", True)) if material.image_based_lighting: