Вижу, что на форуме поднялось лучевое настроение, и, чтобы не упустить свой шанс, поделюсь примитивным рей трейсингом, который написан ради улучшения навыков по C++.
Выкладываю сюда это творение, чтобы не пропало. Зря старался что ли?
Зато есть сглаживание.

Чуть не забыл упомянуть, что работает довольно быстро на моем скоростном компьютере - 26 сек.
Почему небо черное, а сферы цветные?
wawe сделай материалы, камеры, viewport, многопоточность, меши, билинейное текстурирование.
Sergio потому что он прибавляет.
color += diffuseComponent * material.diffuse + specularComponent * material.specular;
}
if ( !depth)
return color;
if ( material.reflection > 0.0F)
{
const Ray reflectionRay{intersectionPoint + normal * bias, ray.direction.reflect( intersectedObject->normal( intersectionPoint))};
color += trace( scene, reflectionRay, bias, depth - 1) * material.reflection;
}
return color;Я бы наверное сделал так:
color += diffuseComponent * material.diffuse + specularComponent * material.specular;
}
if ( !depth)
return color;
if ( material.reflection > 0.0F)
{
const Ray reflectionRay{intersectionPoint + normal * bias, ray.direction.reflect( intersectedObject->normal( intersectionPoint))};
vec3f refl = trace( scene, reflectionRay, bias, depth - 1) * material.reflection;
color = lerp( color, refl, refl.length);
}
return color;wawe
на процике ? с какой скоростью бегает ? как сглаживание делал , просто 4-ре пикселя усреднял ?
way
OK. Сделаю.
xma
Да, на процике и сглаживание усреднением.
У меня скорость несколько миллисекунд без антиалиасинга с такими сферами x)
wawe
эффект френеля заделай еще
под линухом не работает.. в процессах висит, камень грузит, но нифига не отображается
Xubuntu 14.04, Athlon II X2 235e, HD4650
не работает. только окно консоли и все.
win 8.1
Упс. Забыл поправить. Программа создаёт изображение в папке res, которая находится на один уровень выше.
wawe
> Упс. Забыл поправить. Программа создаёт изображение в папке res, которая
> находится на один уровень выше.
ничего не создает.
unnamed
OK. Приду домой - поправлю.
wawe
На XP провисело насколько секунд и закрылось, изображение не появилось, пока я сам вручную не создал папку Res.
Сглаживания что-то не видно, особенно заметна пикселизация на границе жёлтой и синей сфер.
Моя старая демка Ray Tracing на VB6 делает примерно то же самое, работает быстрее, есть АА, мягкие тени, Френель:

на шариках не интересно.
Тема в архиве.