21 float3 tmp = ray_D /
dot(ray_D, surface_Ng);
25 surface_dP->dx = tmpx -
dot(tmpx, surface_Ng) * tmp;
26 surface_dP->dy = tmpy -
dot(tmpy, surface_Ng) * tmp;
54 if (zn < xn || zn < yn) {
55 if (yn < xn || yn < zn) {
75 float det = (dPdu.
x * dPdv.
y - dPdv.
x * dPdu.
y);
81 du->dx = (dP.
dx.
x * dPdv.
y - dP.
dx.
y * dPdv.
x) * det;
82 dv->dx = (dP.
dx.
y * dPdu.
x - dP.
dx.
x * dPdu.
y) * det;
84 du->dy = (dP.
dy.
x * dPdv.
y - dP.
dy.
y * dPdv.
x) * det;
85 dv->dy = (dP.
dy.
y * dPdu.
x - dP.
dy.
x * dPdu.
y) * det;
136 return ray_dP + ray_t * ray_dD;
additional_info("compositor_sum_squared_difference_float_shared") .push_constant(Type output_img float dot(value.rgb, luminance_coefficients)") .define("LOAD(value)"
#define ccl_device_forceinline
#define CCL_NAMESPACE_END
ccl_device void differential_dudv(ccl_private differential *du, ccl_private differential *dv, float3 dPdu, float3 dPdv, differential3 dP, float3 Ng)
ccl_device_forceinline float differential_make_compact(const float dD)
ccl_device_forceinline float differential_transfer_compact(const float ray_dP, const float3, const float ray_dD, const float ray_t)
ccl_device_forceinline float differential_incoming_compact(const float dD)
ccl_device differential differential_zero()
ccl_device differential3 differential3_zero()
ccl_device_forceinline differential3 differential_from_compact(const float3 D, const float dD)
ccl_device void differential_dudv_compact(ccl_private differential *du, ccl_private differential *dv, float3 dPdu, float3 dPdv, float dP, float3 Ng)
CCL_NAMESPACE_BEGIN ccl_device void differential_transfer(ccl_private differential3 *surface_dP, const differential3 ray_dP, float3 ray_D, const differential3 ray_dD, float3 surface_Ng, float ray_t)
ccl_device_forceinline float differential_zero_compact()
ccl_device void differential_incoming(ccl_private differential3 *dI, const differential3 dD)
CCL_NAMESPACE_BEGIN ccl_device_inline float3 zero_float3()
ccl_device_inline void make_orthonormals(const float3 N, ccl_private float3 *a, ccl_private float3 *b)