ПрограммированиеФорумГрафика

Растровый шрифт (2 стр)

Страницы: 1 2 3 4 5 Следующая »
#15
8:44, 13 апр 2020

programina
> у ТС GL, а Imgui требуется для работы DX
В перлы.
Имгуй выдаёт на выхлопе список трианглов, рендерить можно хоть софтварно, в официальном репозитории даже лежат рекомендованные реализации под конкретные гапи и платформы
Повышай квалификацию
https://github.com/ocornut/imgui/tree/master/examples

#16
10:20, 13 апр 2020

eDmk
1. Надо постоянно пересоздавать меш текста и заливать его в буфер.
2. Размер буфера всегда ограничен максимальной длиной строки.
3. Текст динамически изменяется, что приводит к постоянному обновлению буфера.


В общем вопрос: можно ли рисовать/генерить треугольники в геометрическом шейдере?

1) В любом случае придётся обновлять меш , если текст динамически изменяется.

2) 128 - 256 символов вполне достаточно.  Вы просто не впишите строку в размер экрана

3) В любом случае придётся обновлять меш , если текст динамически изменяется.  Для статических строк ничего обновлять не нужно.


Генерить треугольники можно, а как вы текстурные координаты символа будете накладывать в GS ? и там есть ограничения по количеству созданых примитивов .

#17
11:41, 13 апр 2020

programina
vaz
Вы прикидываетесь дурачками или не в курсе, что DX - это комплекс библиотек и одной лишь графической частью оно не ограничено?

#18
12:07, 13 апр 2020

nes
> Вы прикидываетесь дурачками или не в курсе, что DX - это комплекс библиотек и
> одной лишь графической частью оно не ограничено?
Додик, прочитай мой ответ внимательно

#19
12:09, 13 апр 2020

vaz
Ок, тогда наезд мой касается только Програмины.

#20
12:14, 13 апр 2020

bykabak
> Генерить треугольники можно
Во! То что нужно. Текстура не нужна. Просто цвет.

#21
13:32, 13 апр 2020

Если уж так хочется.
Можно квадами маленькими делать буквы и рисовать нужным цветом.
Изображение
Или
Изображение
Например цифра 2 будет 22 треугольника.

Можно в 3д максе сделать сетки букв и в свой формат перегнать, для проги.
В 3д максе есть 3д текст.
https://www.youtube.com/watch?v=to6R-mXGB6g

#22
15:25, 13 апр 2020

По-моему растровый шрифт красивее, и быстрее во всех смыслах, когда всего два треугольника - прямоугольник и на него натянута любая текстура буквы.

#23
15:26, 13 апр 2020

bykabak
Конечно. А он векторный хочет изобрести.

#24
16:26, 13 апр 2020

bykabak
> и на него натянута любая текстура буквы
Ведь текстуры тоже грузить надо.

Мне надо маленький текст для отображения координат, углов и прочей мелочи.
Такой вот очень даже подойдет:

Изображение

Меш будет быстро генериться.
Я свой вариант 55х55 пикселей оптимизировал: ~2600 fps выдает. Вполне сносно.
Правда если текст не кидать по шине в виде мешей, то ~3700 fps :)
Из-за этой разницы и заморочился.

Видимо текстуры лучшй вариант, т.к. один раз надо будет кинуть в память,
а потом рисовать в шейдере.

#25
19:09, 13 апр 2020

eDmk
> Ведь текстуры тоже грузить надо.

Они грузятся один раз при старте системы. А если все шрифты загнать в одну текстуру, то это вообще будет сказка по скорости.

Вот мой растровый текств динамике

Изображение
#26
19:22, 13 апр 2020

bykabak
Видюха правда чуть не взорвалась, а так клево :)

#27
19:40, 13 апр 2020

eDmk
> Видюха правда чуть не взорвалась, а так клево :)

Это обычные шрифты нарисованные с использованием DirectWrite и сохранённые в текстуру.

Обновляется очень быстро.


Что за видюха и какой FPS ?

#28
19:48, 13 апр 2020

bykabak
> Что за видюха и какой FPS ?
>
>
При запуске и если ничего не трогать (по умолчанию), то 550-600 fps.
Gigabyte GeForce GTX 980 Ti 6Gb

#29
20:02, 13 апр 2020

Хорошая видюха.

И размер букв не сильно влияет на производительность шрифтовой системы ( если размер символов не на пол экрана ). + шрифтов по сути можно держать сколько памяти в GPU хватит.

Треугольники имеет смысл добавлять, если вы делаете объёмный 3D шрифт - векторный, и тогда уже можно или текстуру натягивать или просто заливать цветом эти треугольники.

Страницы: 1 2 3 4 5 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.