Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/svm/musgrave.h
| Context not available. | |||||
| { | { | ||||
| float p = co; | float p = co; | ||||
| float pwHL = powf(lacunarity, -H); | float pwHL = powf(lacunarity, -H); | ||||
| float pwr = pwHL; | |||||
| float value = snoise_1d(p) + offset; | float pwr = 1.0f; | ||||
| float weight = gain * value; | float value = 0.0f; | ||||
| p *= lacunarity; | float weight = 1.0f; | ||||
| for (int i = 1; (weight > 0.001f) && (i < float_to_int(octaves)); i++) { | for (int i = 0; (weight > 0.001f) && (i < float_to_int(octaves)); i++) { | ||||
| if (weight > 1.0f) { | if (weight > 1.0f) { | ||||
| weight = 1.0f; | weight = 1.0f; | ||||
| } | } | ||||
| Context not available. | |||||
| } | } | ||||
| float rmd = octaves - floorf(octaves); | float rmd = octaves - floorf(octaves); | ||||
| if (rmd != 0.0f) { | if ((rmd != 0.0f) && (weight > 0.001f)) { | ||||
| value += rmd * ((snoise_1d(p) + offset) * pwr); | if (weight > 1.0f) { | ||||
| weight = 1.0f; | |||||
| } | |||||
| float signal = (snoise_1d(p) + offset) * pwr; | |||||
| value += rmd * weight * signal; | |||||
| } | } | ||||
| return value; | return value; | ||||
| Context not available. | |||||
| { | { | ||||
| float2 p = co; | float2 p = co; | ||||
| float pwHL = powf(lacunarity, -H); | float pwHL = powf(lacunarity, -H); | ||||
| float pwr = pwHL; | |||||
| float value = snoise_2d(p) + offset; | float pwr = 1.0f; | ||||
| float weight = gain * value; | float value = 0.0f; | ||||
| p *= lacunarity; | float weight = 1.0f; | ||||
| for (int i = 1; (weight > 0.001f) && (i < float_to_int(octaves)); i++) { | for (int i = 0; (weight > 0.001f) && (i < float_to_int(octaves)); i++) { | ||||
| if (weight > 1.0f) { | if (weight > 1.0f) { | ||||
| weight = 1.0f; | weight = 1.0f; | ||||
| } | } | ||||
| Context not available. | |||||
| } | } | ||||
| float rmd = octaves - floorf(octaves); | float rmd = octaves - floorf(octaves); | ||||
| if (rmd != 0.0f) { | if ((rmd != 0.0f) && (weight > 0.001f)) { | ||||
| value += rmd * ((snoise_2d(p) + offset) * pwr); | if (weight > 1.0f) { | ||||
| weight = 1.0f; | |||||
| } | |||||
| float signal = (snoise_2d(p) + offset) * pwr; | |||||
| value += rmd * weight * signal; | |||||
| } | } | ||||
| return value; | return value; | ||||
| Context not available. | |||||
| { | { | ||||
| float3 p = co; | float3 p = co; | ||||
| float pwHL = powf(lacunarity, -H); | float pwHL = powf(lacunarity, -H); | ||||
| float pwr = pwHL; | |||||
| float value = snoise_3d(p) + offset; | float pwr = 1.0f; | ||||
| float weight = gain * value; | float value = 0.0f; | ||||
| p *= lacunarity; | float weight = 1.0f; | ||||
| for (int i = 1; (weight > 0.001f) && (i < float_to_int(octaves)); i++) { | for (int i = 0; (weight > 0.001f) && (i < float_to_int(octaves)); i++) { | ||||
| if (weight > 1.0f) { | if (weight > 1.0f) { | ||||
| weight = 1.0f; | weight = 1.0f; | ||||
| } | } | ||||
| Context not available. | |||||
| } | } | ||||
| float rmd = octaves - floorf(octaves); | float rmd = octaves - floorf(octaves); | ||||
| if (rmd != 0.0f) { | if ((rmd != 0.0f) && (weight > 0.001f)){ | ||||
| value += rmd * ((snoise_3d(p) + offset) * pwr); | if (weight > 1.0f) { | ||||
| weight = 1.0f; | |||||
| } | |||||
| float signal = (snoise_3d(p) + offset) * pwr; | |||||
| value += rmd * weight * signal; | |||||
| } | } | ||||
| return value; | return value; | ||||
| Context not available. | |||||
| { | { | ||||
| float4 p = co; | float4 p = co; | ||||
| float pwHL = powf(lacunarity, -H); | float pwHL = powf(lacunarity, -H); | ||||
| float pwr = pwHL; | |||||
| float value = snoise_4d(p) + offset; | float pwr = 1.0f; | ||||
| float weight = gain * value; | float value = 0.0f; | ||||
| p *= lacunarity; | float weight = 1.0f; | ||||
| for (int i = 1; (weight > 0.001f) && (i < float_to_int(octaves)); i++) { | for (int i = 0; (weight > 0.001f) && (i < float_to_int(octaves)); i++) { | ||||
| if (weight > 1.0f) { | if (weight > 1.0f) { | ||||
| weight = 1.0f; | weight = 1.0f; | ||||
| } | } | ||||
| Context not available. | |||||
| } | } | ||||
| float rmd = octaves - floorf(octaves); | float rmd = octaves - floorf(octaves); | ||||
| if (rmd != 0.0f) { | if ((rmd != 0.0f) && (weight > 0.001f)) { | ||||
| value += rmd * ((snoise_4d(p) + offset) * pwr); | if (weight > 1.0f) { | ||||
| weight = 1.0f; | |||||
| } | |||||
| float signal = (snoise_4d(p) + offset) * pwr; | |||||
| value += rmd * weight * signal; | |||||
| } | } | ||||
| return value; | return value; | ||||
| Context not available. | |||||