1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
float u; float v; if(v.z>0.0) { u = (v.x / (2.0*(1.0 + v.z))) + 0.5; v = (v.y / (2.0*(1.0 + v.z))) + 0.5; } else { u = (v.x / (2.0*(1.0 - v.z))) + 0.5; v = (v.y / (2.0*(1.0 - v.z))) + 0.5; }