如何计算光线与平面之间的交点?我一直在访问我能找到的每个可能的网站,这是我迄今为止取得的成就:
float denom = normal.dot(ray.direction);
if (denom > 0)
{
float t = -((center - ray.origin).dot(normal)) / denom;
if (t >= 0)
{
rec.tHit = t;
rec.anyHit = true;
computeSurfaceHitFields(ray, rec);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
这不起作用:s
我的函数输入是:
ray:包含原点和方向.
rec:用于存储命中信息的容器类(bool,t等)
我的函数可以访问平面:
点:定义平面
法线的点:定义平面的法线