Как стать автором
Обновить

Комментарии 15

А это не репост. Это я на форуме отписался о проделанной работе. А здесь я статью написал.
Статью? Так это просто копия одного поста с конечным решением, на форуме и то больше информации и обсуждений.
Как это больше. Здесь даже код прокомментирован.
т.е. статья о том, как поместить растр отданный фритэпом в опенгл текстуру? А зачем в RGB, почему не писать в альфу и не красить в шейдере? Почему не в атлас?
В rgba, чтобы цвет какой захочешь можно было установить. Там же параметры есть для rgb. Через шейдер статичный цвет. Как в атлас не пойму?
А зачем в RGB

Потому что автор не в курсе про SDF и как это потом пригодится.
и не красить в шейдере

И про заливку цвета через вертекс-колор, наверное, тоже.
В android скорее всего это не прокатит. Я знаю про glVertexColorPointer и glVertexPointer и glTexCoordPointer. Но это без шейдеров.
Ну fixed pipeline давно эмулируется через встроенные шейдеры (а ниже gles2 сейчас живых девайсов вроде как нет), поэтому использовать его смысла нет. Льем цвета в вертексы и дальше пробрасываем из вертексного в фрагментный через интерполятор. Так делается везде, где требуется менять цвет глифов + всякие эффекты типа градиента.
А что за SDF?

Signed distance field, где в грейскейле пишется дистанция от контура и потом в шейдере решается как рисовать — сейчас почти во всех движках текст рисуется так. Даже на хабре были статьи

Именно так. В Qt 5.12 SDF поддерживается нативно, даже утилитка есть готовящая атласы из ttf
Хотя можно еще цвет залить скорее всего через uniform переменные. Но я так не пробывал.
Придраться есть к чему.
— Избыточное использование glGetUniformLocation
— Странное включение и отключение аттрибутов буфера при отрисовке, что, обычно, не делают каждый кадр
— FT_Library может быть одна, а FT_Face на каждый Font свой
— Фиксированный текст
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории