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

GL.LoadProjectionMatrix

建议更改

成功!

感谢帮助我们提升 Unity 文档的品质。虽然我们无法接受所有意见,但会认真阅读用户提出的每项更改建议,并在合适的地方进行更新。

关闭

提交失败

由于某些原因,无法提交您建议的更改。请在几分钟后<a>重试</a>。感谢您的积极反馈,助力我们提升 Unity 文档的品质。

关闭

取消

声明

public static void LoadProjectionMatrix(Matrix4x4 mat);

说明

将任意矩阵加载到当前投影矩阵。

此函数会覆盖当前摄像机的投影参数,因此通常情况下,您需要使用 GL.PushMatrixGL.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