diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-01-03 16:08:54 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-01-03 16:08:54 +0400 |
commit | 57cf48e7c6fd04f864072c21433a822907774f78 (patch) | |
tree | 45f3fa51f532a03e25c4d8ffa0c1be58027d01b2 /intern/cycles/kernel/kernel_bvh.h | |
parent | 8ca977b16e745f716d044a5b6ccbb5be4a70ac94 (diff) |
Cycles Hair: refactoring to support generic attributes for hair curves. There
should be no functional changes yet. UV, tangent and intercept are now stored
as attributes, with the intention to add more like multiple uv's, vertex
colors, generated coordinates and motion vectors later.
Things got a bit messy due to having both triangle and curve data in the same
mesh data structure, which also gives us two sets of attributes. This will get
cleaned up when we split the mesh class.
Diffstat (limited to 'intern/cycles/kernel/kernel_bvh.h')
-rw-r--r-- | intern/cycles/kernel/kernel_bvh.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/intern/cycles/kernel/kernel_bvh.h b/intern/cycles/kernel/kernel_bvh.h index 15af35a05f8..d32287f91e8 100644 --- a/intern/cycles/kernel/kernel_bvh.h +++ b/intern/cycles/kernel/kernel_bvh.h @@ -214,13 +214,13 @@ __device_inline void bvh_curve_intersect(KernelGlobals *kg, Intersection *isect, int flags = kernel_data.curve_kernel_data.curveflags; int prim = kernel_tex_fetch(__prim_index, triAddr); - float4 v00 = kernel_tex_fetch(__cur_segs, prim); + float4 v00 = kernel_tex_fetch(__curve_segments, prim); int v1 = __float_as_int(v00.x); int v2 = __float_as_int(v00.y); - float4 P1 = kernel_tex_fetch(__cur_keys, v1); - float4 P2 = kernel_tex_fetch(__cur_keys, v2); + float4 P1 = kernel_tex_fetch(__curve_keys, v1); + float4 P2 = kernel_tex_fetch(__curve_keys, v2); float l = v00.w; float r1 = P1.w; @@ -720,13 +720,13 @@ __device_inline float3 bvh_curve_refine(KernelGlobals *kg, ShaderData *sd, const } int prim = kernel_tex_fetch(__prim_index, isect->prim); - float4 v00 = kernel_tex_fetch(__cur_segs, prim); + float4 v00 = kernel_tex_fetch(__curve_segments, prim); int v1 = __float_as_int(v00.x); int v2 = __float_as_int(v00.y); - float4 P1 = kernel_tex_fetch(__cur_keys, v1); - float4 P2 = kernel_tex_fetch(__cur_keys, v2); + float4 P1 = kernel_tex_fetch(__curve_keys, v1); + float4 P2 = kernel_tex_fetch(__curve_keys, v2); float l = v00.w; float r1 = P1.w; float r2 = P2.w; |