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
//This file is automatically rebuilt by the Cesium build process.
export default "void instancingStage(inout vec3 positionMC) \n\
{\n\
    mat4 instancingTransform;\n\
\n\
    #ifdef HAS_INSTANCE_MATRICES\n\
    instancingTransform = mat4(\n\
        a_instancingTransformRow0.x, a_instancingTransformRow1.x, a_instancingTransformRow2.x, 0.0, // Column 1\n\
        a_instancingTransformRow0.y, a_instancingTransformRow1.y, a_instancingTransformRow2.y, 0.0, // Column 2\n\
        a_instancingTransformRow0.z, a_instancingTransformRow1.z, a_instancingTransformRow2.z, 0.0, // Column 3\n\
        a_instancingTransformRow0.w, a_instancingTransformRow1.w, a_instancingTransformRow2.w, 1.0  // Column 4\n\
    );\n\
    #else\n\
    vec3 translation = vec3(0.0, 0.0, 0.0);\n\
    vec3 scale = vec3(1.0, 1.0, 1.0);\n\
    \n\
        #ifdef HAS_INSTANCE_TRANSLATION\n\
        translation = a_instanceTranslation;\n\
        #endif\n\
        #ifdef HAS_INSTANCE_SCALE\n\
        scale = a_instanceScale;\n\
        #endif\n\
\n\
    instancingTransform = mat4(\n\
        scale.x, 0.0, 0.0, 0.0,\n\
        0.0, scale.y, 0.0, 0.0,\n\
        0.0, 0.0, scale.z, 0.0,\n\
        translation.x, translation.y, translation.z, 1.0\n\
    ); \n\
    #endif\n\
\n\
    positionMC = (instancingTransform * vec4(positionMC, 1.0)).xyz;\n\
}\n\
";