Size: a a a

pro.graphon (and gamedev)

2021 April 02

uユ

und ユビキタス in pro.graphon (and gamedev)
Elias Daler
Да, это тупо. Можно один раз создать vao+vbo+ebo для конкретного текста, а потом их юзать в рендеринге
Просто с каждым изменением текста нужно будет их менять, но это лучше, чем делать это в каждом кадре
а вообще лучше не дергаться и рисовать текст в игре а не либе
источник

uユ

und ユビキタス in pro.graphon (and gamedev)
а в либе реализовывать только то что действительно при плохой реализации ударит по производительности
источник

uユ

und ユビキタス in pro.graphon (and gamedev)
тайлмапы, спрайты, партикли и задник
источник

ED

Elias Daler in pro.graphon (and gamedev)
und ユビキタス
а вообще лучше не дергаться и рисовать текст в игре а не либе
Ну или сделать как отдельную либу, как компонент в фреймворке
Так же как и партикли, тайлмапы и пр.

Всё это имеет общую базу, но может существовать над чем-то общим, а не быть монолитом
источник

uユ

und ユビキタス in pro.graphon (and gamedev)
Elias Daler
Ну или сделать как отдельную либу, как компонент в фреймворке
Так же как и партикли, тайлмапы и пр.

Всё это имеет общую базу, но может существовать над чем-то общим, а не быть монолитом
ну у меня сейчас вот так https://github.com/undnull/thorn/tree/master/include/thorn/render
источник

ED

Elias Daler in pro.graphon (and gamedev)
Просто тут масштаб либы нужно понимать. В том же SFML есть текст (TrueType), страйты и пр., но нет тайлмап и bitmap шрифтов
источник

uユ

und ユビキタス in pro.graphon (and gamedev)
фреймворк сам по себе есть кучка zero-cost оберток над либами, а так я хоть что-то новое туда добавляю
источник

uユ

und ユビキタス in pro.graphon (and gamedev)
Elias Daler
Просто тут масштаб либы нужно понимать. В том же SFML есть текст (TrueType), страйты и пр., но нет тайлмап и bitmap шрифтов
разница в том что SFML это мультимедиа библиотека, а мой фреймворк ориентируется на оптимизацию того, что либо нереализовано или работает сравнительно медленно в SFML
источник

uユ

und ユビキタス in pro.graphon (and gamedev)
и относится только к графическому модулю
источник

ED

Elias Daler in pro.graphon (and gamedev)
Ну вот у тебя кажется нет sparse-тайлмап, где рендерятся только куски и большие дыры не занимают место (когда уровень не прямоугольный)
И человек может сказать:"реализую свой класс, зачем мне тот, который оптимизирован под часть кейсов"
источник

ED

Elias Daler in pro.graphon (and gamedev)
Так же и в SFML. Я не верю, что на sf::VertexArray будет что-то прям очень медленное. Что-то, что нужно побитово выкладывать.
Ты же не под NES пишешь
источник

uユ

und ユビキタス in pro.graphon (and gamedev)
Elias Daler
Ну вот у тебя кажется нет sparse-тайлмап, где рендерятся только куски и большие дыры не занимают место (когда уровень не прямоугольный)
И человек может сказать:"реализую свой класс, зачем мне тот, который оптимизирован под часть кейсов"
я может дурачок но что такое sparse-тайлмап
источник

ED

Elias Daler in pro.graphon (and gamedev)
und ユビキタス
я может дурачок но что такое sparse-тайлмап
Когда у тебя есть NxN чанки и тайлмапа состоит из таких кусков. Т.е. например 8x8 тайлов, но которые не обязательно лежат в 2D массиве, а в sparse 2d массиве
источник

ED

Elias Daler in pro.graphon (and gamedev)
Просто не все уровни прямоугольные, а не-sparse структуры под них заточены
источник

uユ

und ユビキタス in pro.graphon (and gamedev)
Elias Daler
Когда у тебя есть NxN чанки и тайлмапа состоит из таких кусков. Т.е. например 8x8 тайлов, но которые не обязательно лежат в 2D массиве, а в sparse 2d массиве
тайлмап из тайлмапов чтоли?
источник

ED

Elias Daler in pro.graphon (and gamedev)
und ユビキタス
тайлмап из тайлмапов чтоли?
Да
источник

uユ

und ユビキタス in pro.graphon (and gamedev)
такие выкрутасы можно провернуть с моим уже кодом
источник

ED

Elias Daler in pro.graphon (and gamedev)
Ну и тебе нет смысла всю тайлмапу рендерить. А так будешь рендерить только те чанки, которые видны
источник

uユ

und ユビキタス in pro.graphon (and gamedev)
Elias Daler
Ну и тебе нет смысла всю тайлмапу рендерить. А так будешь рендерить только те чанки, которые видны
я рендерю весь тайлмап одним квадом
источник

uユ

und ユビキタス in pro.graphon (and gamedev)
🌚
источник