Blender V4.5
mapping.h File Reference
#include "util/math.h"
#include "util/projection.h"

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device float2 sample_uniform_disk (const float2 rand)
ccl_device void make_orthonormals_tangent (const float3 N, const float3 T, ccl_private float3 *a, ccl_private float3 *b)
ccl_device void make_orthonormals_safe_tangent (const float3 N, const float3 T, ccl_private float3 *a, ccl_private float3 *b)
ccl_device_inline void sample_cos_hemisphere (const float3 N, const float2 rand_in, ccl_private float3 *wo, ccl_private float *pdf)
ccl_device_inline float pdf_cos_hemisphere (const float3 N, const float3 D)
ccl_device_inline void sample_uniform_hemisphere (const float3 N, const float2 rand, ccl_private float3 *wo, ccl_private float *pdf)
ccl_device_inline float pdf_uniform_cone (const float3 N, const float3 D, const float angle)
ccl_device_inline float3 sample_uniform_cone (const float3 N, const float one_minus_cos_angle, const float2 rand, ccl_private float *cos_theta, ccl_private float *pdf)
ccl_device float3 sample_uniform_sphere (const float2 rand)
ccl_device float2 regular_polygon_sample (const float corners, float rotation, const float2 rand)

Function Documentation

◆ make_orthonormals_safe_tangent()

ccl_device void make_orthonormals_safe_tangent ( const float3 N,
const float3 T,
ccl_private float3 * a,
ccl_private float3 * b )

◆ make_orthonormals_tangent()

◆ pdf_cos_hemisphere()

ccl_device_inline float pdf_cos_hemisphere ( const float3 N,
const float3 D )

◆ pdf_uniform_cone()

ccl_device_inline float pdf_uniform_cone ( const float3 N,
const float3 D,
const float angle )

◆ regular_polygon_sample()

ccl_device float2 regular_polygon_sample ( const float corners,
float rotation,
const float2 rand )

◆ sample_cos_hemisphere()

◆ sample_uniform_cone()

◆ sample_uniform_disk()

◆ sample_uniform_hemisphere()

◆ sample_uniform_sphere()