Blender V4.3
differential.h File Reference

Go to the source code of this file.

Functions

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 void differential_incoming (ccl_private differential3 *dI, const differential3 dD)
 
ccl_device void differential_dudv (ccl_private differential *du, ccl_private differential *dv, float3 dPdu, float3 dPdv, differential3 dP, float3 Ng)
 
ccl_device differential differential_zero ()
 
ccl_device differential3 differential3_zero ()
 
ccl_device_forceinline float differential_zero_compact ()
 
ccl_device_forceinline float differential_make_compact (const float dD)
 
ccl_device_forceinline float differential_make_compact (const differential3 dD)
 
ccl_device_forceinline float differential_incoming_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 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)
 

Function Documentation

◆ differential3_zero()

ccl_device differential3 differential3_zero ( )

Definition at line 97 of file differential.h.

References differential3::dx, differential3::dy, and zero_float3().

◆ differential_dudv()

ccl_device void differential_dudv ( ccl_private differential * du,
ccl_private differential * dv,
float3 dPdu,
float3 dPdv,
differential3 dP,
float3 Ng )

Definition at line 38 of file differential.h.

References differential3::dx, differential3::dy, fabsf, float3::x, float3::y, and float3::z.

Referenced by differential_dudv_compact().

◆ differential_dudv_compact()

ccl_device void differential_dudv_compact ( ccl_private differential * du,
ccl_private differential * dv,
float3 dPdu,
float3 dPdv,
float dP,
float3 Ng )

Definition at line 150 of file differential.h.

References differential_dudv(), and differential_from_compact().

Referenced by shader_setup_from_ray().

◆ differential_from_compact()

◆ differential_incoming()

ccl_device void differential_incoming ( ccl_private differential3 * dI,
const differential3 dD )

Definition at line 29 of file differential.h.

References differential3::dx, and differential3::dy.

◆ differential_incoming_compact()

ccl_device_forceinline float differential_incoming_compact ( const float dD)

Definition at line 126 of file differential.h.

Referenced by shader_setup_from_ray().

◆ differential_make_compact() [1/2]

ccl_device_forceinline float differential_make_compact ( const differential3 dD)

Definition at line 121 of file differential.h.

References differential3::dx, differential3::dy, and len.

◆ differential_make_compact() [2/2]

◆ differential_transfer()

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 )

Definition at line 11 of file differential.h.

References dot(), differential3::dx, and differential3::dy.

◆ differential_transfer_compact()

ccl_device_forceinline float differential_transfer_compact ( const float ray_dP,
const float3 ,
const float ray_dD,
const float ray_t )

Definition at line 131 of file differential.h.

Referenced by shader_setup_from_ray(), and Camera::world_to_raster_size().

◆ differential_zero()

ccl_device differential differential_zero ( )

Definition at line 88 of file differential.h.

References differential::dx, and differential::dy.

Referenced by shader_setup_from_background(), and shader_setup_from_sample().

◆ differential_zero_compact()