Blender V4.3
noise.c File Reference
#include <math.h>
#include "BLI_compiler_compat.h"
#include "BLI_sys_types.h"
#include "BLI_noise.h"

Go to the source code of this file.

Macros

#define VALUE_AT(rx, ry, rz)   ((rx) * q[0] + (ry) * q[1] + (rz) * q[2])
 
#define SURVE(t)   ((t) * (t) * (3.0f - 2.0f * (t)))
 

Functions

Improved Perlin Noise Implementation (New)
BLI_INLINE float lerp (float t, float a, float b)
 
BLI_INLINE float npfade (float t)
 
BLI_INLINE float grad (int hash_val, float x, float y, float z)
 
static float newPerlin (float x, float y, float z)
 
static float newPerlinU (float x, float y, float z)
 
Voronoi/Worley Implementation
static float dist_Squared (float x, float y, float z, float e)
 
static float dist_Real (float x, float y, float z, float e)
 
static float dist_Manhattan (float x, float y, float z, float e)
 
static float dist_Chebychev (float x, float y, float z, float e)
 
static float dist_MinkovskyH (float x, float y, float z, float e)
 
static float dist_Minkovsky4 (float x, float y, float z, float e)
 
static float dist_Minkovsky (float x, float y, float z, float e)
 
void BLI_noise_voronoi (float x, float y, float z, float *da, float *pa, float me, int dtype)
 
static float voronoi_F1 (float x, float y, float z)
 
static float voronoi_F2 (float x, float y, float z)
 
static float voronoi_F3 (float x, float y, float z)
 
static float voronoi_F4 (float x, float y, float z)
 
static float voronoi_F1F2 (float x, float y, float z)
 
static float voronoi_Cr (float x, float y, float z)
 
static float voronoi_F1S (float x, float y, float z)
 
static float voronoi_F2S (float x, float y, float z)
 
static float voronoi_F3S (float x, float y, float z)
 
static float voronoi_F4S (float x, float y, float z)
 
static float voronoi_F1F2S (float x, float y, float z)
 
static float voronoi_CrS (float x, float y, float z)
 
Cell-Noise Implementation
static float BLI_cellNoiseU (float x, float y, float z)
 
float BLI_noise_cell (float x, float y, float z)
 
void BLI_noise_cell_v3 (float x, float y, float z, float r_ca[3])
 
Public API's
float BLI_noise_generic_noise (float noisesize, float x, float y, float z, bool hard, int noisebasis)
 
float BLI_noise_generic_turbulence (float noisesize, float x, float y, float z, int oct, bool hard, int noisebasis)
 
float BLI_noise_mg_fbm (float x, float y, float z, float H, float lacunarity, float octaves, int noisebasis)
 
float BLI_noise_mg_multi_fractal (float x, float y, float z, float H, float lacunarity, float octaves, int noisebasis)
 
float BLI_noise_mg_hetero_terrain (float x, float y, float z, float H, float lacunarity, float octaves, float offset, int noisebasis)
 
float BLI_noise_mg_hybrid_multi_fractal (float x, float y, float z, float H, float lacunarity, float octaves, float offset, float gain, int noisebasis)
 
float BLI_noise_mg_ridged_multi_fractal (float x, float y, float z, float H, float lacunarity, float octaves, float offset, float gain, int noisebasis)
 
float BLI_noise_mg_variable_lacunarity (float x, float y, float z, float distortion, int nbas1, int nbas2)
 

Static Data

#define HASHPNT(x, y, z)   hashpntf + 3 * hash[(hash[(hash[(z) & 255] + (y)) & 255] + (x)) & 255]
 
#define hash   BLI_noise_hash_uchar_512
 
static const float hashpntf [768]
 
const uchar BLI_noise_hash_uchar_512 [512]
 
static const float hashvectf [768]
 

Improved Perlin Noise Implementation (Original)

#define SETUP(val, b0, b1, r0, r1)
 
static const char g_perlin_data_ub [512+2]
 
static const float g_perlin_data_v3 [512+2][3]
 
static float noise3_perlin (const float vec[3])
 
static float orgBlenderNoise (float x, float y, float z)
 
