diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-02-19 10:52:48 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-02-19 10:52:48 +0300 |
commit | 3e534833e3a83ceecef35aa6c32764971e3b086e (patch) | |
tree | a3d56ccf3cc8205aa9b2a129ece3b361817ccd1f /intern/cycles/blender/blender_mesh.cpp | |
parent | 5004b582622144317948262793d5a4199ec90f13 (diff) |
Cycles: Make sphere and tube image mapping friendly with OpenCL
OpenCL doesn't let you to get address of vector components, which
is kinda annoying. On the other hand, maybe now compiler will have
more chances to optimize something out.
Diffstat (limited to 'intern/cycles/blender/blender_mesh.cpp')
-rw-r--r-- | intern/cycles/blender/blender_mesh.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index 572d8e89cbc..d71825c4de3 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -106,7 +106,9 @@ static void mikk_get_texture_coordinate(const SMikkTSpaceContext *context, float int vert_idx = userdata->mesh.tessfaces[face_num].vertices()[vert_num]; float3 orco = get_float3(userdata->mesh.vertices[vert_idx].undeformed_co()); - map_to_sphere(&uv[0], &uv[1], orco[0], orco[1], orco[2]); + float2 tmp = map_to_sphere(make_float3(orco[0], orco[1], orco[2])); + uv[0] = tmp.x; + uv[1] = tmp.y; } } |