mmg
Многовато, все-равно. Видно, много чего можно заоптимайзить. Хотя 18 млн лучей в секунду - неплохо.
Sergio
> Многовато, все-равно
Картинке из туториала и расчёту на ней - более 10 лет. Даже для 48 ядер это не так просто. Как сильно ускорился алгоритм в утилите NIRT за последние годы\версии- нужно только проверять, давно ничего из комплекса не запускал.
ArchiDevil
> Это факт.
Факт? Уверен?
А то вдруг сейчас выяснится, что видеокарта рисует 8*8 блоки, ил может даже 16*16, а не 2*2.
MrShoor
Вот зануда же. >_>
Главный факт был в том, что треугольники размером с пиксел дадут дичайший овердро, а какой именно, к делу уже не относится.
Я пробовал по другому сделать. Геометрическим шейдером растянул полигон в квад и рисовал в фуллскрин. И еще процедил при помощи буфера глубины. Какого было мое удивление как все к чертям лагало! Эх были надежды, 20 лет прошло, а лучше не стало. Надеюсь, когда куплю NV Pascal или AMD Polaris, ситуация изменится. Я рассчитывал что потянет много квадов. Хотя эти квады были немаленькие, примерно с 1024x1024, считая лишних (а таковых 60%), правда таковы не учитываются при рендеринге.
Итого: плохая идея рейтрейсить при помощи растеризатора.
Нет, видеокарту не спалил, но выдало всего около 1 fps при почти 1000 полигонах. При большем тупо крашнулся драйвер.
Вообще оно и понятно. Ведь я пытаюсь несчастный обрезатор OpenGL (которому лет 20 отроду) нагрузить на убой.
Это моя площадка для экспериментов. Не очень удачная, хочу переделать. Но вижу некий разгонный потенциал.
https://github.com/acterhd/ogl-reflections
Sergio
> Какая-то наркомания. kalorifer3000 что тебе конкретно нужно?
Почему наркомания... Как и все остальное хорошее, это изобрели еще 30 лет назад.
ТС делай так "Пив-пиу" и у тебя все получиться :)
Только не смейтесь. Вы лучше помогите решить мою проблему с лагами. Лагает новый intersection код. Я пытался сделать интерсектор более компактным, и чтобы работало через стандартный растеризатор. Про первый вариант, который очень громоздкий, с вокселизатором, работает более быстро.
https://github.com/acterhd/ogl-reflections
И еще - кажется я точно закурился...
В кратце расскажу новый код. Я заправляю depth буфер расстоянием от своей точки до гипотетического пересечения. И таким образом обрезать заднеплановые пересечения (при помощи растеризатора). Я рассчитывал на большее, а получил лагучку. На квадах не проканало.
kalorifer3000
нахера вся эта хрень когда ray tracing по динамическому bvh дереву работает куда быстрее (особенно в невысоких разрешениях, 1024x768 например) ?
MrShoor
http://blog.selfshadow.com/2012/11/12/counting-quads/
Well known fact, агро-дитя. По запросу quad overdraw в гугле еще куча результатов.
ArchiDevil
> Well known fact, агро-дитя. По запросу quad overdraw в гугле еще куча
> результатов.
А у меня есть пруфы, что там не 2х2 : http://renderingpipeline.com/2012/03/gpu-rasterizer-pattern/
и чо?
Как так, чтобы вот так ?
Тема в архиве.