Объявление
public static void LoadOrtho();Описание
Вспомогательная функция для настройки ортогональной проекции.
Загружает ортогональную проекцию в матрицу проекции и загружает идентификатор в модель и матрицы представления.
Полученная проекция выполняет следующие сопоставления:
1. от x = 0..1 до x = -1..1 (слева..справа)
2. y = 0..1 до y = -1..1 (внизу..вверху)
3. z = 1..-100 до z = -1..1 (близко..далеко)
Это эквивалентно следующим операциям:
using UnityEngine;
public class Example : MonoBehaviour
{
void OnPostRender()
{
// ...
GL.LoadOrtho();
// is equivalent to:
GL.LoadIdentity();
var proj = Matrix4x4.Ortho(0, 1, 0, 1, -1, 100);
GL.LoadProjectionMatrix(proj);
// ...
}
}
Изменение матрицы модели, вида или проекции переопределяет текущие матрицы рендеринга. Рекомендуется сохранять и восстанавливать эти матрицы с помощью GL.PushMatrix и GL.PopMatrix.
using UnityEngine;
public class Example : MonoBehaviour
{
// Draws a triangle under an already drawn triangle
Material mat;
void OnPostRender()
{
if (!mat)
{
Debug.LogError("Please Assign a material on the inspector");
return;
}
GL.PushMatrix();
mat.SetPass(0);
GL.LoadOrtho();
GL.Color(Color.red);
GL.Begin(GL.TRIANGLES);
GL.Vertex3(0.25f, 0.1351f, 0);
GL.Vertex3(0.25f, 0.3f, 0);
GL.Vertex3(0.5f, 0.3f, 0);
GL.End();
GL.Color(Color.yellow);
GL.Begin(GL.TRIANGLES);
GL.Vertex3(0.5f, 0.25f, -1);
GL.Vertex3(0.5f, 0.1351f, -1);
GL.Vertex3(0.1f, 0.25f, -1);
GL.End();
GL.PopMatrix();
}
}
Смотрите так же: GL.LoadProjectionMatrix, Matrix4x4.Ortho.