我创建了一个在iOS上使用GLKView渲染的OpenGL ES游戏。我还添加了一些定位在GLKView顶部的自定义UIButton。在渲染中,我使用GL_POINTS
渲染模式绘制了一些星星。在模拟器中一切都很好,但在设备上看起来很糟糕。
我想知道是否有人对我应该在设备上配置/寻找的东西有任何建议,可能需要设置以获得正确的渲染图像。
以下是结果的几张图片:
模拟器
设备
(请忽略自定义按钮缩放的差异 - 设备屏幕截图是在iPad上拍摄的。)
答案 0 :(得分:3)
事实证明,问题与未在OpenGL ES的着色器中设置gl_PointSize
有关。屏幕截图实际上引导我使用这个解决方案,因为星星(使用GL_POINTS
渲染模式绘制)在设备上的严重错误比在模拟器上错误。
据推测,对于桌面版的OpenGL,默认情况下使用glPointSize
函数设置磅值(除非启用GL_VERTEX_PROGRAM_POINT_SIZE
)。在OpenGL ES上没有glPointSize
函数,因此必须始终使用顶点着色器中的内置gl_PointSize
变量指定磅值。