Показаны сообщения с ярлыком c#. Показать все сообщения
Показаны сообщения с ярлыком c#. Показать все сообщения

суббота, 11 февраля 2012 г.

XNA: динамическое создание шейдеров

В четвёртой версии XNA Microsoft предлагает создание шейдеров только на стадии компиляции, путём помещения fx-файлов в директорию ресурсов и последующей загрузки уже скомпилированного шейдера в эффекте из ресурсов.
var effect = Content.Load<Effect>( Path.Combine(Directories.ContentDirectory, "ShaderFileName"));

Если есть потребность создания шейдеров в рантайме придётся прибегнуть к громоздкой и медленной процедуре. Поэтому лучше использовать обычный способ загрузки шейдеров из ресурсов.
Далее описание динамического создания шейдера.

воскресенье, 22 января 2012 г.

XNA: вывод текста системными шрифтами


XNA предполагает вывод текста только заранее подготовленными растровыми шрифтами. И это правильно. Быстро, не зависимо от ОС, предсказуемые размеры текста.
В моём случае требовалось совершенно противоположное. Произвольный выбор гарнитуры и размера шрифта, и низкие требования к производительности. Задача оказалась довольно трудной. Информации в интернете оказалось мало и она была крайне разрознена.

iText: пишем в PDF по-русски


Задача: создавать PDF-документ с использованием библиотеки iText. При этом пользователь должен сам задавать используемые шрифты, из установленных в системе. Шрифты как TrueType так и Type1.
В iText есть статический класс предоставляющий доступ к системным шрифтам FontFactory. При получении шрифта нужно правильно указать его кодировку. Тут и возникли проблемы. Для ТТ и Т1 кодировки разные, и в .NET нет штатных средств позволяющих отличить ТТ-шрифт от Т1.