#include "vector2.h"
#include "vector4.h"
Go to the source code of this file.
◆ NOISE_FBM
Value: float noise_fbm(T co,
float detail,
float roughness,
float lacunarity,
int use_normalize) \
{ \
T p = co; \
float fscale = 1.0; \
float amp = 1.0; \
float maxamp = 0.0; \
\
for (
int i = 0; i <=
int(detail); i++) { \
maxamp += amp; \
amp *= roughness; \
fscale *= lacunarity; \
} \
float rmd = detail -
floor(detail); \
if (rmd != 0.0) { \
float sum2 =
sum + t * amp; \
return use_normalize ? \
mix(0.5 *
sum / maxamp + 0.5, 0.5 * sum2 / (maxamp + amp) + 0.5, rmd) : \
} \
else { \
return use_normalize ? 0.5 *
sum / maxamp + 0.5 :
sum; \
} \
}
static T sum(const btAlignedObjectArray< T > &items)
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
CCL_NAMESPACE_BEGIN ccl_device_noinline float noise_fbm(float p, float detail, float roughness, float lacunarity, bool normalize)
ccl_device_inline float2 floor(const float2 a)
float safe_snoise(float co)
Definition at line 108 of file node_noise.h.
◆ NOISE_HETERO_TERRAIN
Value:
{ \
T p = co; \
float pwr = roughness; \
\
\
p *= lacunarity; \
\
for (
int i = 1; i <= (
int)detail; i++) { \
float increment = (
safe_snoise(p) + offset) * pwr * value; \
value += increment; \
pwr *= roughness; \
p *= lacunarity; \
} \
\
float rmd = detail -
floor(detail); \
if (rmd != 0.0) { \
float increment = (
safe_snoise(p) + offset) * pwr * value; \
value += rmd * increment; \
} \
\
return value; \
}
ccl_device_noinline float noise_hetero_terrain(float p, float detail, float roughness, float lacunarity, float offset)
Definition at line 158 of file node_noise.h.
◆ NOISE_HYBRID_MULTI_FRACTAL
| #define NOISE_HYBRID_MULTI_FRACTAL |
( |
| T | ) |
|
◆ NOISE_MULTI_FRACTAL
Value:
{ \
T p = co; \
float value = 1.0; \
float pwr = 1.0; \
\
for (
int i = 0; i <= (
int)detail; i++) { \
pwr *= roughness; \
p *= lacunarity; \
} \
\
float rmd = detail -
floor(detail); \
if (rmd != 0.0) { \
} \
\
return value; \
}
ccl_device_noinline float noise_multi_fractal(float p, float detail, float roughness, float lacunarity)
Definition at line 137 of file node_noise.h.
◆ NOISE_RIDGED_MULTI_FRACTAL
| #define NOISE_RIDGED_MULTI_FRACTAL |
( |
| T | ) |
|
Value:
T co, float detail, float roughness, float lacunarity, float offset, float gain) \
{ \
T p = co; \
float pwr = roughness; \
\
signal *= signal; \
float value = signal; \
float weight = 1.0; \
\
for (
int i = 1; i <= (
int)detail; i++) { \
p *= lacunarity; \
weight =
clamp(signal * gain, 0.0, 1.0); \
signal *= signal; \
signal *= weight; \
value += signal * pwr; \
pwr *= roughness; \
} \
\
return value; \
}
ccl_device_noinline float noise_ridged_multi_fractal(float p, float detail, float roughness, float lacunarity, float offset, float gain)
ccl_device_inline float2 fabs(const float2 a)
ccl_device_inline int clamp(int a, int mn, int mx)
Definition at line 217 of file node_noise.h.
◆ vector3
◆ safe_noise() [1/4]
◆ safe_noise() [2/4]
| float safe_noise |
( |
vector2 | co | ) |
|
◆ safe_noise() [3/4]
◆ safe_noise() [4/4]
| float safe_noise |
( |
vector4 | co | ) |
|
◆ safe_snoise() [1/4]
◆ safe_snoise() [2/4]
| float safe_snoise |
( |
vector2 | co | ) |
|
◆ safe_snoise() [3/4]
◆ safe_snoise() [4/4]
| float safe_snoise |
( |
vector4 | co | ) |
|