Differential D8634 Diff 27925 source/blender/gpu/shaders/material/gpu_shader_material_tex_voronoi.glsl
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/shaders/material/gpu_shader_material_tex_voronoi.glsl
| Show First 20 Lines • Show All 152 Lines • ▼ Show 20 Lines | void node_tex_voronoi_distance_to_edge_1d(vec3 coord, | ||||
| out float outRadius) | out float outRadius) | ||||
| { | { | ||||
| randomness = clamp(randomness, 0.0, 1.0); | randomness = clamp(randomness, 0.0, 1.0); | ||||
| float scaledCoord = w * scale; | float scaledCoord = w * scale; | ||||
| float cellPosition = floor(scaledCoord); | float cellPosition = floor(scaledCoord); | ||||
| float localPosition = scaledCoord - cellPosition; | float localPosition = scaledCoord - cellPosition; | ||||
| float minDistance = 8.0; | float midPointPosition = hash_float_to_float(cellPosition) * randomness; | ||||
| for (int i = -1; i <= 1; i++) { | float leftPointPosition = -1.0 + hash_float_to_float(cellPosition - 1.0) * randomness; | ||||
| float cellOffset = float(i); | float rightPointPosition = 1.0 + hash_float_to_float(cellPosition + 1.0) * randomness; | ||||
| float pointPosition = cellOffset + hash_float_to_float(cellPosition + cellOffset) * randomness; | float distanceToMidLeft = distance((midPointPosition + leftPointPosition) / 2.0, localPosition); | ||||
| float distanceToPoint = voronoi_distance(pointPosition, localPosition, metric, exponent); | float distanceToMidRight = distance((midPointPosition + rightPointPosition) / 2.0, localPosition); | ||||
| minDistance = min(distanceToPoint, minDistance); | |||||
| } | outDistance = min(distanceToMidLeft, distanceToMidRight); | ||||
| outDistance = minDistance; | |||||
| } | } | ||||
| void node_tex_voronoi_n_sphere_radius_1d(vec3 coord, | void node_tex_voronoi_n_sphere_radius_1d(vec3 coord, | ||||
| float w, | float w, | ||||
| float scale, | float scale, | ||||
| float smoothness, | float smoothness, | ||||
| float exponent, | float exponent, | ||||
| float randomness, | float randomness, | ||||
| ▲ Show 20 Lines • Show All 888 Lines • Show Last 20 Lines | |||||