Size: a a a

pro.graphon (and gamedev)

2020 March 19

eb

ed braed in pro.graphon (and gamedev)
Насколько я понимаю там даже как такового стандарта нету, и у всех реализовано как попало..
источник

eb

ed braed in pro.graphon (and gamedev)
disba1ancer
Потому если шрифты только для отладки лучше использовать растровый фиксированного размера
+
источник

d

disba1ancer in pro.graphon (and gamedev)
Если надо на текстуре то лучше один раз запечь текстуру с готовым текстом, если текст редактируемый то запекать при изменении
источник

NK

Nikita Kosenkov in pro.graphon (and gamedev)
Я придумал алгоритм с gldrawinstanced тоесть делаю столько vao сколько есть символов и вывожу по координатам, но со скейлом проблемы, либо надо каждый раз пересоздавать(а это опять очень медленно)
источник

NK

Nikita Kosenkov in pro.graphon (and gamedev)
disba1ancer
Если надо на текстуре то лучше один раз запечь текстуру с готовым текстом, если текст редактируемый то запекать при изменении
Да я так и делаю например 256 символов = 256 текстур
источник

NK

Nikita Kosenkov in pro.graphon (and gamedev)
Я думал может есть другой более деликатный способ заставить gl рисовать текст( похоже что Гугл не врет и я один больной кому нужно столько текста выводить
источник

d

disba1ancer in pro.graphon (and gamedev)
Nikita Kosenkov
Да я так и делаю например 256 символов = 256 текстур
Не я имею ввиду если текст на каком-нибудь объекте как декаль, запекаешь не по символьно, а нужную фразу
источник

NK

Nikita Kosenkov in pro.graphon (and gamedev)
disba1ancer
Не я имею ввиду если текст на каком-нибудь объекте как декаль, запекаешь не по символьно, а нужную фразу
Типо сложить текстуры? Я тоже думал об этом но все равно 40 тыс раз вызывать отрисовку на cpu
источник

NK

Nikita Kosenkov in pro.graphon (and gamedev)
disba1ancer
Не я имею ввиду если текст на каком-нибудь объекте как декаль, запекаешь не по символьно, а нужную фразу
Или я не догоняю
источник

eb

ed braed in pro.graphon (and gamedev)
disba1ancer
Не я имею ввиду если текст на каком-нибудь объекте как декаль, запекаешь не по символьно, а нужную фразу
А freetype умеет "фразы" запекать разве?
источник

NK

Nikita Kosenkov in pro.graphon (and gamedev)
ed braed
А freetype умеет "фразы" запекать разве?
Неа, типо я сам буду создавать текстуру из символов
источник

NK

Nikita Kosenkov in pro.graphon (and gamedev)
Самое стремное это то что по символьно это КОЛИЧЕСТВО СИМВОЛОВ * КОЛИЧЕСТВО ЭЛЕМЕНТОВ
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
Nikita Kosenkov
Неа, типо я сам буду создавать текстуру из символов
Вообще это очень нетривиально)
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
Для наколеночной поделки пойдет, наверное
источник

eb

ed braed in pro.graphon (and gamedev)
Nikita Kosenkov
Самое стремное это то что по символьно это КОЛИЧЕСТВО СИМВОЛОВ * КОЛИЧЕСТВО ЭЛЕМЕНТОВ
Вот для элементов как раз атлас+шейдер лучше в любом случае.
источник

NK

Nikita Kosenkov in pro.graphon (and gamedev)
ed braed
Вот для элементов как раз атлас+шейдер лучше в любом случае.
А атлас прям шейдере держать?
источник

NK

Nikita Kosenkov in pro.graphon (and gamedev)
ed braed
Вот для элементов как раз атлас+шейдер лучше в любом случае.
А как скейлить если он жестко задан или я не понимаю чего-то?
источник

eb

ed braed in pro.graphon (and gamedev)
Nikita Kosenkov
А атлас прям шейдере держать?
В каком смысле держать?
Фигачь атлас (все символы в 1ой картинке), можно наверное прям на цпу.
Потом в текстуру и передавай её шейдеру вместе с массивом индексов (фразами). Затем внутри шейдера индексы переводи в координаты на атласе, и соответственно рисуй нужный символ.

Схему можно сильно усложнить чтобы учитывать размеры рисуемой поверхности, размеры самих символов и тд.. Уж насколько фантазии хватит.
источник

eb

ed braed in pro.graphon (and gamedev)
Nikita Kosenkov
А как скейлить если он жестко задан или я не понимаю чего-то?
Чтобы скейлить нужно сразу несколько атласов с разным размером символов соответственно.
источник

NK

Nikita Kosenkov in pro.graphon (and gamedev)
ed braed
Чтобы скейлить нужно сразу несколько атласов с разным размером символов соответственно.
Спасибо! Почитаю на эту тему (я новичок)
источник