1

我正在为 iPhone 开发一个应用程序。

我正在使用 OpenGL 在屏幕上显示一个 3D 对象,以相机视图为背景。

我想知道如何将 OpenGL ES 单位更改为厘米/米。

我怎样才能做到这一点?

4

2 回答 2

3

你没有。

思想实验时间!

首先想象你有一个直径为 1 厘米的球体。你在 10 厘米外有一个摄像头。您会在框架的中心看到一个小球体。

现在想象一下,你有一个直径为 1 公里的球体和 10 公里外的照相机。您希望图像有何不同?

正确的答案是您根本不会期望图像发生变化。真正重要的是事物的相对大小。因此,您赋予数字的单位类型仅对程序员重要,与程序无关。

因此,您只需在脑海中声明一个单位等于一厘米,并根据该比例创建您的对象和世界。没有代码级别的更改可以实现这一点。它只是一种约定,用于帮助您以相对于彼此的正确尺寸构建事物。

于 2011-05-18T17:17:18.900 回答
2

OpenGL 没有单位的概念。它只使用无单位值。这些值的含义取决于您。他们只需要保持一致。因此,如果您的对象坐标和查看参数都以米为单位指定,并且您有一个坐标以厘米为单位的对象,则只需将该对象缩放 0.1 倍。

于 2011-05-18T16:43:10.470 回答