Установить матрицу для попиксельной визуализации.
Устанавливает такие матрицы modelview и projection, что X и Y напрямую соответствуют
пикселям. Левый нижний угол текущей камеры имеет координаты (0,0).
Диапазон Z координаты от -1 до +1.
Эта функция переписывает текущие параметры вида камеры, поэтому, чаще всего, вы будете
сохранять и восстанавливать матрицу, используя GL.PushMatrix and GL.PopMatrix.
// Draws a red triangle using pixels as coordinates to paint on. var mat : Material;
function 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(); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public 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(); } }
Установить матрицу для попиксельной визуализации.
Устанавливает такие матрицы modelview и projection, что X и Y напрямую соответствуют
Левый нижний угол текущей камеры соответствует (left,bottom);
правый верхний угол текущей камеры соответствует (top,right).
Диапазон Z координаты от -1 до +1.
Эта функция переписывает текущие параметры вида камеры, поэтому, чаще всего, вы будете
сохранять и восстанавливать матрицу, используя GL.PushMatrix and GL.PopMatrix.
var mat : Material;
function OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(0); GL.LoadPixelMatrix(10,20,10,20); GL.Color(Color.red); GL.Begin(GL.TRIANGLES); GL.Vertex3(10,10,0); GL.Vertex3(10,20,0); GL.Vertex3(20,20,0); GL.End(); GL.PopMatrix(); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Material mat; void OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(0); GL.LoadPixelMatrix(10, 20, 10, 20); GL.Color(Color.red); GL.Begin(GL.TRIANGLES); GL.Vertex3(10, 10, 0); GL.Vertex3(10, 20, 0); GL.Vertex3(20, 20, 0); GL.End(); GL.PopMatrix(); } }