vec3 randomHemispherePoint(vec4 normal) { return randomHemispherePoint(normal.dehomogenize()); }
vec4 randomCirclePoint(vec4 normal) { return randomCirclePoint(normal.dehomogenize()); }
vec3 barycentric(vec4 v1, vec4 v2, vec4 v3, vec4 hitPoint) { return barycentric(v1.dehomogenize(), v2.dehomogenize(), v3.dehomogenize(), hitPoint.dehomogenize()); }