From a72c03bc1c667ee914b8afb806be7eb8ae5b7dbc Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 22 Nov 2012 22:24:34 +0000 Subject: Fix cycles OSL wrong reflection texture coordinate. --- intern/cycles/kernel/shaders/node_environment_texture.osl | 6 ++++-- intern/cycles/kernel/shaders/node_texture_coordinate.osl | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/intern/cycles/kernel/shaders/node_environment_texture.osl b/intern/cycles/kernel/shaders/node_environment_texture.osl index 90c7ce475ae..4367f7f4994 100644 --- a/intern/cycles/kernel/shaders/node_environment_texture.osl +++ b/intern/cycles/kernel/shaders/node_environment_texture.osl @@ -19,14 +19,16 @@ #include "stdosl.h" #include "node_color.h" -vector environment_texture_direction_to_equirectangular(vector dir) { +vector environment_texture_direction_to_equirectangular(vector dir) +{ float u = -atan2(dir[1], dir[0])/(2.0*M_PI) + 0.5; float v = atan2(dir[2], hypot(dir[0], dir[1]))/M_PI + 0.5; return vector(u, v, 0.0); } -vector environment_texture_direction_to_mirrorball(vector dir) { +vector environment_texture_direction_to_mirrorball(vector dir) +{ dir[1] -= 1.0; float div = 2.0*sqrt(max(-0.5*dir[1], 0.0)); diff --git a/intern/cycles/kernel/shaders/node_texture_coordinate.osl b/intern/cycles/kernel/shaders/node_texture_coordinate.osl index 099116c33c0..37460bcfc98 100644 --- a/intern/cycles/kernel/shaders/node_texture_coordinate.osl +++ b/intern/cycles/kernel/shaders/node_texture_coordinate.osl @@ -56,7 +56,7 @@ shader node_texture_coordinate( Camera = transform("camera", P); Window = transform("NDC", P); Normal = transform("world", "object", NormalIn); - Reflection = reflect(I, NormalIn); + Reflection = -reflect(I, NormalIn); } if (bump_offset == "dx") { -- cgit v1.2.3