X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=blender%2Fio_mspgl%2Fexport_material.py;h=826ab92688429e69cf5b735c06227674fa8fbd64;hb=16ff00bce699d09cc89e4280a97b097c59e7e475;hp=62319b8a93efcf878bdd751e52a38894f564e19a;hpb=9b371e56adc1d6be89f2d30881c3759a0d5f8eca;p=libs%2Fgl.git diff --git a/blender/io_mspgl/export_material.py b/blender/io_mspgl/export_material.py index 62319b8a..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,19 +36,17 @@ 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 material.render_mode!='CUSTOM': - if material.receive_shadows: - st.sub.append(Statement("receive_shadows", True)) - if material.image_based_lighting: - st.sub.append(Statement("image_based_lighting", True)) + if blend_st: + st.sub.append(blend_st) + 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)