版本:Unity 6 (6000.0)
语言英语
  • C#

GL.LoadPixelMatrix

建议更改

成功!

感谢您帮助我们提升 Unity 文档的质量。虽然我们无法接受所有投稿,但我们会阅读用户建议的每处更改并根据实际情况进行更新。

关闭

提交失败

由于某些原因无法提交您建议的更改。请在几分钟后<a>重试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

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 保存和还原这些矩阵。