Skip to content
Snippets Groups Projects
Verified Commit a6e07a02 authored by Tóth Miklós Tibor's avatar Tóth Miklós Tibor :shrug:
Browse files

actually .1m

parent 344233fe
Branches
No related tags found
No related merge requests found
...@@ -144,6 +144,10 @@ struct Pentagon : public Intersectable { ...@@ -144,6 +144,10 @@ struct Pentagon : public Intersectable {
Material* material; Material* material;
Material* portal = new PortalMaterial(); Material* portal = new PortalMaterial();
static float distance(const vec3& e1, const vec3& e2, const vec3& p){
return length(cross(p-e1, p-e2))/length(e2-e1);
}
Pentagon(const vec3& _r1, const vec3& _r2, const vec3& _r3, const vec3& _r4, const vec3& _r5, Material* _material) { Pentagon(const vec3& _r1, const vec3& _r2, const vec3& _r3, const vec3& _r4, const vec3& _r5, Material* _material) {
r1 = _r1; r1 = _r1;
r2 = _r2; r2 = _r2;
...@@ -177,11 +181,11 @@ struct Pentagon : public Intersectable { ...@@ -177,11 +181,11 @@ struct Pentagon : public Intersectable {
hit.position = p; hit.position = p;
if ( if (
dot(cross(r2-r1, p-r1), n) > 0.1 && distance(r1, r2, p) > 0.1 &&
dot(cross(r3-r2, p-r2), n) > 0.1 && distance(r2, r3, p) > 0.1 &&
dot(cross(r4-r3, p-r3), n) > 0.1 && distance(r3, r4, p) > 0.1 &&
dot(cross(r5-r4, p-r4), n) > 0.1 && distance(r4, r5, p) > 0.1 &&
dot(cross(r1-r5, p-r5), n) > 0.1 distance(r5, r1, p) > 0.1
) { ) {
hit.material = portal; hit.material = portal;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment