LINUX.ORG.RU

libGDX, camera, rendering font

 


0

1

Использую OrthographicCamera camera; camera.viewportWidth = 480f; и дальше рендерю спрайты одинакового размера. Если размер экрана больше, все эти спрайты корректно увеличиваются(и продолжают рендерится в максимальном размере). Совсем другое дело происходит с текстом, такое чувство что он рендерится в 480 пикс, а потом увеличивается до настоящей ширины экрана. Раньше решал это проблему рендеря шрифт через другую камеру, но это как-то неправильно. Кто знает как решить данную проблему?

★★★

Не знаю как работает libgdx, но у себя в движке я использую два типа фонтов - растровый и векторный.

Первый - это текстура и описание гилфов на ней, сгенеренные в офлайне.

Второй - это ttf/otf/etc, из которых в рантайме генерятся глифы нужного размера и кешируются на текстуре. Второй вариант несколько тормознее первого, зато позволяет сгенерить только нужные глифы, которые описаны в векторе.

Но в обоих случаях рендерится по два треугольника на символ.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Не знаю как работает libgdx

Я при резайзе использую твой второй способ. То есть генерирую текстуру. Но проблему тут в другом.

abs ★★★
() автор топика
Ответ на: комментарий от andreyu

В чем? В недостаточном размере глифа?

Да нет же, тут скорее алгоритм работы libGDX, который рендерит текст на разрешение «камеры».

abs ★★★
() автор топика
Ответ на: комментарий от abs

Да нет же, тут скорее алгоритм работы libGDX, который рендерит текст на разрешение «камеры».

Что значит на «разрешение камеры»?

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Что значит на «разрешение камеры»?

Я создал камеру 480*640 пикс. Чтоб использовать одинаковые размеры всего. А libGDX все это масштабирует на весь экран. Спрайты при этом рисуются нормально. А вот текст как будто отрисовываеться на это низкое разрешение, а уже потом увеличивается.

abs ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.