...
const zaxis = dir.negate().normalize().toConst();
const xaxis = cross(vec3(0, 1, 0), zaxis).normalize().toConst();
const yaxis = cross(zaxis, xaxis).toConst();
const mat = mat3(
xaxis.x, yaxis.x, zaxis.x,
xaxis.y, yaxis.y, zaxis.y,
xaxis.z, yaxis.z, zaxis.z
).toConst();
const finalVert = modelWorldMatrix.mul(mat.mul(positionLocal))
.add(positionStorage.element(instanceID)).toConst();
return cameraProjectionMatrix.mul(cameraViewMatrix).mul(finalVert);
}
