Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-03-26 17:21:43 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-03-26 17:21:43 +0400
commit53dab9ec69d8a583f458a47d3cdfdae06486ca17 (patch)
treeb32ee9e8ff908556a2bc0643a7705fc16729b309 /intern/cycles/kernel/svm/svm_ramp.h
parentd27a1a9acd3cc4e64334da9c872f3fe71f80a215 (diff)
Cycles: fix for ColorRamp node alpha output.
Diffstat (limited to 'intern/cycles/kernel/svm/svm_ramp.h')
-rw-r--r--intern/cycles/kernel/svm/svm_ramp.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/intern/cycles/kernel/svm/svm_ramp.h b/intern/cycles/kernel/svm/svm_ramp.h
index 0654240c21b..55c2b3f6af4 100644
--- a/intern/cycles/kernel/svm/svm_ramp.h
+++ b/intern/cycles/kernel/svm/svm_ramp.h
@@ -40,11 +40,15 @@ __device void svm_node_rgb_ramp(KernelGlobals *kg, ShaderData *sd, float *stack,
{
uint fac_offset = node.y;
uint color_offset = node.z;
+ uint alpha_offset = node.w;
float fac = stack_load_float(stack, fac_offset);
float4 color = rgb_ramp_lookup(kg, *offset, fac);
- stack_store_float3(stack, color_offset, float4_to_float3(color));
+ if(stack_valid(color_offset))
+ stack_store_float3(stack, color_offset, float4_to_float3(color));
+ if(stack_valid(alpha_offset))
+ stack_store_float(stack, alpha_offset, color.w);
*offset += RAMP_TABLE_SIZE;
}