Объявление
public static void LoadPixelMatrix();Описание
Настройте матрицу для рендеринга с точностью до пикселя.
Загружает ортогональную проекцию в матрицу проекции и загружает идентификатор в модель и матрицы представления. Матрица проекции такова, что координаты X и Y отображаются непосредственно в пиксели. Координата (0,0) находится в левом нижнем углу окна просмотра текущей камеры. Координаты Z изменяются от 1 в ближней плоскости до -100 в дальней плоскости.
Изменение матрицы модели, вида или проекции переопределяет текущие матрицы рендеринга. Рекомендуется сохранять и восстанавливать эти матрицы с помощью GL.PushMatrix и GL.PopMatrix.
using UnityEngine;
public class Example : MonoBehaviour
{
// Draws a red triangle using pixels as coordinates to paint on.
Material mat;
void OnPostRender()
{
if (!mat)
{
Debug.LogError("Please Assign a material on the inspector");
return;
}
GL.PushMatrix();
mat.SetPass(0);
GL.LoadPixelMatrix();
GL.Color(Color.red);
GL.Begin(GL.TRIANGLES);
GL.Vertex3(0, 0, 0);
GL.Vertex3(0, Screen.height / 2, 0);
GL.Vertex3(Screen.width / 2, Screen.height / 2, 0);
GL.End();
GL.PopMatrix();
}
}
Объявление
public static void LoadPixelMatrix(float left, float right, float bottom, float top);Описание
Настройте матрицу для рендеринга с точностью до пикселя.
Загружает ортогональную проекцию в матрицу проекции и загружает идентификатор в модель и матрицы представления. Матрица проекции такова, что координаты X и Y отображаются непосредственно в пиксели. (слева, снизу) находится в левом нижнем углу окна просмотра текущей камеры; и (вверху, справа) находится в правом верхнем углу области просмотра текущей камеры. Координаты Z изменяются от 1 в ближней плоскости до -1 в дальней плоскости.
Изменение матрицы модели, вида или проекции переопределяет текущие матрицы рендеринга. Рекомендуется сохранять и восстанавливать эти матрицы с помощью GL.PushMatrix и GL.PopMatrix.