static float orgBlenderNoiseS (float x, float y, float z)
 
float BLI_noise_hnoise (float noisesize, float x, float y, float z)
 
float BLI_noise_turbulence (float noisesize, float x, float y, float z, int nr)
 
static float orgPerlinNoise (float x, float y, float z)
 
static float orgPerlinNoiseU (float x, float y, float z)
 
float BLI_noise_hnoisep (float noisesize, float x, float y, float z)
 

Macro Definition Documentation

◆ hash

Definition at line 154 of file noise.c.

Referenced by LightManager::add_ies(), BKE_cryptomatte_hash(), BKE_cryptomatte_matte_id_to_entries(), BKE_idtype_cache_key_hash(), BKE_modifiers_persistent_uid_init(), BKE_sim_debug_data_add_element(), BKE_sim_debug_data_remove_element(), BLI_ghash_ensure_p(), BLI_ghash_ensure_p_ex(), BLI_ghash_popkey(), BLI_ghash_remove(), BLI_ghash_replace_key(), BLI_ghashutil_pairhash(), BLI_ghashutil_uinthash_v4(), BLI_gset_ensure_p_ex(), BLI_gset_insert(), BLI_gset_pop_key(), BLI_hash_pointer_to_color(), bpy_lib_write(), btAdjustInternalEdgeContacts(), btGetHash(), btHashString::btHashString(), blender::deg::build_collision_relations(), blender::deg::build_effector_relations(), blender::gpu::VKShaderModule::build_sources_hash(), mikk::Mikktspace< Mesh >::buildNeighbors(), ccd_build_deflector_hash(), ccd_build_deflector_hash_single(), ccd_update_deflector_hash(), ccd_update_deflector_hash_single(), ccg_ehash_insert(), ccg_ehash_lookup(), ccg_ehash_lookupWithPrev(), blender::deg::clear_physics_relations(), blender::HashedSetSlot< Key >::contains(), blender::nodes::node_geo_duplicate_elements_cc::copy_hashed_ids(), DEG_get_collision_relations(), DEG_get_effector_relations(), depsgraph_key_hash(), blender::ed::sculpt_paint::paint::image::do_paint_pixels(), drw_register_shader_vlattrs(), blender::ed::object::dupliobject_hash(), blender::ed::object::dupliobject_instancer_hash(), ED_mesh_mirrtopo_init(), blender::ed::geometry::find_socket_log_contexts(), blender::find_socket_log_contexts(), btHashMap< Key, Value >::findIndex(), btHashedSimplePairCache::findPair(), blender::bke::cryptomatte::manifest::from_manifest(), GPUCodegen::generate_cryptomatte(), blender::compositor::NodeOperation::generate_hash(), blender::compositor::generate_hashes(), blender::nodes::geo_eval_log::GeoTreeLog::GeoTreeLog(), blender::eevee::Film::get_aov_texture(), blender::ed::space_node::get_compute_context_hash_for_node_editor(), blender::IntrusiveMapSlot< Key, Value, KeyInfo >::get_hash(), blender::IntrusiveSetSlot< Key, KeyInfo >::get_hash(), blender::SimpleMapSlot< Key, Value >::get_hash(), blender::SimpleSetSlot< Key >::get_hash(), blender::SimpleVectorSetSlot< Key, IndexT >::get_hash(), blender::ed::space_node::get_nested_previews(), ghash_bucket_index(), ghash_buckets_resize(), ghash_insert(), ghash_insert_safe(), ghash_insert_safe_keyonly(), ghash_lookup_entry(), GPU_material_add_output_link_aov(), gpu_pass_cache_lookup(), gpu_pass_cache_resolve_collision(), grad1(), grad2(), grad3(), grad4(), blender::noise::hash_float(), blender::noise::hash_float(), blender::noise::hash_float(), blender::noise::hash_float(), blender::noise::hash_float(), blender::hash_string(), blender::bke::hash_to_anonymous_attribute_name(), blender::noise::hash_to_float(), blender::noise::hash_to_float(), blender::noise::hash_to_float(), blender::noise::hash_to_float(), HsiehHash(), blender::io::ply::PLYImportTest::import_and_check(), btHashMap< Key, Value >::insert(), make_string(), blender::workbench::Material::Material(), mesh_calc_edges_mdata(), mirrtopo_vert_sort(), newPerlin(), nlaevalchan_keyhash(), blender::bke::node_hash_int_str(), blender::bke::node_instance_hash_clear(), blender::bke::node_instance_hash_clear_tags(), blender::bke::node_instance_hash_free(), blender::bke::node_instance_hash_haskey(), blender::bke::node_instance_hash_insert(), blender::bke::node_instance_hash_iterator_init(), blender::bke::node_instance_hash_iterator_new(), blender::bke::node_instance_hash_lookup(), blender::bke::node_instance_hash_new(), blender::bke::node_instance_hash_pop(), blender::bke::node_instance_hash_remove(), blender::bke::node_instance_hash_remove_untagged(), blender::bke::node_instance_hash_size(), blender::bke::node_instance_hash_tag_key(), blender::nodes::node_shader_output_aov_cc::node_shader_gpu_output_aov(), blender::noise::noise_grad(), blender::noise::noise_grad(), blender::noise::noise_grad(), blender::noise::noise_grad(), blender::HashedSetSlot< Key >::occupy(), blender::IntrusiveMapSlot< Key, Value, KeyInfo >::occupy(), blender::SimpleMapSlot< Key, Value >::occupy(), blender::DefaultHash< blender::Set< const BMVert * > >::operator()(), blender::DefaultHash< gpu::VKComputeInfo >::operator()(), blender::DefaultHash< gpu::VKDescriptorSetLayoutInfo >::operator()(), blender::DefaultHash< T * >::operator()(), blender::DefaultHash< Vector< blender::gpu::shader::SpecializationConstant::Value > >::operator()(), ObjVertexHash::operator()(), orgBlenderNoise(), path_files_md5_hash(), path_files_md5_hash_recursive(), blender::noise::perlin_noise(), blender::noise::perlin_noise(), blender::noise::perlin_noise(), blender::noise::perlin_noise(), blender::geometry::phash_insert(), blender::geometry::phash_lookup(), blender::geometry::phash_next(), btConnectivityProcessor::processTriangle(), PyC_FlagSet_ToBitfield(), pyrna_enum_bitfield_from_set(), pyrna_enum_bitmap_from_set(), blender::ed::sculpt_paint::filter::randomize_factors(), btHashMap< Key, Value >::remove(), btHashedSimplePairCache::removeOverlappingPair(), sb_detect_aabb_collisionCached(), sb_detect_edge_collisionCached(), sb_detect_face_collisionCached(), sb_detect_face_pointCached(), sb_detect_vertex_collisionCached(), blender::RandomNumberGenerator::seed_random(), blender::nodes::should_log_socket_values_for_context(), TEST(), TEST(), thumb_create_ex(), thumb_create_or_fail(), ui_popup_menu_memory__internal(), blender::nodes::node_geo_distribute_points_on_faces_cc::update_elimination_mask_based_on_density_factors(), blender::compositor::CryptomatteOperation::update_memory_buffer_partial(), util_hash_to_float(), view_layer_bases_hash_create(), WM_gizmomap_gizmo_hash_new(), and wm_gizmomap_select_all_intern().

