MineGraph Docs Help

矩阵元素

模型视口矩阵

左上角 块的每一列的 表示模型的各轴尺寸倍率,与之对应的矩阵记为缩放矩阵

左上角 块的每一列的 表示模型空间的各轴( )在视口空间的朝向( ),对应的矩阵记为旋转矩阵

右上角 块的 表示模型在视口中的位置,记为位移矩阵

仅当四维向量的 分量不为 0 时才会应用位移:

由三个分矩阵组合而成:

投影矩阵

正交投影矩阵

其中: 分别为空间的左右、上下、近远平面;
为窗口高宽比 aspectRatio 为视场角对应的弧度值。

不同于 OptiFine 和 Iris 提供的视距平面 far ,这里的 是精确的远裁切平面距离。

阴影空间使用正交投影矩阵,每个方向上视距为 shadowDistance ,即阴影空间投影矩阵

透视投影矩阵

  • JE 26.2 之后使用反转深度投影矩阵来平衡远处的深度精度(M[2].z, M[3].z 反转)。

  • 透视投影矩阵的本质可以看作一个正交投影矩阵与一个基于 Z 值进行缩放的中间矩阵相乘所得的矩阵。

  • 可以使用 2.0 * atan(1.0 / gbufferProjection[1].y) 求到视场角(过于昂贵! 考虑在 shader.properties 中处理)。

透视投影逆矩阵

  • 可以使用 1.0 / ((depth * 2.0 - 1.0) * M[2].w + M[3].w) 快速求到线性深度,推导如下:

  • 可以使用 f = 1.0 / (M[2].z + M[3].z) 求到精确远平面,使用 n = 1.0 / (M[3].z - M[2].z) 求到精确近平面,推导如下:

31 May 2026