Add Fractal Voronoi Noise V.2 #106827
|
@ -8,7 +8,8 @@
|
|||
|
||||
#define vector3 point
|
||||
|
||||
#define FRACTAL_VORONOI_X_FX_FUNCTION_BODY \
|
||||
#define FRACTAL_VORONOI_X_FX(T) \
|
||||
VoronoiOutput fractal_voronoi_x_fx(VoronoiParams params, T coord) \
|
||||
{ \
|
||||
float amplitude = 1.0; \
|
||||
float max_amplitude = 0.0; \
|
||||
|
@ -71,7 +72,8 @@
|
|||
return Output; \
|
||||
}
|
||||
|
||||
#define FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION_BODY \
|
||||
#define FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION(T) \
|
||||
float fractal_voronoi_distance_to_edge(VoronoiParams params, T coord) \
|
||||
{ \
|
||||
float amplitude = 1.0; \
|
||||
float max_amplitude = 0.5 + 0.5 * params.randomness; \
|
||||
|
@ -114,32 +116,24 @@
|
|||
|
||||
/* **** 1D Fractal Voronoi **** */
|
||||
|
||||
VoronoiOutput fractal_voronoi_x_fx(VoronoiParams params,
|
||||
float coord) FRACTAL_VORONOI_X_FX_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_X_FX(float)
|
||||
|
||||
float fractal_voronoi_distance_to_edge(VoronoiParams params, float coord)
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION(float)
|
||||
|
||||
/* **** 2D Fractal Voronoi **** */
|
||||
/* **** 2D Fractal Voronoi **** */
|
||||
|
||||
VoronoiOutput
|
||||
fractal_voronoi_x_fx(VoronoiParams params, vector2 coord) FRACTAL_VORONOI_X_FX_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_X_FX(vector2)
|
||||
|
||||
float fractal_voronoi_distance_to_edge(VoronoiParams params, vector2 coord)
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION(vector2)
|
||||
|
||||
/* **** 3D Fractal Voronoi **** */
|
||||
/* **** 3D Fractal Voronoi **** */
|
||||
|
||||
VoronoiOutput
|
||||
fractal_voronoi_x_fx(VoronoiParams params, vector3 coord) FRACTAL_VORONOI_X_FX_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_X_FX(vector3)
|
||||
|
||||
float fractal_voronoi_distance_to_edge(VoronoiParams params, vector3 coord)
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION(vector3)
|
||||
|
||||
/* **** 4D Fractal Voronoi **** */
|
||||
/* **** 4D Fractal Voronoi **** */
|
||||
|
||||
VoronoiOutput
|
||||
fractal_voronoi_x_fx(VoronoiParams params, vector4 coord) FRACTAL_VORONOI_X_FX_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_X_FX(vector4)
|
||||
|
||||
float fractal_voronoi_distance_to_edge(VoronoiParams params, vector4 coord)
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION(vector4)
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
#pragma BLENDER_REQUIRE(gpu_shader_common_math_utils.glsl)
|
||||
#pragma BLENDER_REQUIRE(gpu_shader_material_voronoi.glsl)
|
||||
|
||||
#define FRACTAL_VORONOI_X_FX_FUNCTION_BODY \
|
||||
#define FRACTAL_VORONOI_X_FX(T) \
|
||||
VoronoiOutput fractal_voronoi_x_fx(VoronoiParams params, T coord) \
|
||||
{ \
|
||||
float amplitude = 1.0; \
|
||||
float max_amplitude = 0.0; \
|
||||
|
@ -66,7 +67,8 @@
|
|||
return Output; \
|
||||
}
|
||||
|
||||
#define FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION_BODY \
|
||||
#define FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION(T) \
|
||||
float fractal_voronoi_distance_to_edge(VoronoiParams params, T coord) \
|
||||
{ \
|
||||
float amplitude = 1.0; \
|
||||
float max_amplitude = 0.5 + 0.5 * params.randomness; \
|
||||
|
@ -110,32 +112,24 @@
|
|||
|
||||
/* **** 1D Fractal Voronoi **** */
|
||||
|
||||
VoronoiOutput fractal_voronoi_x_fx(VoronoiParams params,
|
||||
float coord) FRACTAL_VORONOI_X_FX_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_X_FX(float)
|
||||
|
||||
float fractal_voronoi_distance_to_edge(VoronoiParams params, float coord)
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION(float)
|
||||
|
||||
/* **** 2D Fractal Voronoi **** */
|
||||
/* **** 2D Fractal Voronoi **** */
|
||||
|
||||
VoronoiOutput
|
||||
fractal_voronoi_x_fx(VoronoiParams params, vec2 coord) FRACTAL_VORONOI_X_FX_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_X_FX(vec2)
|
||||
|
||||
float fractal_voronoi_distance_to_edge(VoronoiParams params, vec2 coord)
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION(vec2)
|
||||
|
||||
/* **** 3D Fractal Voronoi **** */
|
||||
/* **** 3D Fractal Voronoi **** */
|
||||
|
||||
VoronoiOutput
|
||||
fractal_voronoi_x_fx(VoronoiParams params, vec3 coord) FRACTAL_VORONOI_X_FX_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_X_FX(vec3)
|
||||
|
||||
float fractal_voronoi_distance_to_edge(VoronoiParams params, vec3 coord)
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION(vec3)
|
||||
|
||||
/* **** 4D Fractal Voronoi **** */
|
||||
/* **** 4D Fractal Voronoi **** */
|
||||
|
||||
VoronoiOutput
|
||||
fractal_voronoi_x_fx(VoronoiParams params, vec4 coord) FRACTAL_VORONOI_X_FX_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_X_FX(vec4)
|
||||
|
||||
float fractal_voronoi_distance_to_edge(VoronoiParams params, vec4 coord)
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION_BODY
|
||||
FRACTAL_VORONOI_DISTANCE_TO_EDGE_FUNCTION(vec4)
|
||||
|
|
|
@ -19,7 +19,8 @@
|
|||
* as explained in https://www.shadertoy.com/view/llG3zy.
|
||||
*/
|
||||
|
||||
#define INITIALIZE_VORONOIPARAMS \
|
||||
#define INITIALIZE_VORONOIPARAMS(FEATURE) \
|
||||
params.feature = FEATURE; \
|
||||
params.metric = int(metric); \
|
||||
params.scale = scale; \
|
||||
params.detail = clamp(detail, 0.0, 15.0); \
|
||||
|
@ -52,8 +53,7 @@ void node_tex_voronoi_f1_1d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 0; // SHD_VORONOI_F1
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(0) // SHD_VORONOI_F1
|
||||
|
||||
w *= scale;
|
||||
|
||||
|
@ -83,8 +83,7 @@ void node_tex_voronoi_smooth_f1_1d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 2; // SHD_VORONOI_SMOOTH_F1
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(2) // SHD_VORONOI_SMOOTH_F1
|
||||
|
||||
w *= scale;
|
||||
|
||||
|
@ -114,8 +113,7 @@ void node_tex_voronoi_f2_1d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 1; // SHD_VORONOI_F2
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(1) // SHD_VORONOI_F2
|
||||
|
||||
w *= scale;
|
||||
|
||||
|
@ -145,8 +143,7 @@ void node_tex_voronoi_distance_to_edge_1d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 3; // SHD_VORONOI_DISTANCE_TO_EDGE
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(3) // SHD_VORONOI_DISTANCE_TO_EDGE
|
||||
|
||||
w *= scale;
|
||||
|
||||
|
@ -172,8 +169,7 @@ void node_tex_voronoi_n_sphere_radius_1d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 4; // SHD_VORONOI_N_SPHERE_RADIUS
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(4) // SHD_VORONOI_N_SPHERE_RADIUS
|
||||
|
||||
w *= scale;
|
||||
|
||||
|
@ -201,13 +197,11 @@ void node_tex_voronoi_f1_2d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 0; // SHD_VORONOI_F1
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(0) // SHD_VORONOI_F1
|
||||
|
||||
coord *= scale;
|
||||
|
||||
params.max_distance = voronoi_distance(
|
||||
vec2(0.0, 0.0), vec2(0.5 + 0.5 * params.randomness, 0.5 + 0.5 * params.randomness), params);
|
||||
params.max_distance = voronoi_distance(vec2(0.0), vec2(0.5 + 0.5 * params.randomness), params);
|
||||
VoronoiOutput Output = fractal_voronoi_x_fx(params, coord.xy);
|
||||
outDistance = Output.Distance;
|
||||
outColor.xyz = Output.Color;
|
||||
|
@ -233,13 +227,11 @@ void node_tex_voronoi_smooth_f1_2d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 2; // SHD_VORONOI_SMOOTH_F1
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(2) // SHD_VORONOI_SMOOTH_F1
|
||||
|
||||
coord *= scale;
|
||||
|
||||
params.max_distance = voronoi_distance(
|
||||
vec2(0.0, 0.0), vec2(0.5 + 0.5 * params.randomness, 0.5 + 0.5 * params.randomness), params);
|
||||
params.max_distance = voronoi_distance(vec2(0.0), vec2(0.5 + 0.5 * params.randomness), params);
|
||||
VoronoiOutput Output = fractal_voronoi_x_fx(params, coord.xy);
|
||||
outDistance = Output.Distance;
|
||||
outColor.xyz = Output.Color;
|
||||
|
@ -265,15 +257,11 @@ void node_tex_voronoi_f2_2d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 1; // SHD_VORONOI_F2
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(1) // SHD_VORONOI_F2
|
||||
|
||||
coord *= scale;
|
||||
|
||||
params.max_distance = voronoi_distance(
|
||||
vec2(0.0, 0.0),
|
||||
vec2(0.5 + 0.5 * params.randomness, 0.5 + 0.5 * params.randomness),
|
||||
params) *
|
||||
params.max_distance = voronoi_distance(vec2(0.0), vec2(0.5 + 0.5 * params.randomness), params) *
|
||||
2.0;
|
||||
VoronoiOutput Output = fractal_voronoi_x_fx(params, coord.xy);
|
||||
outDistance = Output.Distance;
|
||||
|
@ -300,8 +288,7 @@ void node_tex_voronoi_distance_to_edge_2d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 3; // SHD_VORONOI_DISTANCE_TO_EDGE
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(3) // SHD_VORONOI_DISTANCE_TO_EDGE
|
||||
|
||||
coord *= scale;
|
||||
|
||||
|
@ -327,8 +314,7 @@ void node_tex_voronoi_n_sphere_radius_2d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 4; // SHD_VORONOI_N_SPHERE_RADIUS
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(4) // SHD_VORONOI_N_SPHERE_RADIUS
|
||||
|
||||
coord *= scale;
|
||||
|
||||
|
@ -356,16 +342,11 @@ void node_tex_voronoi_f1_3d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 0; // SHD_VORONOI_F1
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(0) // SHD_VORONOI_F1
|
||||
|
||||
coord *= scale;
|
||||
|
||||
params.max_distance = voronoi_distance(vec3(0.0, 0.0, 0.0),
|
||||
vec3(0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness),
|
||||
params);
|
||||
params.max_distance = voronoi_distance(vec3(0.0), vec3(0.5 + 0.5 * params.randomness), params);
|
||||
VoronoiOutput Output = fractal_voronoi_x_fx(params, coord);
|
||||
outDistance = Output.Distance;
|
||||
outColor.xyz = Output.Color;
|
||||
|
@ -391,16 +372,11 @@ void node_tex_voronoi_smooth_f1_3d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 2; // SHD_VORONOI_SMOOTH_F1
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(2) // SHD_VORONOI_SMOOTH_F1
|
||||
|
||||
coord *= scale;
|
||||
|
||||
params.max_distance = voronoi_distance(vec3(0.0, 0.0, 0.0),
|
||||
vec3(0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness),
|
||||
params);
|
||||
params.max_distance = voronoi_distance(vec3(0.0), vec3(0.5 + 0.5 * params.randomness), params);
|
||||
VoronoiOutput Output = fractal_voronoi_x_fx(params, coord);
|
||||
outDistance = Output.Distance;
|
||||
outColor.xyz = Output.Color;
|
||||
|
@ -426,16 +402,11 @@ void node_tex_voronoi_f2_3d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 1; // SHD_VORONOI_F2
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(1) // SHD_VORONOI_F2
|
||||
|
||||
coord *= scale;
|
||||
|
||||
params.max_distance = voronoi_distance(vec3(0.0, 0.0, 0.0),
|
||||
vec3(0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness),
|
||||
params) *
|
||||
params.max_distance = voronoi_distance(vec3(0.0), vec3(0.5 + 0.5 * params.randomness), params) *
|
||||
2.0;
|
||||
VoronoiOutput Output = fractal_voronoi_x_fx(params, coord);
|
||||
outDistance = Output.Distance;
|
||||
|
@ -462,8 +433,7 @@ void node_tex_voronoi_distance_to_edge_3d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 3; // SHD_VORONOI_DISTANCE_TO_EDGE
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(3) // SHD_VORONOI_DISTANCE_TO_EDGE
|
||||
|
||||
coord *= scale;
|
||||
|
||||
|
@ -489,8 +459,7 @@ void node_tex_voronoi_n_sphere_radius_3d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 4; // SHD_VORONOI_N_SPHERE_RADIUS
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(4) // SHD_VORONOI_N_SPHERE_RADIUS
|
||||
|
||||
coord *= scale;
|
||||
|
||||
|
@ -518,18 +487,12 @@ void node_tex_voronoi_f1_4d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 0; // SHD_VORONOI_F1
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(0) // SHD_VORONOI_F1
|
||||
|
||||
w *= scale;
|
||||
coord *= scale;
|
||||
|
||||
params.max_distance = voronoi_distance(vec4(0.0, 0.0, 0.0, 0.0),
|
||||
vec4(0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness),
|
||||
params);
|
||||
params.max_distance = voronoi_distance(vec4(0.0), vec4(0.5 + 0.5 * params.randomness), params);
|
||||
VoronoiOutput Output = fractal_voronoi_x_fx(params, vec4(coord, w));
|
||||
outDistance = Output.Distance;
|
||||
outColor.xyz = Output.Color;
|
||||
|
@ -556,18 +519,12 @@ void node_tex_voronoi_smooth_f1_4d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 2; // SHD_VORONOI_SMOOTH_F1
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(2) // SHD_VORONOI_SMOOTH_F1
|
||||
|
||||
w *= scale;
|
||||
coord *= scale;
|
||||
|
||||
params.max_distance = voronoi_distance(vec4(0.0, 0.0, 0.0, 0.0),
|
||||
vec4(0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness),
|
||||
params);
|
||||
params.max_distance = voronoi_distance(vec4(0.0), vec4(0.5 + 0.5 * params.randomness), params);
|
||||
VoronoiOutput Output = fractal_voronoi_x_fx(params, vec4(coord, w));
|
||||
outDistance = Output.Distance;
|
||||
outColor.xyz = Output.Color;
|
||||
|
@ -594,18 +551,12 @@ void node_tex_voronoi_f2_4d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 1; // SHD_VORONOI_F2
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(1) // SHD_VORONOI_F2
|
||||
|
||||
w *= scale;
|
||||
coord *= scale;
|
||||
|
||||
params.max_distance = voronoi_distance(vec4(0.0, 0.0, 0.0, 0.0),
|
||||
vec4(0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness,
|
||||
0.5 + 0.5 * params.randomness),
|
||||
params) *
|
||||
params.max_distance = voronoi_distance(vec4(0.0), vec4(0.5 + 0.5 * params.randomness), params) *
|
||||
2.0;
|
||||
VoronoiOutput Output = fractal_voronoi_x_fx(params, vec4(coord, w));
|
||||
outDistance = Output.Distance;
|
||||
|
@ -633,8 +584,7 @@ void node_tex_voronoi_distance_to_edge_4d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 3; // SHD_VORONOI_DISTANCE_TO_EDGE
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(3) // SHD_VORONOI_DISTANCE_TO_EDGE
|
||||
|
||||
w *= scale;
|
||||
coord *= scale;
|
||||
|
@ -661,8 +611,7 @@ void node_tex_voronoi_n_sphere_radius_4d(vec3 coord,
|
|||
{
|
||||
VoronoiParams params;
|
||||
|
||||
params.feature = 4; // SHD_VORONOI_N_SPHERE_RADIUS
|
||||
INITIALIZE_VORONOIPARAMS
|
||||
INITIALIZE_VORONOIPARAMS(4) // SHD_VORONOI_N_SPHERE_RADIUS
|
||||
|
||||
w *= scale;
|
||||
coord *= scale;
|
||||
|
|
|
@ -159,7 +159,7 @@ VoronoiOutput voronoi_smooth_f1(VoronoiParams params, float coord)
|
|||
|
||||
float smoothDistance = 8.0;
|
||||
float smoothPosition = 0.0;
|
||||
vec3 smoothColor = vec3(0.0, 0.0, 0.0);
|
||||
vec3 smoothColor = vec3(0.0);
|
||||
for (int i = -2; i <= 2; i++) {
|
||||
float cellOffset = i;
|
||||
float pointPosition = cellOffset +
|
||||
|
@ -286,8 +286,8 @@ VoronoiOutput voronoi_f1(VoronoiParams params, vec2 coord)
|
|||
vec2 localPosition = coord - cellPosition;
|
||||
|
||||
float minDistance = 8.0;
|
||||
vec2 targetOffset = vec2(0.0, 0.0);
|
||||
vec2 targetPosition = vec2(0.0, 0.0);
|
||||
vec2 targetOffset = vec2(0.0);
|
||||
vec2 targetPosition = vec2(0.0);
|
||||
for (int j = -1; j <= 1; j++) {
|
||||
for (int i = -1; i <= 1; i++) {
|
||||
vec2 cellOffset = vec2(i, j);
|
||||
|
@ -315,8 +315,8 @@ VoronoiOutput voronoi_smooth_f1(VoronoiParams params, vec2 coord)
|
|||
vec2 localPosition = coord - cellPosition;
|
||||
|
||||
float smoothDistance = 8.0;
|
||||
vec3 smoothColor = vec3(0.0, 0.0, 0.0);
|
||||
vec2 smoothPosition = vec2(0.0, 0.0);
|
||||
vec3 smoothColor = vec3(0.0);
|
||||
vec2 smoothPosition = vec2(0.0);
|
||||
for (int j = -2; j <= 2; j++) {
|
||||
for (int i = -2; i <= 2; i++) {
|
||||
vec2 cellOffset = vec2(i, j);
|
||||
|
@ -348,10 +348,10 @@ VoronoiOutput voronoi_f2(VoronoiParams params, vec2 coord)
|
|||
|
||||
float distanceF1 = 8.0;
|
||||
float distanceF2 = 8.0;
|
||||
vec2 offsetF1 = vec2(0.0, 0.0);
|
||||
vec2 positionF1 = vec2(0.0, 0.0);
|
||||
vec2 offsetF2 = vec2(0.0, 0.0);
|
||||
vec2 positionF2 = vec2(0.0, 0.0);
|
||||
vec2 offsetF1 = vec2(0.0);
|
||||
vec2 positionF1 = vec2(0.0);
|
||||
vec2 offsetF2 = vec2(0.0);
|
||||
vec2 positionF2 = vec2(0.0);
|
||||
for (int j = -1; j <= 1; j++) {
|
||||
for (int i = -1; i <= 1; i++) {
|
||||
vec2 cellOffset = vec2(i, j);
|
||||
|
@ -386,7 +386,7 @@ float voronoi_distance_to_edge(VoronoiParams params, vec2 coord)
|
|||
vec2 cellPosition = floor(coord);
|
||||
vec2 localPosition = coord - cellPosition;
|
||||
|
||||
vec2 vectorToClosest = vec2(0.0, 0.0);
|
||||
vec2 vectorToClosest = vec2(0.0);
|
||||
float minDistance = 8.0;
|
||||
for (int j = -1; j <= 1; j++) {
|
||||
for (int i = -1; i <= 1; i++) {
|
||||
|
@ -426,8 +426,8 @@ float voronoi_n_sphere_radius(VoronoiParams params, vec2 coord)
|
|||
vec2 cellPosition = floor(coord);
|
||||
vec2 localPosition = coord - cellPosition;
|
||||
|
||||
vec2 closestPoint = vec2(0.0, 0.0);
|
||||
vec2 closestPointOffset = vec2(0.0, 0.0);
|
||||
vec2 closestPoint = vec2(0.0);
|
||||
vec2 closestPointOffset = vec2(0.0);
|
||||
float minDistance = 8.0;
|
||||
for (int j = -1; j <= 1; j++) {
|
||||
for (int i = -1; i <= 1; i++) {
|
||||
|
@ -444,7 +444,7 @@ float voronoi_n_sphere_radius(VoronoiParams params, vec2 coord)
|
|||
}
|
||||
|
||||
minDistance = 8.0;
|
||||
vec2 closestPointToClosestPoint = vec2(0.0, 0.0);
|
||||
vec2 closestPointToClosestPoint = vec2(0.0);
|
||||
for (int j = -1; j <= 1; j++) {
|
||||
for (int i = -1; i <= 1; i++) {
|
||||
if (i == 0 && j == 0) {
|
||||
|
@ -477,8 +477,8 @@ VoronoiOutput voronoi_f1(VoronoiParams params, vec3 coord)
|
|||
vec3 localPosition = coord - cellPosition;
|
||||
|
||||
float minDistance = 8.0;
|
||||
vec3 targetOffset = vec3(0.0, 0.0, 0.0);
|
||||
vec3 targetPosition = vec3(0.0, 0.0, 0.0);
|
||||
vec3 targetOffset = vec3(0.0);
|
||||
vec3 targetPosition = vec3(0.0);
|
||||
for (int k = -1; k <= 1; k++) {
|
||||
for (int j = -1; j <= 1; j++) {
|
||||
for (int i = -1; i <= 1; i++) {
|
||||
|
@ -508,8 +508,8 @@ VoronoiOutput voronoi_smooth_f1(VoronoiParams params, vec3 coord)
|
|||
vec3 localPosition = coord - cellPosition;
|
||||
|
||||
float smoothDistance = 8.0;
|
||||
vec3 smoothColor = vec3(0.0, 0.0, 0.0);
|
||||
vec3 smoothPosition = vec3(0.0, 0.0, 0.0);
|
||||
vec3 smoothColor = vec3(0.0);
|
||||
vec3 smoothPosition = vec3(0.0);
|
||||
for (int k = -2; k <= 2; k++) {
|
||||
for (int j = -2; j <= 2; j++) {
|
||||
for (int i = -2; i <= 2; i++) {
|
||||
|
@ -543,10 +543,10 @@ VoronoiOutput voronoi_f2(VoronoiParams params, vec3 coord)
|
|||
|
||||
float distanceF1 = 8.0;
|
||||
float distanceF2 = 8.0;
|
||||
vec3 offsetF1 = vec3(0.0, 0.0, 0.0);
|
||||
vec3 positionF1 = vec3(0.0, 0.0, 0.0);
|
||||
vec3 offsetF2 = vec3(0.0, 0.0, 0.0);
|
||||
vec3 positionF2 = vec3(0.0, 0.0, 0.0);
|
||||
vec3 offsetF1 = vec3(0.0);
|
||||
vec3 positionF1 = vec3(0.0);
|
||||
vec3 offsetF2 = vec3(0.0);
|
||||
vec3 positionF2 = vec3(0.0);
|
||||
for (int k = -1; k <= 1; k++) {
|
||||
for (int j = -1; j <= 1; j++) {
|
||||
for (int i = -1; i <= 1; i++) {
|
||||
|
@ -583,7 +583,7 @@ float voronoi_distance_to_edge(VoronoiParams params, vec3 coord)
|
|||
vec3 cellPosition = floor(coord);
|
||||
vec3 localPosition = coord - cellPosition;
|
||||
|
||||
vec3 vectorToClosest = vec3(0.0, 0.0, 0.0);
|
||||
vec3 vectorToClosest = vec3(0.0);
|
||||
float minDistance = 8.0;
|
||||
for (int k = -1; k <= 1; k++) {
|
||||
for (int j = -1; j <= 1; j++) {
|
||||
|
@ -627,8 +627,8 @@ float voronoi_n_sphere_radius(VoronoiParams params, vec3 coord)
|
|||
vec3 cellPosition = floor(coord);
|
||||
vec3 localPosition = coord - cellPosition;
|
||||
|
||||
vec3 closestPoint = vec3(0.0, 0.0, 0.0);
|
||||
vec3 closestPointOffset = vec3(0.0, 0.0, 0.0);
|
||||
vec3 closestPoint = vec3(0.0);
|
||||
vec3 closestPointOffset = vec3(0.0);
|
||||
float minDistance = 8.0;
|
||||
for (int k = -1; k <= 1; k++) {
|
||||
for (int j = -1; j <= 1; j++) {
|
||||
|
@ -647,7 +647,7 @@ float voronoi_n_sphere_radius(VoronoiParams params, vec3 coord)
|
|||
}
|
||||
|
||||
minDistance = 8.0;
|
||||
vec3 closestPointToClosestPoint = vec3(0.0, 0.0, 0.0);
|
||||
vec3 closestPointToClosestPoint = vec3(0.0);
|
||||
for (int k = -1; k <= 1; k++) {
|
||||
for (int j = -1; j <= 1; j++) {
|
||||
for (int i = -1; i <= 1; i++) {
|
||||
|
@ -682,8 +682,8 @@ VoronoiOutput voronoi_f1(VoronoiParams params, vec4 coord)
|
|||
vec4 localPosition = coord - cellPosition;
|
||||
|
||||
float minDistance = 8.0;
|
||||
vec4 targetOffset = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
vec4 targetPosition = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
vec4 targetOffset = vec4(0.0);
|
||||
vec4 targetPosition = vec4(0.0);
|
||||
for (int u = -1; u <= 1; u++) {
|
||||
for (int k = -1; k <= 1; k++) {
|
||||
for (int j = -1; j <= 1; j++) {
|
||||
|
@ -715,8 +715,8 @@ VoronoiOutput voronoi_smooth_f1(VoronoiParams params, vec4 coord)
|
|||
vec4 localPosition = coord - cellPosition;
|
||||
|
||||
float smoothDistance = 8.0;
|
||||
vec3 smoothColor = vec3(0.0, 0.0, 0.0);
|
||||
vec4 smoothPosition = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
vec3 smoothColor = vec3(0.0);
|
||||
vec4 smoothPosition = vec4(0.0);
|
||||
for (int u = -2; u <= 2; u++) {
|
||||
for (int k = -2; k <= 2; k++) {
|
||||
for (int j = -2; j <= 2; j++) {
|
||||
|
@ -752,10 +752,10 @@ VoronoiOutput voronoi_f2(VoronoiParams params, vec4 coord)
|
|||
|
||||
float distanceF1 = 8.0;
|
||||
float distanceF2 = 8.0;
|
||||
vec4 offsetF1 = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
vec4 positionF1 = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
vec4 offsetF2 = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
vec4 positionF2 = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
vec4 offsetF1 = vec4(0.0);
|
||||
vec4 positionF1 = vec4(0.0);
|
||||
vec4 offsetF2 = vec4(0.0);
|
||||
vec4 positionF2 = vec4(0.0);
|
||||
for (int u = -1; u <= 1; u++) {
|
||||
for (int k = -1; k <= 1; k++) {
|
||||
for (int j = -1; j <= 1; j++) {
|
||||
|
@ -794,7 +794,7 @@ float voronoi_distance_to_edge(VoronoiParams params, vec4 coord)
|
|||
vec4 cellPosition = floor(coord);
|
||||
vec4 localPosition = coord - cellPosition;
|
||||
|
||||
vec4 vectorToClosest = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
vec4 vectorToClosest = vec4(0.0);
|
||||
float minDistance = 8.0;
|
||||
for (int u = -1; u <= 1; u++) {
|
||||
for (int k = -1; k <= 1; k++) {
|
||||
|
@ -842,8 +842,8 @@ float voronoi_n_sphere_radius(VoronoiParams params, vec4 coord)
|
|||
vec4 cellPosition = floor(coord);
|
||||
vec4 localPosition = coord - cellPosition;
|
||||
|
||||
vec4 closestPoint = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
vec4 closestPointOffset = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
vec4 closestPoint = vec4(0.0);
|
||||
vec4 closestPointOffset = vec4(0.0);
|
||||
float minDistance = 8.0;
|
||||
for (int u = -1; u <= 1; u++) {
|
||||
for (int k = -1; k <= 1; k++) {
|
||||
|
@ -864,7 +864,7 @@ float voronoi_n_sphere_radius(VoronoiParams params, vec4 coord)
|
|||
}
|
||||
|
||||
minDistance = 8.0;
|
||||
vec4 closestPointToClosestPoint = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
vec4 closestPointToClosestPoint = vec4(0.0);
|
||||
for (int u = -1; u <= 1; u++) {
|
||||
for (int k = -1; k <= 1; k++) {
|
||||
for (int j = -1; j <= 1; j++) {
|
||||
|
|
Loading…
Reference in New Issue