◆ HASHPNT

#define HASHPNT ( x,
y,
z )   hashpntf + 3 * hash[(hash[(hash[(z) & 255] + (y)) & 255] + (x)) & 255]

Definition at line 29 of file noise.c.

Referenced by BLI_noise_cell_v3(), and BLI_noise_voronoi().

◆ SETUP

#define SETUP ( val,
b0,
b1,
r0,
r1 )
Value:
{ \
t = val + 10000.0f; \
b0 = ((int)t) & 255; \
b1 = (b0 + 1) & 255; \
r0 = t - floorf(t); \
r1 = r0 - 1.0f; \
} \
(void)0
#define floorf(x)
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

Definition at line 752 of file noise.c.

Referenced by noise3_perlin(), Freestyle::Noise::smoothNoise1(), Freestyle::Noise::smoothNoise2(), and Freestyle::Noise::smoothNoise3().

◆ SURVE

#define SURVE ( t)    ((t) * (t) * (3.0f - 2.0f * (t)))

Referenced by noise3_perlin().

◆ VALUE_AT

#define VALUE_AT ( rx,
ry,
rz )   ((rx) * q[0] + (ry) * q[1] + (rz) * q[2])

Referenced by noise3_perlin().

Function Documentation

◆ BLI_cellNoiseU()

