Anonymous
public text v1 · immutablepublic override Vector3 ReflectRayAtPoint(Vector3 incoming, Vector3 intersection)
{
float dotA = Vector3.Dot(plane.Normal, incoming);
Vector3 r;
if (dotA < 0)
r = Vector3.Reflect(incoming, plane.Normal);
else
r = Vector3.Reflect(incoming, -plane.Normal);
r.Normalize();
return r;
}
public override Vector3 GetNormalToPoint(Vector3 point)
{
float dotA = Vector3.Dot(plane.Normal, point);
if (dotA < 0)
return plane.Normal;
else
return -plane.Normal;
}