49 const float roughness,
50 const float lacunarity,
81 const float roughness,
82 const float lacunarity,
85 const float distortion,
93 if (distortion != 0.0f) {
98 if (color_is_needed) {
121 const float roughness,
122 const float lacunarity,
125 const float distortion,
128 const bool color_is_needed,
133 if (distortion != 0.0f) {
139 if (color_is_needed) {
162 const float roughness,
163 const float lacunarity,
166 const float distortion,
169 const bool color_is_needed,
174 if (distortion != 0.0f) {
181 if (color_is_needed) {
204 const float roughness,
205 const float lacunarity,
208 const float distortion,
211 const bool color_is_needed,
216 if (distortion != 0.0f) {
224 if (color_is_needed) {
252 uint vector_stack_offset;
254 uint scale_stack_offset;
255 uint detail_stack_offset;
256 uint roughness_stack_offset;
257 uint lacunarity_stack_offset;
258 uint offset_stack_offset;
259 uint gain_stack_offset;
260 uint distortion_stack_offset;
261 uint value_stack_offset;
262 uint color_stack_offset;
265 offsets1, &vector_stack_offset, &w_stack_offset, &scale_stack_offset, &detail_stack_offset);
267 &roughness_stack_offset,
268 &lacunarity_stack_offset,
269 &offset_stack_offset,
272 offsets3, &distortion_stack_offset, &value_stack_offset, &color_stack_offset);
278 const uint dimensions = properties.
x;
279 const uint type = properties.
y;
292 detail =
clamp(detail, 0.0f, 15.0f);
293 roughness =
fmaxf(roughness, 0.0f);
300 switch (dimensions) {
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
static unsigned long seed
ccl_device_inline void stack_store_float(ccl_private float *stack, const uint a, const float f)
ccl_device_inline uint4 read_node(KernelGlobals kg, ccl_private int *const offset)
ccl_device_inline void stack_store_float3(ccl_private float *stack, const uint a, const float3 f)
ccl_device_inline float stack_load_float_default(const ccl_private float *stack, const uint a, const uint value)
ccl_device_forceinline void svm_unpack_node_uchar3(const uint i, ccl_private uint *x, ccl_private uint *y, ccl_private uint *z)
ccl_device_forceinline void svm_unpack_node_uchar4(const uint i, ccl_private uint *x, ccl_private uint *y, ccl_private uint *z, ccl_private uint *w)
ccl_device_inline bool stack_valid(const uint a)
CCL_NAMESPACE_BEGIN ccl_device_inline float3 stack_load_float3(const ccl_private float *stack, const uint a)
#define kernel_assert(cond)
const ThreadKernelGlobalsCPU * KernelGlobals
#define ccl_device_inline
#define ccl_device_noinline
#define CCL_NAMESPACE_END
ccl_device_noinline float noise_hetero_terrain(float p, const float detail, const float roughness, const float lacunarity, const float offset)
CCL_NAMESPACE_BEGIN ccl_device_noinline float noise_fbm(float p, const float detail, const float roughness, const float lacunarity, bool normalize)
ccl_device_noinline float noise_ridged_multi_fractal(float p, const float detail, const float roughness, const float lacunarity, const float offset, const float gain)
ccl_device_noinline float noise_multi_fractal(float p, const float detail, const float roughness, const float lacunarity)
ccl_device_noinline float noise_hybrid_multi_fractal(float p, const float detail, const float roughness, const float lacunarity, const float offset, const float gain)
VecBase< float, D > normalize(VecOp< float, D >) RET
constexpr T clamp(T, U, U) RET
ccl_device_inline float hash_float2_to_float(const float2 k)
@ NODE_NOISE_HYBRID_MULTIFRACTAL
@ NODE_NOISE_RIDGED_MULTIFRACTAL
@ NODE_NOISE_HETERO_TERRAIN
@ NODE_NOISE_MULTIFRACTAL
float hash_float_to_float(float k)
ccl_device_inline float snoise_1d(float p)
ccl_device_inline float snoise_2d(float2 p)
ccl_device_inline float snoise_3d(float3 p)
ccl_device_inline float snoise_4d(float4 p)
CCL_NAMESPACE_BEGIN ccl_device_inline float random_float_offset(const float seed)
ccl_device_inline float2 random_float2_offset(const float seed)
ccl_device void noise_texture_2d(const float2 co, const float detail, const float roughness, const float lacunarity, const float offset, const float gain, const float distortion, const int type, const bool normalize, const bool color_is_needed, ccl_private float *value, ccl_private float3 *color)
ccl_device void noise_texture_4d(const float4 co, const float detail, const float roughness, const float lacunarity, const float offset, const float gain, const float distortion, const int type, const bool normalize, const bool color_is_needed, ccl_private float *value, ccl_private float3 *color)
ccl_device void noise_texture_1d(const float co, const float detail, const float roughness, const float lacunarity, const float offset, const float gain, const float distortion, const int type, bool normalize, bool color_is_needed, ccl_private float *value, ccl_private float3 *color)
ccl_device void noise_texture_3d(const float3 co, const float detail, const float roughness, const float lacunarity, const float offset, const float gain, const float distortion, const int type, const bool normalize, const bool color_is_needed, ccl_private float *value, ccl_private float3 *color)
ccl_device float noise_select(T p, const float detail, const float roughness, const float lacunarity, const float offset, const float gain, const int type, bool normalize)
ccl_device_inline float4 random_float4_offset(const float seed)
ccl_device_noinline int svm_node_tex_noise(KernelGlobals kg, ccl_private float *stack, const uint offsets1, const uint offsets2, const uint offsets3, int node_offset)
ccl_device_inline float3 random_float3_offset(const float seed)