OpenGL 中的精度/单位
我目前正在 OpenGL 中进行开发,并使用米作为我自己的单位,即 20 厘米宽的三角形为 0.2。 然而 OpenGL 似乎对这些数字进行了舍入,最终的形状并不完全符合我的意愿。 这在 OpenGL 中正常吗?我应该使用厘米作为单位吗?
I am currently developing in OpenGL and use the meter as my own unit, i.e. 0.2 for a 20 cm wide triangle.
However OpenGL seems to round these figures, which ends in shapes not exactly following my wishes.
Is this normal in OpenGL, and should I use centimeters as the unit instead?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您似乎在 GL 空间中使用 1m 为 1 个单位,形状扭曲可能是由于透视不正确造成的,要么扭曲太多或扁平化,要么比平常更高。这是因为视口比例不正确等原因。OpenGL
从不舍入任何内容,只舍入float或double类型的精度限制。
如果您使用 OpenGL 进行架构,我建议将 1 个 GL 单位视为 1mm。
You seem to use 1m for 1 unit in GL space, the shape distortion might be caused the incorrect perspective, either too much twisted or flattened, or higher than usual. This is because of incorrect viewport ratio, etc.
OpenGL never rounds up anything, only the precision limit of float or double types.
If you are using OpenGL for architecture, I suggest considering 1 GL unit as 1mm.
OpenGL 单位只是简单的单位,是某些未指定事物的度量。它们可以代表任何你想要的意思。除非你变得非常小、大或精确,否则它不会产生实际的影响。 0.2应该没问题。
OpenGL units are simply units, measures of some unspecified thing. They can mean whatever you want. Unless you are getting incredibly small, large, or precise, it won't make a practical difference. 0.2 should be fine.