diff options
author | Thomas Dinges <blender@dingto.org> | 2012-06-04 23:00:13 +0400 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2012-06-04 23:00:13 +0400 |
commit | ca7197b6209b82af4b87f851bf5d6becdb7625b2 (patch) | |
tree | 65ef2d71a5ec602c05d3bdb0185c5fea77189424 /intern/cycles | |
parent | 5024996eea206252adc098f44c9a3a1d01ae6167 (diff) |
Cycles / OSL:
* __OSL__ is now defined for CPU when building with OSL.
* First batch of compile fixes, remove some unneeded std namespace declarations and added missing includes.
Diffstat (limited to 'intern/cycles')
-rw-r--r-- | intern/cycles/kernel/kernel_types.h | 4 | ||||
-rw-r--r-- | intern/cycles/kernel/osl/bsdf_ashikhmin_velvet.cpp | 12 | ||||
-rw-r--r-- | intern/cycles/kernel/osl/bsdf_diffuse.cpp | 6 | ||||
-rw-r--r-- | intern/cycles/kernel/osl/bsdf_oren_nayar.cpp | 3 |
4 files changed, 16 insertions, 9 deletions
diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index d119057ac67..4fd57a5f2b3 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -39,6 +39,9 @@ CCL_NAMESPACE_BEGIN #ifdef __KERNEL_CPU__ #define __KERNEL_SHADING__ #define __KERNEL_ADV_SHADING__ +#ifdef WITH_OSL +#define __OSL__ +#endif #endif #ifdef __KERNEL_CUDA__ @@ -107,7 +110,6 @@ CCL_NAMESPACE_BEGIN #endif //#define __MULTI_LIGHT__ -//#define __OSL__ //#define __SOBOL_FULL_SCREEN__ //#define __QBVH__ diff --git a/intern/cycles/kernel/osl/bsdf_ashikhmin_velvet.cpp b/intern/cycles/kernel/osl/bsdf_ashikhmin_velvet.cpp index a38c5b55cf5..808837bf211 100644 --- a/intern/cycles/kernel/osl/bsdf_ashikhmin_velvet.cpp +++ b/intern/cycles/kernel/osl/bsdf_ashikhmin_velvet.cpp @@ -36,6 +36,8 @@ #include "osl_closures.h" +#include "util_math.h" + CCL_NAMESPACE_BEGIN using namespace OSL; @@ -50,7 +52,7 @@ public: void setup() { - m_sigma = std::max(m_sigma, 0.01f); + m_sigma = max(m_sigma, 0.01f); m_invsigma2 = 1.0f/(m_sigma * m_sigma); } @@ -89,7 +91,7 @@ public: float cosHO = fabsf(omega_out.dot(H)); float cosNHdivHO = cosNH / cosHO; - cosNHdivHO = std::max(cosNHdivHO, 0.00001f); + cosNHdivHO = max(cosNHdivHO, 0.00001f); float fac1 = 2 * fabsf(cosNHdivHO * cosNO); float fac2 = 2 * fabsf(cosNHdivHO * cosNI); @@ -99,7 +101,7 @@ public: float cotangent2 = (cosNH * cosNH) / sinNH2; float D = expf(-cotangent2 * m_invsigma2) * m_invsigma2 * float(M_1_PI) / sinNH4; - float G = std::min(1.0f, std::min(fac1, fac2)); // TODO: derive G from D analytically + float G = min(1.0f, min(fac1, fac2)); // TODO: derive G from D analytically float out = 0.25f * (D * G) / cosNO; @@ -133,7 +135,7 @@ public: float cosHO = fabsf(omega_out.dot(H)); float cosNHdivHO = cosNH / cosHO; - cosNHdivHO = std::max(cosNHdivHO, 0.00001f); + cosNHdivHO = max(cosNHdivHO, 0.00001f); float fac1 = 2 * fabsf(cosNHdivHO * cosNO); float fac2 = 2 * fabsf(cosNHdivHO * cosNI); @@ -143,7 +145,7 @@ public: float cotangent2 = (cosNH * cosNH) / sinNH2; float D = expf(-cotangent2 * m_invsigma2) * m_invsigma2 * float(M_1_PI) / sinNH4; - float G = std::min(1.0f, std::min(fac1, fac2)); // TODO: derive G from D analytically + float G = min(1.0f, min(fac1, fac2)); // TODO: derive G from D analytically float power = 0.25f * (D * G) / cosNO; diff --git a/intern/cycles/kernel/osl/bsdf_diffuse.cpp b/intern/cycles/kernel/osl/bsdf_diffuse.cpp index 0d4b3fa471f..352e75f73c9 100644 --- a/intern/cycles/kernel/osl/bsdf_diffuse.cpp +++ b/intern/cycles/kernel/osl/bsdf_diffuse.cpp @@ -36,6 +36,8 @@ #include "osl_closures.h" +#include "util_math.h" + CCL_NAMESPACE_BEGIN using namespace OSL; @@ -69,7 +71,7 @@ public: Color3 eval_reflect (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const { - float cos_pi = std::max(m_N.dot(omega_in),0.0f) * (float) M_1_PI; + float cos_pi = max(m_N.dot(omega_in),0.0f) * (float) M_1_PI; pdf = cos_pi; return Color3 (cos_pi, cos_pi, cos_pi); } @@ -137,7 +139,7 @@ public: Color3 eval_transmit (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const { - float cos_pi = std::max(-m_N.dot(omega_in), 0.0f) * (float) M_1_PI; + float cos_pi = max(-m_N.dot(omega_in), 0.0f) * (float) M_1_PI; pdf = cos_pi; return Color3 (cos_pi, cos_pi, cos_pi); } diff --git a/intern/cycles/kernel/osl/bsdf_oren_nayar.cpp b/intern/cycles/kernel/osl/bsdf_oren_nayar.cpp index 5d2ca909f93..dd6c59d98c2 100644 --- a/intern/cycles/kernel/osl/bsdf_oren_nayar.cpp +++ b/intern/cycles/kernel/osl/bsdf_oren_nayar.cpp @@ -19,6 +19,7 @@ #include <OpenImageIO/fmath.h> #include <OSL/genclosure.h> #include "osl_closures.h" +#include "util_math.h" CCL_NAMESPACE_BEGIN @@ -118,7 +119,7 @@ private: float t = l.dot(v) - nl * nv; if(t > 0.0f) { - t /= max(nl, vl) + 1e-8f; + t /= max(nl, nv) + 1e-8f; } return nl * (m_a + m_b * t); } |