TDS(рабочее название): бесполезный апдейт
Я сделал катастрофически мало, но все же что-то сделал, поэтому спешу поделиться своими (не)успехами с вами.
В общем, у меня тут несколько новых видов оружия: с паттернами стрельбы, с рикошетящими пулями, с пулями, которые спавнят другие пули и т.д. Я хотел сделать эту систему максимально гибкой, для этого мне пришлось переделать много старого кода, исправить несколько сложных багов, но она все равно не настолько гибка, насколько бы мне хотелось.
Короче, я постараюсь что-то выпустить к концу конкурса, но можете на меня особо не рассчитывать.
- 21 октября 2018, 02:19
- 07
блин, круто, как оптимизировал, чтобы такое количество не тормозило? или это шейдер?
Я вообще вебЖЛ использую.
хм, я тоже, но, видимо, как-то неправильно
Браузер какой? Аппаратное ускорение включено?
Хром, включено. Наверное, дело в том, что я рисую кубы, но не объединяю их в один меш и не скрываю задние грани - вот на 2К кубов в кадре и начинает подтормаживать. Но текстур на них нет (только цвет материала).
Хмм, да наверное, именно в этом и дело. Потому что у меня тоже хром с аппаратным ускорением.
Ах да, один простой способ оптимизации, который я использовал: сгруппировать объекты по геометрии, которая используется для рендеринга, и при рендеринге вызывать gl.bindBuffer(...) один раз для каждой группы, а не один раз для каждого объекта, но ты, наверное, и так это используешь.
Ну или перейти на вебЖЛ 2, который поддерживает инстансинг.
эм, я еще не настолько продвинут, чтобы использовать чистый вебгл) Я использую обертку над ним, ThreeJS и еще одну обертку, react-three-renderer, чтобы "рисовать" объекты в декларативном стиле
Насколько, я понял, они уже перешли на вебгл 2, т.к. появился THREE.BufferGeometry. Буду разбираться как ее использовать, спасибо!
Ну тогда я ничем помочь не могу. Я тоже не особо продвинутый, просто решил, что пора опенЖЛ освоить.
Я всё-таки рассчитываю и жду.)
Спасибо, но зря. Игру, может, еще и выпущу, но к конкурсу точно не успею.