正交视图中的翻译是不准确的

时间:2014-07-22 20:38:47

标签: opengl

enter image description here

此帖子附带的是OpenGl显示的图像。图像显示(在正交视图中)由多边形构成的一些白色立方体(每个立方体由两个三角形构成)。

相似的立方体是实例化的,因此共享网格的原始副本,单独定位(xy轴)应用于每个实例,给我像图像中的立方体。此外,定位数据的类型为float,并在小数点后两位舍入,以在累积数学加法期间停止舍入误差。手动验证x轴位置值与立方体使用的位置值后,它们彼此正好相距0.11,如下所示:0.06,0.17,0.28,0.39,0.50,0.61,0.72,0.83,0.94,1.05(x-顶行使用的轴数据。

从OpenGl屏幕截取图像并缩放到像素级别后,可以确认列之间间距的明显差异,即1到3个像素。 OpenGl中白色立方体排列的缩小程度越大,差异越明显,视觉效果看起来不那么明显。

现在我的问题是,对于同一个网格实例,为什么立方体之间的间距会发生变化,即使立方体之间的间距恰好相差0.11个单位?我需要在每列立方体之间的间距相同,有没有办法解决这个或替代解决方案?

注意:在我看来,通过研究图像,间距的平移是正确的,但是立方体似乎没有正确绘制,否则对齐不会在连续的列序列中排列...

1 个答案:

答案 0 :(得分:2)

这可能只是一个别名问题。最终,您的浮点对象坐标将投影为整数像素坐标。如果它们介于两者之间,那么它们会以这种或那种方式呈现,引发像你在这里看到的问题。