GI.TextWorldPerspective

From SunFlurry wiki
Revision as of 08:53, 22 January 2025 by Admin (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  TextWorldPerspective (Общие функции объекта GI)
Объект:Объект GI
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Неверные аргументы
Визуальность:Да

Функция изменяет текущую перспективу окна GI на простую текстовую 2D перспективу в которой удаление и приближение по оси z не сказывается на размерах объектов, размер точки окна совпадает с единицей измерения координатных осей x и y, и координата (0,0) находится в верхней левой точке окна. Выключение такого режима (aGI.TextWorldPerspective(0)) возвратит предыдущий режим перспективы. Режим удобен для рисования простых 2D спрайтов, фигур или текста (RenderText).

Синтаксис

GI.TextWorldPerspective(<Включить текстовую перспективу (INT)>=1)

Аргументы

  • <Включить текстовую перспективу (INT)> - (необязательный аргумент) Изменяет текущую перспективу текстовую (1, по умолчанию), или возвращает перспективу, которая работала до текстовой. Для нулевого смещения камеры для функции RenderText точка 0,0,0 находится в верхнем левом углу экрана. Для других функций рисования, в центре экрана, но ось Y увеличивается по направлению вниз, но для программ шейдеров ось по-прежнему увеличивается вверх, так как шейдеры игнорируют изменения перспективы с помощью матрицы перспективы.

Примеры

...
аДата:=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);

...