53 float m_eta = bsdf->
ior;
57 #ifdef __RAY_DIFFERENTIALS__
58 float3 dRdx, dRdy, dTdx, dTdy;
77 if (!inside && fresnel != 1.0f) {
82 #ifdef __RAY_DIFFERENTIALS__
ccl_device float3 bsdf_refraction_eval_transmit(ccl_private const ShaderClosure *sc, const float3 I, const float3 omega_in, ccl_private float *pdf)
CCL_NAMESPACE_BEGIN ccl_device int bsdf_refraction_setup(ccl_private MicrofacetBsdf *bsdf)
ccl_device int bsdf_refraction_sample(ccl_private const ShaderClosure *sc, float3 Ng, float3 I, float3 dIdx, float3 dIdy, float randu, float randv, ccl_private float3 *eval, ccl_private float3 *omega_in, ccl_private float3 *domega_in_dx, ccl_private float3 *domega_in_dy, ccl_private float *pdf)
ccl_device float3 bsdf_refraction_eval_reflect(ccl_private const ShaderClosure *sc, const float3 I, const float3 omega_in, ccl_private float *pdf)
CCL_NAMESPACE_BEGIN ccl_device float fresnel_dielectric(float eta, const float3 N, const float3 I, ccl_private float3 *R, ccl_private float3 *T, ccl_private bool *is_inside)
#define CCL_NAMESPACE_END
@ CLOSURE_BSDF_REFRACTION_ID
#define __RAY_DIFFERENTIALS__