Я хочу написать аппаратное ускорение текста визуализации с помощью Free Type 2, чтобы загрузить шрифты, найти правильные глифы и их размеры и т.д.аппаратное ускорение текста Unicode рендеринга
Мой план, чтобы сделать это, чтобы иметь большую текстуру (для данного шрифта, размера и т. д.) в видеопамяти и таблицу для каждой текстуры, определяющую информацию о содержимом текстуры в системной памяти.
Затем я могу использовать таблицу для создания буфера вершин для визуализации текста.
Проблема, с которой я столкнулся, - это построение текстуры, создание текстуры для каждого символа в Юникоде нецелесообразно, там слишком много. Для Ascii в прошлом я просто создал текстуру в редакторе изображений, а затем заполнил таблицу по мере необходимости заранее, однако для этого мне понадобится какая-то динамическая система, которая получит нужные глифы, но также эффективно кэширует их до избегайте повторных выгрузок одного и того же символа в vram ... (как бы то ни было наименее часто используемая система)
Другая проблема - не все глифы одного размера, я мог бы разделить текстуру на сетку, достаточно большую для самые большие глифы (которые мне нужно каким-то образом для точной разработки), что упрощает установку глифов на текстуру и заменяет их новыми глифами (на основе наименее часто используемых или чего-то еще), однако это оставляет много потерянного пространства, но Я не уверен, как более эффективно упаковывать их, не сталкиваясь с проблемами с фрагментацией, поскольку глифы меняются и исчезают ...
Также я предполагаю, что обновление текстуры может привести к остановке графического оборудования, если текстура все еще используется для некоторого предыдущего текста, является ли это правильным предположением и как я могу избежать его, если это так?
Потому что я не нашел способ отформатировать форматированный текст (т. Е. Как простой материал типа html), и никто не указал мне на то, что я мог бы интегрировать с приложение d3d в моем другом вопросе. Хотя Pango выглядит так, как будто он может это сделать, добавьте его в качестве ответа на мой предыдущий вопрос (http://stackoverflow.com/questions/1150289/rendering-formatted-text-in-a-direct3d-application), и если после ive посмотрел на него позже, и он смог сделать то, что мне нужно, принять его. –
Добавлен комментарий с похожими на богатые текстовые объекты – Artyom