Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Mat4f ultimateMatrix = g_P * g_V * g_M;
- for (Vec3f point : controlPoints) {
- float newW = ultimateMatrix[12] + ultimateMatrix[13] + ultimateMatrix[14] + ultimateMatrix[15];
- float newX = (ultimateMatrix[0] * point.x + ultimateMatrix[1] * point.y + ultimateMatrix[2] * point.z + ultimateMatrix[3]) / newW;
- float newY = (ultimateMatrix[4] * point.x + ultimateMatrix[5] * point.y + ultimateMatrix[6] * point.z + ultimateMatrix[7]) / newW;
- float newZ = (ultimateMatrix[8] * point.x + ultimateMatrix[9] * point.y + ultimateMatrix[10] * point.z + ultimateMatrix[11]) / newW;
- transformedPoints.push_back(Vec3f(newX / 2, newY, newZ));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement