diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-09-12 17:13:56 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-09-12 17:13:56 +0400 |
commit | ebc653463ddfd9f8b893b6acbcc6465972e6abc6 (patch) | |
tree | 6b3cc2ba3f04994cf9f8d8f5bca6d63cfe2c9d1f /intern/cycles/kernel/osl/osl_shader.h | |
parent | c40492205b4369de3babe63b43d127ca622773ec (diff) |
Cycles:
* Fix missing update when editing objects with emission materials.
* Fix preview pass rendering set to 1 not showing full resolution.
* Fix CUDA runtime compiling failing due to missing cache directory.
* Use settings from first render layer for visibility and material override.
And a bunch of incomplete and still disabled code mostly related to closure
sampling.
Diffstat (limited to 'intern/cycles/kernel/osl/osl_shader.h')
-rw-r--r-- | intern/cycles/kernel/osl/osl_shader.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/intern/cycles/kernel/osl/osl_shader.h b/intern/cycles/kernel/osl/osl_shader.h index 9b578b159ae..6b1d402989b 100644 --- a/intern/cycles/kernel/osl/osl_shader.h +++ b/intern/cycles/kernel/osl/osl_shader.h @@ -46,6 +46,7 @@ namespace OSL = ::OSL; class OSLRenderServices; class Scene; +class ShaderClosure; class ShaderData; class differential3; class KernelGlobals; @@ -66,15 +67,16 @@ public: static void eval_displacement(KernelGlobals *kg, ShaderData *sd); /* sample & eval */ - static int bsdf_sample(const ShaderData *sd, float randu, float randv, + static int bsdf_sample(const ShaderData *sd, const ShaderClosure *sc, + float randu, float randv, float3& eval, float3& omega_in, differential3& domega_in, float& pdf); - static float3 bsdf_eval(const ShaderData *sd, const float3& omega_in, float& pdf); - static float3 emissive_eval(const ShaderData *sd); - static void emissive_sample(const ShaderData *sd, float randu, float randv, - float3 *eval, float3 *I, float *pdf); - static float3 volume_eval_phase(const ShaderData *sd, const float3 omega_in, - const float3 omega_out); - static float3 holdout_eval(const ShaderData *sd); + static float3 bsdf_eval(const ShaderData *sd, const ShaderClosure *sc, + const float3& omega_in, float& pdf); + + static float3 emissive_eval(const ShaderData *sd, const ShaderClosure *sc); + + static float3 volume_eval_phase(const ShaderData *sd, const ShaderClosure *sc, + const float3 omega_in, const float3 omega_out); /* release */ static void release(KernelGlobals *kg, const ShaderData *sd); |