Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharlie Jolly <charlie>2021-10-15 17:27:16 +0300
committerCharlie Jolly <mistajolly@gmail.com>2021-10-15 17:28:20 +0300
commit104887800c0f221fbcffa84bb360dd9ff001d7f1 (patch)
tree743a308c6eda1918e4e97df0d8ba32b7046bedf7 /source/blender/blenlib/BLI_noise.hh
parent6e4ab5b761b03b52177985ecbeb2c2f576159c74 (diff)
Geometry Nodes: Add Voronoi Texture
Port shader Voronoi to GN Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D12725
Diffstat (limited to 'source/blender/blenlib/BLI_noise.hh')
-rw-r--r--source/blender/blenlib/BLI_noise.hh94
1 files changed, 94 insertions, 0 deletions
diff --git a/source/blender/blenlib/BLI_noise.hh b/source/blender/blenlib/BLI_noise.hh
index 12e7aa57ab0..93980e3569e 100644
--- a/source/blender/blenlib/BLI_noise.hh
+++ b/source/blender/blenlib/BLI_noise.hh
@@ -112,4 +112,98 @@ float3 perlin_float3_fractal_distorted(float4 position,
/** \} */
+/* -------------------------------------------------------------------- */
+/** \name Voronoi Noise
+ * \{ */
+
+void voronoi_f1(
+ const float w, const float randomness, float *r_distance, float3 *r_color, float *r_w);
+void voronoi_smooth_f1(const float w,
+ const float smoothness,
+ const float randomness,
+ float *r_distance,
+ float3 *r_color,
+ float *r_w);
+void voronoi_f2(
+ const float w, const float randomness, float *r_distance, float3 *r_color, float *r_w);
+void voronoi_distance_to_edge(const float w, const float randomness, float *r_distance);
+void voronoi_n_sphere_radius(const float w, const float randomness, float *r_radius);
+
+void voronoi_f1(const float2 coord,
+ const float exponent,
+ const float randomness,
+ const int metric,
+ float *r_distance,
+ float3 *r_color,
+ float2 *r_position);
+void voronoi_smooth_f1(const float2 coord,
+ const float smoothness,
+ const float exponent,
+ const float randomness,
+ const int metric,
+ float *r_distance,
+ float3 *r_color,
+ float2 *r_position);
+void voronoi_f2(const float2 coord,
+ const float exponent,
+ const float randomness,
+ const int metric,
+ float *r_distance,
+ float3 *r_color,
+ float2 *r_position);
+void voronoi_distance_to_edge(const float2 coord, const float randomness, float *r_distance);
+void voronoi_n_sphere_radius(const float2 coord, const float randomness, float *r_radius);
+
+void voronoi_f1(const float3 coord,
+ const float exponent,
+ const float randomness,
+ const int metric,
+ float *r_distance,
+ float3 *r_color,
+ float3 *r_position);
+void voronoi_smooth_f1(const float3 coord,
+ const float smoothness,
+ const float exponent,
+ const float randomness,
+ const int metric,
+ float *r_distance,
+ float3 *r_color,
+ float3 *r_position);
+void voronoi_f2(const float3 coord,
+ const float exponent,
+ const float randomness,
+ const int metric,
+ float *r_distance,
+ float3 *r_color,
+ float3 *r_position);
+void voronoi_distance_to_edge(const float3 coord, const float randomness, float *r_distance);
+void voronoi_n_sphere_radius(const float3 coord, const float randomness, float *r_radius);
+
+void voronoi_f1(const float4 coord,
+ const float exponent,
+ const float randomness,
+ const int metric,
+ float *r_distance,
+ float3 *r_color,
+ float4 *r_position);
+void voronoi_smooth_f1(const float4 coord,
+ const float smoothness,
+ const float exponent,
+ const float randomness,
+ const int metric,
+ float *r_distance,
+ float3 *r_color,
+ float4 *r_position);
+void voronoi_f2(const float4 coord,
+ const float exponent,
+ const float randomness,
+ const int metric,
+ float *r_distance,
+ float3 *r_color,
+ float4 *r_position);
+void voronoi_distance_to_edge(const float4 coord, const float randomness, float *r_distance);
+void voronoi_n_sphere_radius(const float4 coord, const float randomness, float *r_radius);
+
+/** \} */
+
} // namespace blender::noise