Report abuse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
vec4 pck(vec3 v1, vec3 v2)
{
    uint3       h1          = f32tof16(v1);
    uint3       h2          = f32tof16(v2);
    uint4       pk;

                // ? z1 y1 x1
                pk.x        = h1.x | (h1.y << 16);
                pk.y        = h1.z;
                // ? z2 y2 x2
                pk.z        = h2.x | (h2.y << 16);
                pk.w        = h2.z;

    return      asfloat(pk);
}