将任意矩阵加载到当前投影矩阵。
此函数会覆盖当前摄像机的投影参数,因此通常情况下,您需要使用 GL.PushMatrix 和 GL.PopMatrix 来保存和恢复投影矩阵。模型和视图矩阵保持不变。请注意,摄像机的视图矩阵通常沿 z 轴缩放 -1,根据您的用例,可能需要考虑这一点。
加载的投影矩阵应投影到以下边界定义的与 API 无关的裁剪体积中
1. x = -1..1(左..右)
2. y = -1..1(下..上)
3. z = -1..1(近..远)
Unity 可能会将该矩阵与其他转换相结合,以映射到实际图形 API 的约定。可以通过 GL.GetGPUProjectionMatrix 来获取生成的矩阵。
using UnityEngine;
public class Example : MonoBehaviour { Matrix4x4 projMtrx = Matrix4x4.identity;
void OnPostRender() { GL.PushMatrix(); GL.LoadProjectionMatrix(projMtrx); // Do your drawing here... GL.PopMatrix(); } }
其他资源:GL.LoadOrtho。