static float BLI_cellNoiseU ( float x,
float y,
float z )
static

Returns unsigned cell-noise.

Definition at line 1111 of file noise.c.

References floor(), int, and z().

Referenced by BLI_noise_cell(), BLI_noise_generic_noise(), and BLI_noise_generic_turbulence().

◆ BLI_noise_cell()

float BLI_noise_cell ( float x,
float y,
float z )

newnoise: BLI_noise_cell & BLI_noise_cell_v3 (for vector/point/color). idem, signed.

Definition at line 1126 of file noise.c.

References BLI_cellNoiseU(), and z().

Referenced by BLI_noise_mg_fbm(), BLI_noise_mg_hetero_terrain(), BLI_noise_mg_hybrid_multi_fractal(), BLI_noise_mg_multi_fractal(), BLI_noise_mg_ridged_multi_fractal(), BLI_noise_mg_variable_lacunarity(), and M_Noise_cell().

◆ BLI_noise_cell_v3()

void BLI_noise_cell_v3 ( float x,
float y,
float z,
float r_ca[3] )

Returns a vector/point/color in r_ca, using point hash-array directly.

Definition at line 1131 of file noise.c.

References floor(), HASHPNT, int, and z().

Referenced by M_Noise_cell_vector(), and voronoiTex().

◆ BLI_noise_generic_noise()

float BLI_noise_generic_noise ( float noisesize,
float x,
float y,
float z,
bool hard,
int noisebasis )

newnoise: generic noise & turbulence functions to replace the above BLI_noise_hnoise/p & BLI_noise_turbulence/1. This is done so different noise basis functions can be used. newnoise: generic noise function for use with different noisebasis.

Definition at line 1153 of file noise.c.

References BLI_cellNoiseU(), fabsf, float, newPerlinU(), orgBlenderNoise(), orgPerlinNoiseU(), voronoi_Cr(), voronoi_F1(), voronoi_F1F2(), voronoi_F2(), voronoi_F3(), voronoi_F4(), and z().

Referenced by M_Noise_noise(), noise_vector(), stucci(), turb(), and wood_int().

◆ BLI_noise_generic_turbulence()

float BLI_noise_generic_turbulence ( float noisesize,
float x,
float y,
float z,
int oct,
bool hard,
int noisebasis )

newnoise: generic turbulence function for use with different noisebasis.

Definition at line 1210 of file noise.c.

References BLI_cellNoiseU(), fabsf, float, newPerlinU(), orgBlenderNoise(), orgPerlinNoiseU(), sum(), voronoi_Cr(), voronoi_F1(), voronoi_F1F2(), voronoi_F2(), voronoi_F3(), voronoi_F4(), and z().

Referenced by alter_co(), clouds(), do_physical_effector(), do_rough(), do_rough_curve(), marble_int(), and pointdensity().

◆ BLI_noise_hnoise()

float BLI_noise_hnoise ( float noisesize,
float x,
float y,
float z )

Definition at line 424 of file noise.c.

References orgBlenderNoise(), x, y, and z().

Referenced by BLI_noise_turbulence().

◆ BLI_noise_hnoisep()

float BLI_noise_hnoisep ( float noisesize,
float x,
float y,
float z )

Definition at line 841 of file noise.c.

References noise3_perlin(), and z().

◆ BLI_noise_mg_fbm()

float BLI_noise_mg_fbm ( float x,
float y,
float z,
float H,
float lacunarity,
float octaves,
int noisebasis )

Procedural fBm evaluated at "point"; returns value stored in "value".

Parameters
His the fractal increment parameter.
lacunarityis the gap between successive frequencies.
octavesis the number of frequencies in the fBm.

