题
我在做一个简单的2D游戏。这是基于CrashLanding.所以这基本上是一个背景纹理和一些长方形的纹理行动。
我有这个奇怪的小图形问题:一些小2d项目(可以假定只是长方形)移动得到这个小闪光的黑色条在它们上面(背景的质地是几乎完全是白色的这样的小酒吧是显着).
纹理我使用的是小的(-1Kb)png图像。
有其他人碰到这个吗?这是一个常见载的问题?
顺便说一句这种情况发生在这两个模拟装置和实际设备。
解决方案
你有一个那样的小黑酒吧在你的纹理?
我遇到类似问题时,我必须做的事情是错误的。这里有一个小的检查清单:
- 你有mipmapped你的纹理或不,检查什么样的参数没有。
- glTexParameters.(WRAP_S,WRAP_T,MAG_FILTER,MIN_FILTER...)
- 纹理的尺度。(如果有非动力的两纹理允许的,这可能导致形故障,这取决于你如何装载你的纹理)
- 是你画那个闪烁的酒吧在你的矩形?
- 是否有什么东西这是造成黑色条,在你的纹理。
- 准的动画框架。
- 混合的α-融合。
如果东西的列表是模糊的,它的良好运动读取关于他们。
我还要做一个良好的猜测:我相信你是不是环绕你的纹理在任何方向和动画框架是有点不对准,以便应用程序有一位是错误的纹理坐标/高中的四,你们的绘图。
我希望我的建议是有意义的。我只有的经验,与通常的照片,不载ES的图形的管道已被修剪,以使其更紧凑、更清洁和更优雅。
其他提示
由于这是2D游戏,这些小矩形精灵是否包含在同一纹理表中?另一个可能的罪魁祸首可能是纹理过滤。
如果您试图操纵纹理坐标来绘制纹理的子区域,则可以检查是否以大于1:1的比例绘制精灵。如果启用了线性纹理过滤(而不是最近),如果您尝试将精灵缩放到1:1之外,OpenGL可能会从相邻的精灵中抓取一些像素。
如果是这种情况,您可以尝试在精灵之间的纹理表中放置一个1像素的缓冲区。
不隶属于 StackOverflow