Version: 2022.3

GL.LoadPixelMatrix

切换到手册
public static void LoadPixelMatrix ();

描述

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

将正交投影加载到投影矩阵中,将标识加载到 模型和视图矩阵中。投影矩阵是这样一个矩阵,X 和 Y 坐标直接映射到像素。 坐标 (0,0) 位于当前摄像机视口的左下角。Z 坐标从近平面 的 1 到远平面的 -100。

更改模型、视图或投影矩阵会覆盖当前的渲染矩阵。 最好使用 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.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(); } }

public static void LoadPixelMatrix (float left, float right, float bottom, float top);

描述

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

将正交投影加载到投影矩阵中,将标识加载到 模型和视图矩阵中。投影矩阵是这样一个矩阵,X 和 Y 坐标直接映射到像素。 (left,bottom) 位于当前摄像机视口的左下角;(top,right) 位于当前摄像机 视口的右上角。Z 坐标从近平面的 1 到远平面的 -1。

更改模型、视图或投影矩阵会覆盖当前的渲染矩阵。 最好使用 GL.PushMatrixGL.PopMatrix 保存和恢复这些矩阵。