【发布时间】:2011-10-05 04:54:01
【问题描述】:
我一直在用 OpenGL/C++ 编写一个 2D 基本游戏引擎,并在学习过程中学习一切。我仍然对定义顶点及其“位置”感到困惑。也就是我还在尝试理解OpenGL的顶点到像素的转换机制。是否可以简要解释一下,或者有人可以指出一篇文章或可以解释这一点的东西。谢谢!
【问题讨论】:
-
仅供参考 Vertices 是 'vertex' 的复数形式。在 OpenGL 中,顶点坐标乘以一系列矩阵得到最终的屏幕 X,Y 坐标。
-
虽然我知道你的问题的答案,但我也是 OpenGL 的新手,所以我不会发布答案,以免我说一些技术上不正确的东西。我要做的就是建议你阅读 OpenGL 的优秀作品。它会为你解决问题。如果你不怕数学,我推荐this online book。
-
这不是试图回答,但可能有助于澄清。顶点位置与像素位置没有任何关系,除非您碰巧将视口/变换设置恰到好处。顶点存在于它们自己的单位空间中。例如。如果你的纸是 10x10,那么它有多大?等等 - 10x10 英寸、厘米、英尺、英里...?
-
@Ascension:你真的是指 2D 游戏吗?或者您的意思是在 2D 屏幕上显示的 3D 游戏? OpenGL用于后者(3D->2D)。
-
感谢大家提供的所有出色答案,在选择“正确”答案之前,我将在这里查看所有信息。虽然我认为这里没有任何 1 个正确答案,而且它们都对我有帮助,但必须选择一个,以便我将其全部审核并稍后回复,再次感谢大家帮助我!