не, ну интересно же! |
[Dec. 16th, 2022|02:22 am] |
ну, сделал я рендер вокселей (для будущего редактора) путём залития координат и генерации кубиков в geometry shader. неинтересно. и тормозит, кстати, на любимой тестовой сцене из voxlap.
в общем, пойду во все тяжкие, потребую GL4+ (короче, оче новый), и напилю sparse voxel octrees, с рейкастингом на гпу. а почему бы и да. подозреваю, что тормозить будет ещё адовей, но это как раз интересно же!
поскольку ни наворотов, ни огромных моделей мне не надо, то можно не реализовывать всякие виртуальные памяти и хитрооптимизации, а тупо лить в GPU массив-дерево. нода умещается в 16 байт, та же самая структура подходит и для CPU. конечно, из-за динамики оно немножко проёбывает память и срёт в кэши, поэтому могут быть тормоза. но не проверишь — не узнаешь, насколько.
ну да, рендер SVO на CPU я кое-как делал, чисто пощупать и игрушечный. теперь интересно, как моя древняя GT720 это потянет.
p.s.: по ходу ужал размер ноды до 8 байт. мне Оче Большие Объекты не нужны, поэтому ограничил количество нод до 2^23 пока. если будет надо — потом сделаю больше. это красиво оставляет восемь битов на маску валидности child node, и один бит на указание, что следующий уровень — листики. четыре байта проёбаны на явное хранение номера родителя, потому что это удобно в итераторах (позволяет не хранить явно стек, и заодно итератор более-менее устойчив к добавлению новых вокселов в дерево). заодно сделал колбэки на каждое изменение, так что для undo можно тупо запоминать изменившиеся байты, а потом не менее тупым `memcpy()` откатывать обратно. |
|
|
Comments: |
From: | (Anonymous) |
Date: | December 16th, 2022 - 08:30 am |
---|
| | | (Link) |
|
С GT720 в этой области ловить нечего.
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | December 17th, 2022 - 02:08 pm |
---|
| | | (Link) |
|
с чего ты так решил? она на куде вполне справляется с рилтаймовым рейтрейсом несложных сцен, например. блин, цпу справляется с трейсом сложных svo в четыре потока почти в рилтайме. с чего бы ей-то не справиться?
From: | (Anonymous) |
Date: | December 20th, 2022 - 05:46 am |
---|
| | | (Link) |
|
Ну можно чисто для сравнения порядка величин прогнать рендер в блендере на CPU и GPU, например. Я так-то не утверждаю, что прироста не будет, но чудес тут ждать не стоит.
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | December 20th, 2022 - 09:20 am |
---|
| | | (Link) |
|
>прогнать рендер в блендере прости, я сразу не понял что ты тролироваешь.
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | December 20th, 2022 - 10:23 am |
---|
| | | (Link) |
|
как и следовало ожидать, чудес не произошло, да. рендер 320x240, цпу: ~80 миллисекунд (~12 FPS). рендер 1024x768, гпу: хуй знает сколько (лень раскочегаривать гпу таймеры), solid 60 FPS.
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | December 20th, 2022 - 10:25 am |
---|
| | | (Link) |
|
ну ладно, зависит от вида, конечно, иногда падает до 30 FPS.
From: | (Anonymous) |
Date: | December 17th, 2022 - 09:20 pm |
---|
| | | (Link) |
|
Хуя ты буржуй! Я думал, у тебя MX440.
From: | (Anonymous) |
Date: | December 22nd, 2022 - 09:10 am |
---|
| | | (Link) |
|
у меня было это говно в детстве лол со смешным вентилятором
From: | (Anonymous) |
Date: | December 23rd, 2022 - 10:42 am |
---|
| | | (Link) |
|
А у моей вентилятора не было.
From: | (Anonymous) |
Date: | December 23rd, 2022 - 10:42 am |
---|
| | | (Link) |
|
В моровинде водичка была БЕЗ ШЕЙДЕРОВ!
From: | (Anonymous) |
Date: | December 18th, 2022 - 06:19 pm |
---|
| | | (Link) |
|
1 meow, 2 meows, 3 meows, meow! 4 meows, 5 meows, 6 meows, meow! | |