OpenGL:纹理可精确吗?

3
这是涉及OpenGL的2D游戏:
使用OpenGL能否展示绝对未经过滤、不拉伸或模糊的纹理?
这样,当我有一个BMP文件并将其转换为OpenGL纹理,然后检索该纹理并将其转换回来时,我没有任何修改或质量/数据损失?
2个回答

7

当然,只需禁用过滤器即可。这可以通过将GL_MIN_FILTER和GL_MAG_FILTER设置为GL_NEAREST来实现。还要确保以适当的尺寸绘制纹理,使得纹素与像素大小相同。


3

正如Matias之前所说 - 一件事是将GL_MIN_FILTERGL_MAG_FITLER设置为GL_NEAREST(通过glTexParameter*)。

但对于像素完美的渲染,还有另一件重要的事情 - 您不希望将纹理缩放到2的幂次方。最简单的方法是通过绑定目标GL_TEXTURE_RECTANGLE而不是GL_TEXTURE_2D来指定纹理。在这样的绑定纹理上,纹理坐标通常不在范围(0..1,0..1)中,而是在(0..w,0..h)中。您可以轻松地进行每个纹素的索引。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接