yzt
2023-05-26 de4278af2fd46705a40bac58ec01122db6b7f3d7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
//This file is automatically rebuilt by the Cesium build process.
export default "/**\n\
 * Branchless ternary operator to be used when it's inexpensive to explicitly\n\
 * evaluate both possibilities for a float expression.\n\
 *\n\
 * @name czm_branchFreeTernary\n\
 * @glslFunction\n\
 *\n\
 * @param {bool} comparison A comparison statement\n\
 * @param {float} a Value to return if the comparison is true.\n\
 * @param {float} b Value to return if the comparison is false.\n\
 *\n\
 * @returns {float} equivalent of comparison ? a : b\n\
 */\n\
float czm_branchFreeTernary(bool comparison, float a, float b) {\n\
    float useA = float(comparison);\n\
    return a * useA + b * (1.0 - useA);\n\
}\n\
\n\
/**\n\
 * Branchless ternary operator to be used when it's inexpensive to explicitly\n\
 * evaluate both possibilities for a vec2 expression.\n\
 *\n\
 * @name czm_branchFreeTernary\n\
 * @glslFunction\n\
 *\n\
 * @param {bool} comparison A comparison statement\n\
 * @param {vec2} a Value to return if the comparison is true.\n\
 * @param {vec2} b Value to return if the comparison is false.\n\
 *\n\
 * @returns {vec2} equivalent of comparison ? a : b\n\
 */\n\
vec2 czm_branchFreeTernary(bool comparison, vec2 a, vec2 b) {\n\
    float useA = float(comparison);\n\
    return a * useA + b * (1.0 - useA);\n\
}\n\
\n\
/**\n\
 * Branchless ternary operator to be used when it's inexpensive to explicitly\n\
 * evaluate both possibilities for a vec3 expression.\n\
 *\n\
 * @name czm_branchFreeTernary\n\
 * @glslFunction\n\
 *\n\
 * @param {bool} comparison A comparison statement\n\
 * @param {vec3} a Value to return if the comparison is true.\n\
 * @param {vec3} b Value to return if the comparison is false.\n\
 *\n\
 * @returns {vec3} equivalent of comparison ? a : b\n\
 */\n\
vec3 czm_branchFreeTernary(bool comparison, vec3 a, vec3 b) {\n\
    float useA = float(comparison);\n\
    return a * useA + b * (1.0 - useA);\n\
}\n\
\n\
/**\n\
 * Branchless ternary operator to be used when it's inexpensive to explicitly\n\
 * evaluate both possibilities for a vec4 expression.\n\
 *\n\
 * @name czm_branchFreeTernary\n\
 * @glslFunction\n\
 *\n\
 * @param {bool} comparison A comparison statement\n\
 * @param {vec3} a Value to return if the comparison is true.\n\
 * @param {vec3} b Value to return if the comparison is false.\n\
 *\n\
 * @returns {vec3} equivalent of comparison ? a : b\n\
 */\n\
vec4 czm_branchFreeTernary(bool comparison, vec4 a, vec4 b) {\n\
    float useA = float(comparison);\n\
    return a * useA + b * (1.0 - useA);\n\
}\n\
";