Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/shaders/gpu_shader_material.glsl
| Show First 20 Lines • Show All 303 Lines • ▼ Show 20 Lines | void math_abs(float val1, out float outval) | ||||
| outval = abs(val1); | outval = abs(val1); | ||||
| } | } | ||||
| void squeeze(float val, float width, float center, out float outval) | void squeeze(float val, float width, float center, out float outval) | ||||
| { | { | ||||
| outval = 1.0/(1.0 + pow(2.71828183, -((val-center)*width))); | outval = 1.0/(1.0 + pow(2.71828183, -((val-center)*width))); | ||||
| } | } | ||||
| void math_clamp(float val1, out float outval) | |||||
sergey: Wouldn't call it that specific, imo makes sense to have more generic purpose names, | |||||
| { | |||||
| outval = clamp(val1, 0, 1); | |||||
| } | |||||
| void vec_math_add(vec3 v1, vec3 v2, out vec3 outvec, out float outval) | void vec_math_add(vec3 v1, vec3 v2, out vec3 outvec, out float outval) | ||||
| { | { | ||||
| outvec = v1 + v2; | outvec = v1 + v2; | ||||
| outval = (abs(outvec[0]) + abs(outvec[1]) + abs(outvec[2]))/3.0; | outval = (abs(outvec[0]) + abs(outvec[1]) + abs(outvec[2]))/3.0; | ||||
| } | } | ||||
| void vec_math_sub(vec3 v1, vec3 v2, out vec3 outvec, out float outval) | void vec_math_sub(vec3 v1, vec3 v2, out vec3 outvec, out float outval) | ||||
| { | { | ||||
| ▲ Show 20 Lines • Show All 111 Lines • ▼ Show 20 Lines | void brightness_contrast(vec4 col, float brightness, float contrast, out vec4 outcol) | ||||
| float b = brightness - contrast*0.5; | float b = brightness - contrast*0.5; | ||||
| outcol.r = max(a*col.r + b, 0.0); | outcol.r = max(a*col.r + b, 0.0); | ||||
| outcol.g = max(a*col.g + b, 0.0); | outcol.g = max(a*col.g + b, 0.0); | ||||
| outcol.b = max(a*col.b + b, 0.0); | outcol.b = max(a*col.b + b, 0.0); | ||||
| outcol.a = col.a; | outcol.a = col.a; | ||||
| } | } | ||||
| void mix_clamp(vec4 col, out vec4 outcol) | |||||
| { | |||||
| outcol = clamp(col, 0.0, 1.0); | |||||
| } | |||||
| void mix_blend(float fac, vec4 col1, vec4 col2, out vec4 outcol) | void mix_blend(float fac, vec4 col1, vec4 col2, out vec4 outcol) | ||||
| { | { | ||||
| fac = clamp(fac, 0.0, 1.0); | fac = clamp(fac, 0.0, 1.0); | ||||
| outcol = mix(col1, col2, fac); | outcol = mix(col1, col2, fac); | ||||
| outcol.a = col1.a; | outcol.a = col1.a; | ||||
| } | } | ||||
| void mix_add(float fac, vec4 col1, vec4 col2, out vec4 outcol) | void mix_add(float fac, vec4 col1, vec4 col2, out vec4 outcol) | ||||
| ▲ Show 20 Lines • Show All 2,060 Lines • Show Last 20 Lines | |||||
Wouldn't call it that specific, imo makes sense to have more generic purpose names,