3D使用正交矩阵坐标到2D屏幕坐标

时间:2010-07-05 20:02:16

标签: 3d isometric orthographic

我有一个场景可以存储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屏幕坐标。

任何帮助都会很棒。

谢谢, 乔恩

1 个答案:

答案 0 :(得分:2)

Here's一篇很棒的文章解释了OpenGL是如何做到的。