ПрограммированиеФорумГрафика

Ray tracing

Страницы: 1 2 3 4 5 Следующая »
#0
22:45, 2 июня 2016

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

Выкладываю сюда это творение, чтобы не пропало. Зря старался что ли?

Зато есть сглаживание.

rtantialias | Ray tracing

Бинарники: Windows, Linux.

Чуть не забыл упомянуть, что работает довольно быстро на моем скоростном компьютере - 26 сек.

#1
23:38, 2 июня 2016

Почему небо черное, а сферы цветные?

#2
3:05, 3 июня 2016

wawe сделай материалы, камеры, viewport, многопоточность, меши, билинейное текстурирование.

#3
3:09, 3 июня 2016

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;
#4
3:21, 3 июня 2016

wawe
на процике ? с какой скоростью бегает ? как сглаживание делал , просто 4-ре пикселя усреднял ?

#5
8:57, 3 июня 2016

way
OK. Сделаю.

xma
Да, на процике и сглаживание усреднением.

#6
10:22, 3 июня 2016

У меня скорость несколько миллисекунд без антиалиасинга с такими сферами x)

#7
10:23, 3 июня 2016

wawe
эффект френеля заделай еще

#8
10:47, 3 июня 2016

под линухом не работает.. в процессах висит, камень грузит, но нифига не отображается

Xubuntu 14.04, Athlon II X2 235e, HD4650

#9
11:28, 3 июня 2016

не работает. только окно консоли и все.

win 8.1

#10
11:32, 3 июня 2016

Упс. Забыл поправить. Программа создаёт изображение в папке res, которая находится на один уровень выше.

#11
11:42, 3 июня 2016

wawe
> Упс. Забыл поправить. Программа создаёт изображение в папке res, которая
> находится на один уровень выше.

ничего не создает.

#12
11:46, 3 июня 2016

unnamed
OK. Приду домой - поправлю.

#13
11:55, 3 июня 2016

wawe
На XP провисело насколько секунд и закрылось, изображение не появилось, пока я сам вручную не создал папку Res.
Сглаживания что-то не видно, особенно заметна пикселизация на границе жёлтой и синей сфер.
Моя старая демка Ray Tracing на VB6 делает примерно то же самое, работает быстрее, есть АА, мягкие тени, Френель:
Ray Tracing | Ray tracing

#14
11:59, 3 июня 2016

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

Страницы: 1 2 3 4 5 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.