Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/shaders/node_voronoi_texture.osl
| Show First 20 Lines • Show All 169 Lines • ▼ Show 20 Lines | void voronoi_f2_1d(float w, | ||||
| outW = positionF2 + cellPosition; | outW = positionF2 + cellPosition; | ||||
| } | } | ||||
| void voronoi_distance_to_edge_1d(float w, float randomness, output float outDistance) | void voronoi_distance_to_edge_1d(float w, float randomness, output float outDistance) | ||||
| { | { | ||||
| float cellPosition = floor(w); | float cellPosition = floor(w); | ||||
| float localPosition = w - cellPosition; | float localPosition = w - 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 = distance(pointPosition, localPosition); | float distanceToMidRight = distance((midPointPosition + rightPointPosition) / 2.0, localPosition); | ||||
| minDistance = min(distanceToPoint, minDistance); | |||||
| } | outDistance = min(distanceToMidLeft, distanceToMidRight); | ||||
| outDistance = minDistance; | |||||
| } | } | ||||
| void voronoi_n_sphere_radius_1d(float w, float randomness, output float outRadius) | void voronoi_n_sphere_radius_1d(float w, float randomness, output float outRadius) | ||||
| { | { | ||||
| float cellPosition = floor(w); | float cellPosition = floor(w); | ||||
| float localPosition = w - cellPosition; | float localPosition = w - cellPosition; | ||||
| float closestPoint; | float closestPoint; | ||||
| ▲ Show 20 Lines • Show All 834 Lines • Show Last 20 Lines | |||||