Definition at line 1272 of file noise.c.

References BLI_noise_cell(), float, floorf, H, int, newPerlin(), orgBlenderNoiseS(), orgPerlinNoise(), powf, voronoi_CrS(), voronoi_F1F2S(), voronoi_F1S(), voronoi_F2S(), voronoi_F3S(), voronoi_F4S(), and z().

Referenced by M_Noise_fractal(), and mg_mFractalOrfBmTex().

◆ BLI_noise_mg_hetero_terrain()

float BLI_noise_mg_hetero_terrain ( float x,
float y,
float z,
float H,
float lacunarity,
float octaves,
float offset,
int noisebasis )

Heterogeneous procedural terrain function: stats by altitude method. Evaluated at "point"; returns value stored in "value".

Parameters
HDetermines the fractal dimension of the roughest areas.
lacunarityIs the gap between successive frequencies.
octavesIs the number of frequencies in the fBm.
offsetRaises the terrain from sea level.

Definition at line 1391 of file noise.c.

References BLI_noise_cell(), float, floorf, H, int, newPerlin(), orgBlenderNoiseS(), orgPerlinNoise(), powf, voronoi_CrS(), voronoi_F1F2S(), voronoi_F1S(), voronoi_F2S(), voronoi_F3S(), voronoi_F4S(), and z().

Referenced by M_Noise_hetero_terrain(), and mg_HTerrainTex().

◆ BLI_noise_mg_hybrid_multi_fractal()

float BLI_noise_mg_hybrid_multi_fractal ( float x,
float y,
float z,
float H,
float lacunarity,
float octaves,
float offset,
float gain,
int noisebasis )

Hybrid additive/multiplicative multi-fractal terrain model.

Some good parameter values to start with:

Parameters
H0.25
offset0.7

Definition at line 1461 of file noise.c.

References BLI_noise_cell(), float, floorf, H, newPerlin(), orgBlenderNoiseS(), orgPerlinNoise(), powf, result, voronoi_CrS(), voronoi_F1F2S(), voronoi_F1S(), voronoi_F2S(), voronoi_F3S(), voronoi_F4S(), and z().

Referenced by M_Noise_hybrid_multi_fractal(), and mg_ridgedOrHybridMFTex().

◆ BLI_noise_mg_multi_fractal()

float BLI_noise_mg_multi_fractal ( float x,
float y,
float z,
float H,
float lacunarity,
float octaves,
int noisebasis )

Procedural multi-fractal evaluated at "point"; returns value stored in "value".

Parameters
Hdetermines the highest fractal dimension.
lacunarityis gap between successive frequencies.
octavesis the number of frequencies in the fBm.
Note
There used to be a parameter called offset, old docs read: is the zero offset, which determines multi-fractality.

Definition at line 1332 of file noise.c.

References BLI_noise_cell(), float, floorf, H, int, newPerlin(), orgBlenderNoiseS(), orgPerlinNoise(), powf, voronoi_CrS(), voronoi_F1F2S(), voronoi_F1S(), voronoi_F2S(), voronoi_F3S(), voronoi_F4S(), and z().

Referenced by M_Noise_multi_fractal(), and mg_mFractalOrfBmTex().

◆ BLI_noise_mg_ridged_multi_fractal()

float BLI_noise_mg_ridged_multi_fractal ( float x,
float y,
float z,
float H,
float lacunarity,
float octaves,
float offset,
float gain,
int noisebasis )

Ridged multi-fractal terrain model.

Some good parameter values to start with:

Parameters
H1.0
offset1.0
gain2.0

Definition at line 1537 of file noise.c.

References BLI_noise_cell(), fabsf, float, H, int, newPerlin(), orgBlenderNoiseS(), orgPerlinNoise(), powf, result, voronoi_CrS(), voronoi_F1F2S(), voronoi_F1S(), voronoi_F2S(), voronoi_F3S(), voronoi_F4S(), and z().

Referenced by M_Noise_ridged_multi_fractal(), and mg_ridgedOrHybridMFTex().

◆ BLI_noise_mg_variable_lacunarity()

