【问题标题】:OpenGL: Accurate textures possible?OpenGL:精确的纹理可能吗?
【发布时间】:2010-10-13 09:19:14
【问题描述】:

这是一个带有 OpenGL 的 2D 游戏:

使用 OpenGL 是否可以显示绝对未经过滤、不拉伸或模糊的纹理?

所以当我有一个 BMP 并将其转换为 OpenGL 纹理,然后检索该纹理并将其转换回来时,我没有修改或质量/数据丢失?

【问题讨论】:

    标签: opengl graphics 2d textures mipmaps


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2013-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-17
        相关资源
        最近更新 更多