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:
Diffstat (limited to 'intern/cycles/kernel/svm/bsdf_ward.h')
-rw-r--r--intern/cycles/kernel/svm/bsdf_ward.h30
1 files changed, 15 insertions, 15 deletions
diff --git a/intern/cycles/kernel/svm/bsdf_ward.h b/intern/cycles/kernel/svm/bsdf_ward.h
index 18967b3981e..d46baf099a6 100644
--- a/intern/cycles/kernel/svm/bsdf_ward.h
+++ b/intern/cycles/kernel/svm/bsdf_ward.h
@@ -44,28 +44,28 @@ typedef struct BsdfWardClosure {
float m_ay;
} BsdfWardClosure;
-__device void bsdf_ward_setup(ShaderData *sd, float3 N, float3 T, float ax, float ay)
+__device void bsdf_ward_setup(ShaderData *sd, ShaderClosure *sc, float3 T, float ax, float ay)
{
float m_ax = clamp(ax, 1e-5f, 1.0f);
float m_ay = clamp(ay, 1e-5f, 1.0f);
- sd->svm_closure_data0 = m_ax;
- sd->svm_closure_data1 = m_ay;
+ sc->data0 = m_ax;
+ sc->data1 = m_ay;
- sd->svm_closure = CLOSURE_BSDF_WARD_ID;
+ sc->type = CLOSURE_BSDF_WARD_ID;
sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY;
}
-__device void bsdf_ward_blur(ShaderData *sd, float roughness)
+__device void bsdf_ward_blur(ShaderClosure *sc, float roughness)
{
- sd->svm_closure_data0 = fmaxf(roughness, sd->svm_closure_data0);
- sd->svm_closure_data1 = fmaxf(roughness, sd->svm_closure_data1);
+ sc->data0 = fmaxf(roughness, sc->data0);
+ sc->data1 = fmaxf(roughness, sc->data1);
}
-__device float3 bsdf_ward_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf)
+__device float3 bsdf_ward_eval_reflect(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf)
{
- float m_ax = sd->svm_closure_data0;
- float m_ay = sd->svm_closure_data1;
+ float m_ax = sc->data0;
+ float m_ay = sc->data1;
float3 m_N = sd->N;
float3 m_T = normalize(sd->dPdu);
@@ -93,20 +93,20 @@ __device float3 bsdf_ward_eval_reflect(const ShaderData *sd, const float3 I, con
return make_float3 (0, 0, 0);
}
-__device float3 bsdf_ward_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf)
+__device float3 bsdf_ward_eval_transmit(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf)
{
return make_float3(0.0f, 0.0f, 0.0f);
}
-__device float bsdf_ward_albedo(const ShaderData *sd, const float3 I)
+__device float bsdf_ward_albedo(const ShaderData *sd, const ShaderClosure *sc, const float3 I)
{
return 1.0f;
}
-__device int bsdf_ward_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf)
+__device int bsdf_ward_sample(const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf)
{
- float m_ax = sd->svm_closure_data0;
- float m_ay = sd->svm_closure_data1;
+ float m_ax = sc->data0;
+ float m_ay = sc->data1;
float3 m_N = sd->N;
float3 m_T = normalize(sd->dPdu);