float BLI_noise_mg_variable_lacunarity ( float x,
float y,
float z,
float distortion,
int nbas1,
int nbas2 )

"Variable Lacunarity Noise" A distorted variety of Perlin noise.

Definition at line 1608 of file noise.c.

References BLI_noise_cell(), float, newPerlin(), orgBlenderNoiseS(), orgPerlinNoise(), voronoi_CrS(), voronoi_F1F2S(), voronoi_F1S(), voronoi_F2S(), voronoi_F3S(), voronoi_F4S(), and z().

Referenced by M_Noise_variable_lacunarity(), and mg_distNoiseTex().

◆ BLI_noise_turbulence()

float BLI_noise_turbulence ( float noisesize,
float x,
float y,
float z,
int nr )

Original turbulence functions.

Definition at line 437 of file noise.c.

References BLI_noise_hnoise(), and z().

Referenced by fcm_noise_evaluate().

◆ BLI_noise_voronoi()

void BLI_noise_voronoi ( float x,
float y,
float z,
float * da,
float * pa,
float me,
int dtype )

Not 'pure' Worley, but the results are virtually the same. Returns distances in da and point coords in pa.

Definition at line 915 of file noise.c.

References dist_Chebychev(), dist_Manhattan(), dist_Minkovsky(), dist_Minkovsky4(), dist_MinkovskyH(), dist_Real(), dist_Squared(), float, floor(), HASHPNT, int, and z().

Referenced by do_clump(), M_Noise_voronoi(), voronoi_F1(), voronoi_F1F2(), voronoi_F1F2S(), voronoi_F1S(), voronoi_F2(), voronoi_F2S(), voronoi_F3(), voronoi_F3S(), voronoi_F4(), voronoi_F4S(), and voronoiTex().

◆ dist_Chebychev()

static float dist_Chebychev ( float x,
float y,
float z,
float e )
static

Definition at line 880 of file noise.c.

References e, fabsf, y, and z().

Referenced by BLI_noise_voronoi().

◆ dist_Manhattan()

static float dist_Manhattan ( float x,
float y,
float z,
float e )
static

Definition at line 874 of file noise.c.

References e, fabsf, and z().

Referenced by BLI_noise_voronoi().

◆ dist_Minkovsky()

static float dist_Minkovsky ( float x,
float y,
float z,
float e )
static

Definition at line 910 of file noise.c.

References e, fabsf, powf, and z().

Referenced by BLI_noise_voronoi().

◆ dist_Minkovsky4()

static float dist_Minkovsky4 ( float x,
float y,
float z,
float e )
static

Definition at line 900 of file noise.c.

References e, sqrtf, x, y, and z().

Referenced by BLI_noise_voronoi().

◆ dist_MinkovskyH()

static float dist_MinkovskyH ( float x,
float y,
float z,
float e )
static

Definition at line 892 of file noise.c.

References e, fabsf, sqrtf, and z().

Referenced by BLI_noise_voronoi().

◆ dist_Real()

static float dist_Real ( float x,
float y,
float z,
float e )
static

Definition at line 868 of file noise.c.

References e, sqrtf, and z().

Referenced by BLI_noise_voronoi().

◆ dist_Squared()

static float dist_Squared ( float x,
float y,
float z,
float e )
static

Definition at line 862 of file noise.c.

References e, and z().

Referenced by BLI_noise_voronoi().

◆ grad()

BLI_INLINE float grad ( int hash_val,
float x,
float y,
float z )

Definition at line 271 of file noise.c.

References v, x, y, and z().

Referenced by adjustSwingAxisToUseEllipseNormal(), newPerlin(), and btSdfCollisionShape::queryPoint().

◆ lerp()

BLI_INLINE float lerp ( float t,
float a,
float b )

Definition at line 261 of file noise.c.

References b.

◆ newPerlin()

◆ newPerlinU()

static float newPerlinU ( float x,
float y,
float z )
static

Definition at line 317 of file noise.c.

References newPerlin(), and z().

Referenced by BLI_noise_generic_noise(), and BLI_noise_generic_turbulence().

◆ noise3_perlin()

static float noise3_perlin ( const float vec[3])
static

