设置逐像素渲染的矩阵。
将正交投影加载到投影矩阵中,并将恒等矩阵加载到模型和视图矩阵中。投影矩阵呈 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.Begin(GL.TRIANGLES); GL.Color(Color.red); 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(); } }
设置逐像素渲染的矩阵。
将正交投影加载到投影矩阵中,并将恒等矩阵加载到模型和视图矩阵中。投影矩阵呈 X 坐标和 Y 坐标直接映射到像素。坐标 (left,bottom) 位于当前摄像机视口的左下角;(top,right) 位于当前摄像机视口的右上角。Z 坐标从近平面的 1 过渡到远平面的 -1。
更改模型、视图或投影矩阵会覆盖当前渲染矩阵。建议使用 GL.PushMatrix 和 GL.PopMatrix 保存和还原这些矩阵。