Difference between revisions of "GI.TextWorldPerspective"
1>Admin |
m (1 revision imported) |
(No difference)
| |
Latest revision as of 07:53, 22 January 2025
| TextWorldPerspective (Общие функции объекта 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);
...