У меня проблема с трассировщиком лучей. Я пытаюсь визуализировать Cornell Box с различными объектами внутри, и когда я создаю прямоугольник со сферами, результат будет хорошим, но когда я создаю прямоугольник с плоскостями, результат слишком темный и кажется есть много шума.
Результаты с плоскостями:
Результаты с шарами:
Моя плоскость Пересечение лучей, кажется, просто прекрасно:
virtual bool hits(ray r, vec& h){
double den=dot(normal_,r.direction());
if (abs(den) > 0.0001f) // your favorite epsilon
{
double t=dot((point_-r.origin()),normal_)/den;
if (t >= 0){
h=vec(t,0.0,0.0);
return true; // you might want to allow an epsilon here too
}
}
return false;
}
Кто-то знает, что может происходить? Заранее спасибо