0

我有一个在 3D 空间中存储顶点的场景。我想做的是从等距角度正交渲染这些顶点。

在我所有的搜索中,显而易见的答案是使用像 OpenGL 等中的正交相机。

问题是我想从头开始写这篇文章以帮助我理解,所以我真的在寻找相机内部的理论。

如何在 3D 空间中获取任意点并使用正交矩阵从中获取屏幕坐标?

目前我有我的正交矩阵:

[2/r-l, 0, 0, r+l/r-l]

[0, 2/t-b, 0, 0, t+b/t-b]

[0, 0, 2/f-n, 0, f+n/f-n]

[0, 0, 0, 1]

其中 r 为右,l 为左,t 为上,b 为下,f 为远,n 为近。

我将围绕 y 轴的旋转附加到此,然后将顶点坐标与该矩阵相乘,我相信该矩阵会将我的世界空间顶点转换为我的视图空间坐标...

但它仍然是一个 3D 矢量,所以我很好奇我如何推断 2D 屏幕坐标。

任何帮助都会很棒。

谢谢,乔恩

4

1 回答 1

2

这是一篇很棒的文章,解释了 OpenGL 是如何做到的。

于 2010-07-05T20:09:25.247 回答