Pull to refresh

Comments 20

Отличная статья, спасибо за труд! Надеюсь, что не последняя

Спасибо, статья не последняя. Возможно по смыслу надо бы статьи в другом порядке выпускать, просто для каких-то статей уже были старые наброски. В конце порядок содержания поменяю.

Discard не спасал, хотя он срабатывал на 80% пикселей.

Так и не должен был, все sgx / powervr-ы — tbdr: http://blog.imgtec.com/powervr/a-look-at-the-powervr-graphics-architecture-tile-based-rendering
Те от дискарда ему делалось даже хуже из-за бранчинга во фрагментном шейдере.

Согласен, discard вообще стоит избегать. Проверял на всевозможных девайсах и именно в этом шейдере на iPad2 без дискарда FPS падал до 40. Все таки после discard идет 5-8 выборок из текстуры (в зависимости от кол-ва материала) и это перевешивало тормоза от бранчинга.

Делал что-то похожее, было интересно разобраться как работают smoothed-particle hydrodynamics и marching cubes по отдельности, и потом совместить их, практической ценности мало :)
Видео
У вас смотрю поверхностное натяжение довольно точно реализовано, здорово выглядит! На счет ценности — у нас из этого игра вышла :)
Кстати вот капельки в динамике
Шикарно. Делал когда-то нечто подобное, но с MatCap текстурой совместить не догадался. Делал честные отражения с кубмапы, коэффициенты преломления, коэффициенты отражения… В общем мудохался много, а результат не намного лучше вышел. Так же очень круто с бордерами и смешиванием материалов. Просто снимаю шляпу.
Еще вот такое есть — http://tympanus.net/Development/RainEffect/
Тоже жутко прожорливое, но крутое.
У меня макбук эир-то не осиливает :) а вы про мобильники
Хм, а у меня на ноутбуке «летает». И на хакинтоше с HD4890 тоже.
Наверное ускоритель слабенький.
Кошмар ) Вас ограбили )))
https://www.notebook-center.ru/catalog_packard-bell_12107.html — вот такой ноут вполне прилично справляется…
Да я понимаю. Хоть часов 8-10 держит и на том ему спасибо :) Хоть что-то :)
Круто! Вариант с отражениями действительно весьма хорош и заметно превосходит мой бесшейдерный вариант. С другой стороны, у нас были разные задачи, потому и разные результаты. :) Не так давно делал рескин для tvOS версии, так пришлось добавлять тени и блики, потому что старый вариант под новую графику не подходил.
Скрытый текст
Помню вашу игру и статью :) Рескин пошел игре заметно на пользу, поздравляю с выходом на tvOS!
А точно discard дает прирост на мобильных GPU? На «взрослых» видяхах все с точностью наоборот. Так как мы не можем учитывать результат depth test. Не ясно дискарднется пиксель или нет.
Depth test в нашем случае отключен т.к. рендерим плоский квад. Сам discard не так страшен, как if(gradient<=0.0), в который он помещен. Однако после discard у нас еще идут 5-8 вызовов texture2D(), которые в сумме более тяжелые для GPU чем один if(). На глаз это никак не определить, нужны только тесты на девайсах. И именно тесты показали, что в этом шейдере от discard польза таки есть.
На мобильных GPU tile based рендер. И discard в общем дает еще большие тормоза, чем на десктопных картах. Но тут очень частный случай. Нет работы с глубиной + нет оверлапящихся треугольников. Так что вполне может быть что ускоряет.
Sign up to leave a comment.

Articles