Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
On 27/06/2013 at 16:57, xxxxxxxx wrote:
User Information: Cinema 4D Version: R13+ Platform: Windows ; Mac OSX ; Language(s) : C++ ;
--------- This is driving me crazy. Google isn't getting me results based on my inputs.
A ray hits a triangle in a mesh. My code gets the UVW coordinates for each point of the triangle in question from the UVWTag and UVWStruct (using the GeRayColResult.face_id). I have the Barycentric coordinates of the hit point relative to the triangle from GeRayCollider/GeRayColResult. How do I go about interpolating to the UVW coordinate in UVW space (not triangle space, i.e.: not barycentric) of the hit point given the triangle's three UVW coordinates and the hit point's Barycentric coordinate?
To add, I have these two options (the only two so far) :
// GetUVFromBarycentric // - Given the Texture vertices of a triangle (UVW space) and the Barycentric coordinate of a point (P) within, return P's Texture coordinate //*---------------------------------------------------------------------------* Vector GetUVFromBarycentric(const Vector& vAUV, const Vector& vBUV, const Vector& vCUV, const Vector& vPBary) //*---------------------------------------------------------------------------* { return vAUV*vPBary.x + vBUV*vPBary.y + vCUV*vPBary.z; //return Vector(b0 * vA.x + vP.x * vB.x + vP.y * vC.x, b0 * vA.y + vP.x * vB.y + vP.y * vC.y, 0.0); }
I have not tried either yet but will soon.
On 27/06/2013 at 18:14, xxxxxxxx wrote:
The current UV calculation appears to be working. Nice.