From 9c4380383cc1d4fcf9ea9e34c2163cb3d3353a3e Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 26 Jul 2012 08:57:41 +0000 Subject: Fix #32138: material trancpareny setting --- source/blender/gpu/intern/gpu_material.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source/blender/gpu') diff --git a/source/blender/gpu/intern/gpu_material.c b/source/blender/gpu/intern/gpu_material.c index 557d8dbe237..bd25a042ee4 100644 --- a/source/blender/gpu/intern/gpu_material.c +++ b/source/blender/gpu/intern/gpu_material.c @@ -1348,6 +1348,7 @@ static void do_material_tex(GPUShadeInput *shi) void GPU_shadeinput_set(GPUMaterial *mat, Material *ma, GPUShadeInput *shi) { float hard = ma->har; + float one = 1.0f; memset(shi, 0, sizeof(*shi)); @@ -1357,7 +1358,12 @@ void GPU_shadeinput_set(GPUMaterial *mat, Material *ma, GPUShadeInput *shi) GPU_link(mat, "set_rgb", GPU_uniform(&ma->r), &shi->rgb); GPU_link(mat, "set_rgb", GPU_uniform(&ma->specr), &shi->specrgb); GPU_link(mat, "shade_norm", GPU_builtin(GPU_VIEW_NORMAL), &shi->vn); - GPU_link(mat, "set_value", GPU_uniform(&ma->alpha), &shi->alpha); + + if (ma->mode & MA_TRANSP) + GPU_link(mat, "set_value", GPU_uniform(&ma->alpha), &shi->alpha); + else + GPU_link(mat, "set_value", GPU_uniform(&one), &shi->alpha); + GPU_link(mat, "set_value", GPU_uniform(&ma->ref), &shi->refl); GPU_link(mat, "set_value", GPU_uniform(&ma->spec), &shi->spec); GPU_link(mat, "set_value", GPU_uniform(&ma->emit), &shi->emit); -- cgit v1.2.3