GL.LoadPixelMatrix

Switch to Manual
public static void LoadPixelMatrix ();

Description

设置一个用于像素校正渲染的矩阵。

这会设置 modelview 和投影矩阵,以便使 X、Y 坐标直接 映射到像素。(0,0) 位于当前摄像机视口的 左下角。Z 坐标从 -1 变为 +1。

此函数会重写当前摄像机的参数,因此,绝大多数情况下,您希望 使用 GL.PushMatrixGL.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);

Description

设置一个用于像素校正渲染的矩阵。

这会设置 modelview 和投影矩阵,以便使 X、Y 坐标直接 映射到像素。(left,bottom) 位于当前摄像机视口的 左下角;(top,right) 位于当前摄像机视口的右上角。 Z 坐标从 -1 变为 +1。

此函数会重写当前摄像机的参数,因此,绝大多数情况下,您希望 使用 GL.PushMatrixGL.PopMatrix 保存和恢复矩阵。