Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/intern/shaders/common_math_lib.glsl
| Show First 20 Lines • Show All 104 Lines • ▼ Show 20 Lines | |||||
| * (see T87369, T87541) */ | * (see T87369, T87541) */ | ||||
| float pow6(float x) { return sqr(sqr(x) * x); } | float pow6(float x) { return sqr(sqr(x) * x); } | ||||
| float pow8(float x) { return sqr(sqr(sqr(x))); } | float pow8(float x) { return sqr(sqr(sqr(x))); } | ||||
| float len_squared(vec3 a) { return dot(a, a); } | float len_squared(vec3 a) { return dot(a, a); } | ||||
| float len_squared(vec2 a) { return dot(a, a); } | float len_squared(vec2 a) { return dot(a, a); } | ||||
| bool flag_test(uint flag, uint val) { return (flag & val) != 0u; } | bool flag_test(uint flag, uint val) { return (flag & val) != 0u; } | ||||
| bool flag_test(int flag, uint val) { return flag_test(uint(flag), val); } | |||||
| bool flag_test(int flag, int val) { return (flag & val) != 0; } | bool flag_test(int flag, int val) { return (flag & val) != 0; } | ||||
| void set_flag_from_test(inout uint value, bool test, uint flag) { if (test) { value |= flag; } else { value &= ~flag; } } | void set_flag_from_test(inout uint value, bool test, uint flag) { if (test) { value |= flag; } else { value &= ~flag; } } | ||||
| void set_flag_from_test(inout int value, bool test, int flag) { if (test) { value |= flag; } else { value &= ~flag; } } | void set_flag_from_test(inout int value, bool test, int flag) { if (test) { value |= flag; } else { value &= ~flag; } } | ||||
| #define weighted_sum(val0, val1, val2, val3, weights) ((val0 * weights[0] + val1 * weights[1] + val2 * weights[2] + val3 * weights[3]) * safe_rcp(sum(weights))); | #define weighted_sum(val0, val1, val2, val3, weights) ((val0 * weights[0] + val1 * weights[1] + val2 * weights[2] + val3 * weights[3]) * safe_rcp(sum(weights))); | ||||
| #define weighted_sum_array(val, weights) ((val[0] * weights[0] + val[1] * weights[1] + val[2] * weights[2] + val[3] * weights[3]) * safe_rcp(sum(weights))); | #define weighted_sum_array(val, weights) ((val[0] * weights[0] + val[1] * weights[1] + val[2] * weights[2] + val[3] * weights[3]) * safe_rcp(sum(weights))); | ||||
| ▲ Show 20 Lines • Show All 164 Lines • Show Last 20 Lines | |||||