Definition at line 762 of file noise.c.

References b, float, g_perlin_data_ub, g_perlin_data_v3, lerp, SETUP, SURVE, v, and VALUE_AT.

Referenced by BLI_noise_hnoisep(), orgPerlinNoise(), and orgPerlinNoiseU().

◆ npfade()

BLI_INLINE float npfade ( float t)

Definition at line 266 of file noise.c.

Referenced by newPerlin().

◆ orgBlenderNoise()

static float orgBlenderNoise ( float x,
float y,
float z )
static

◆ orgBlenderNoiseS()

◆ orgPerlinNoise()

◆ orgPerlinNoiseU()

static float orgPerlinNoiseU ( float x,
float y,
float z )
static

Definition at line 833 of file noise.c.

References noise3_perlin(), v, x, y, and z().

Referenced by BLI_noise_generic_noise(), and BLI_noise_generic_turbulence().

◆ voronoi_Cr()

static float voronoi_Cr ( float x,
float y,
float z )
static

Definition at line 1045 of file noise.c.

References voronoi_F1F2(), and z().

Referenced by BLI_noise_generic_noise(), and BLI_noise_generic_turbulence().

◆ voronoi_CrS()

◆ voronoi_F1()

static float voronoi_F1 ( float x,
float y,
float z )
static

Definition at line 1009 of file noise.c.

References BLI_noise_voronoi(), and z().

Referenced by BLI_noise_generic_noise(), and BLI_noise_generic_turbulence().

◆ voronoi_F1F2()

static float voronoi_F1F2 ( float x,
float y,
float z )
static

Definition at line 1037 of file noise.c.

References BLI_noise_voronoi(), and z().

Referenced by BLI_noise_generic_noise(), BLI_noise_generic_turbulence(), voronoi_Cr(), and voronoi_CrS().

◆ voronoi_F1F2S()

◆ voronoi_F1S()

static float voronoi_F1S ( float x,
float y,
float z )
static

Signed version of all 6 of the above, just 2x-1, not really correct though (range is potentially (0, sqrt(6)). Used in the musgrave functions.

Definition at line 1059 of file noise.c.

References BLI_noise_voronoi(), and z().

Referenced by BLI_noise_mg_fbm(), BLI_noise_mg_hetero_terrain(), BLI_noise_mg_hybrid_multi_fractal(), BLI_noise_mg_multi_fractal(), BLI_noise_mg_ridged_multi_fractal(), and BLI_noise_mg_variable_lacunarity().

◆ voronoi_F2()

static float voronoi_F2 ( float x,
float y,
float z )
static

Definition at line 1016 of file noise.c.

References BLI_noise_voronoi(), and z().

Referenced by BLI_noise_generic_noise(), and BLI_noise_generic_turbulence().

◆ voronoi_F2S()

◆ voronoi_F3()

static float voronoi_F3 ( float x,
float y,
float z )
static

Definition at line 1023 of file noise.c.

References BLI_noise_voronoi(), and z().

Referenced by BLI_noise_generic_noise(), and BLI_noise_generic_turbulence().

◆ voronoi_F3S()

◆ voronoi_F4()

static float voronoi_F4 ( float x,
float y,
float z )
static

Definition at line 1030 of file noise.c.

References BLI_noise_voronoi(), and z().

Referenced by BLI_noise_generic_noise(), and BLI_noise_generic_turbulence().

◆ voronoi_F4S()

Variable Documentation

◆ BLI_noise_hash_uchar_512

const uchar BLI_noise_hash_uchar_512

Definition at line 120 of file noise.c.

◆ g_perlin_data_ub

const char g_perlin_data_ub[512+2]
static

Definition at line 456 of file noise.c.

Referenced by noise3_perlin().

◆ g_perlin_data_v3

const float g_perlin_data_v3[512+2][3]
static

Definition at line 492 of file noise.c.

Referenced by noise3_perlin().

◆ hashpntf

const float hashpntf[768]
static

Definition at line 30 of file noise.c.

◆ hashvectf

const float hashvectf[768]
static

Definition at line 156 of file noise.c.

Referenced by orgBlenderNoise().