GI.PrerenderText

From SunFlurry wiki
Jump to: navigation, search
  PrerenderText (Общие функции объекта GI)
Объект:Объект GI
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Неверные аргументы.
Визуальность:Да

Функция позволяет подготовить внутренний буфер-текстуру для указанной строки символов с указанными шрифтом, размерами и другими параметрами заранее. Обычно в таком подходе нет необходимости. См. также описание RenderText.

Синтаксис

GI.PrerenderText(<Символы для подготовки текстуры-буфера (STRING)>,<Свойства шрифта (STRING)>)

Аргументы

  • <Символы для подготовки текстуры-буфера (STRING)> - Аргумент задает текст для подготовки буфера. В тексте можно использовать международные символы.
  • <Свойства шрифта (STRING)> - Аргумент задает наименование, размер и другие свойства шрифта текста в формате: <Имя шрифта>,<Размер>,<Стиль>,,,<Тип сглаживания (0..3)>. Стиль шрифта задается как совокупность начальный букв сл. свойств: Bold, Italic, Uderlined, Strikeout, при пустом значении, используется стиль по умолчанию. Доступны следующие типы сглаживания: 0 -- сглаживание по умолчанию на системном уровне, 1 (по умолчанию) -- стандартное сглаживание, 2 -- сглаживание типа ClearType (не рекомендуется), 3 -- без сглаживания. Смотрите также статью Формат записи шрифтов в системе.

Пример

...
//Первый вызов RenderText будет выполняться быстрее
aGI.PrerenderText("0123456789.,:GFPSCUtimes","Tahoma,15,IB");

аДата:=Date();
СтрСтат:="";

...

  //Выведем статистку в левый нижний угол экрана
  aGI.TextWorldPerspective(1);
  If GetPeriodMs(аДата)>100 Then
    аДата:=Date();
    аФПС:=0;
    аВремя:=0;
    аВремя2:=0;
    aGI.RenderStats(аФПС,аВремя);
    aGI.RenderStats2(аВремя2);
    СтрСтат:=""+аФПС+"FPS, CPU time: "+FormatNumber(аВремя,0,"",3)+"ms, GPU time: "+FormatNumber(аВремя2,0,"",3)+"ms";
  EndIf;
  aGI.RenderText(СтрСтат,"Tahoma,15,IB,"+DecToBase(_CLR_BLUE,16),0,10,aGI.Height-30,0.5,"0,2,FFFFFF,3");
  aGI.TextWorldPerspective(0);

...