Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <glm.hpp>
- #include <gtx\intersect.hpp>
- const glm::vec3 tri1[] = {glm::vec3(19.0000000, 34.0000000, 2.70000005), glm::vec3(19.0000000, 33.0000000, 2.70000005), glm::vec3(18.0000000, 33.0000000, 2.70000005)};
- const glm::vec3 tri2[] = {glm::vec3(18.0000000, 33.0000000, 2.70000005), glm::vec3(18.0000000, 33.0000000, 2.70000005), glm::vec3(19.0000000, 34.0000000, 2.70000005)};
- const glm::vec3 ray_origin = glm::vec3(18.5000000, 33.1871414, 10.0000000);
- const glm::vec3 ray_direction = glm::vec3(18.5000000, 33.1871414, -10.0000000);
- bool normalizedIntersectRayTriangle(glm::vec3 orig, glm::vec3 dir, glm::vec3 vert0, glm::vec3 vert1, glm::vec3 vert2, glm::vec3 &position)
- {
- return glm::intersectRayTriangle(glm::normalize(orig), glm::normalize(dir), glm::normalize(vert0), glm::normalize(vert1), glm::normalize(vert2), position);
- }
- int main(int argc, char *argv[])
- {
- glm::vec3 o;
- if (glm::intersectRayTriangle(ray_origin, ray_direction, tri2[0], tri2[1], tri2[2], o))
- {
- printf("Result: (%f, %f, %f)\n", o.x, o.y, o.z);
- }
- else if(normalizedIntersectRayTriangle(ray_origin, ray_direction, tri2[0], tri2[1], tri2[2], o))
- {
- printf("Result: (%f, %f, %f)\n", o.x, o.y, o.z);
- }
- else
- {
- printf("No intersection found!\n");
- }
- printf("Press any key to exit...\n");
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement