Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-09-12 17:13:56 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-09-12 17:13:56 +0400
commitebc653463ddfd9f8b893b6acbcc6465972e6abc6 (patch)
tree6b3cc2ba3f04994cf9f8d8f5bca6d63cfe2c9d1f /intern/cycles/kernel/osl/osl_shader.h
parentc40492205b4369de3babe63b43d127ca622773ec (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.h18
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);