【发布时间】:2014-02-18 17:15:48
【问题描述】:
是否有可能使用 glTexCoord2f() 以某种方式获得像素完美的精度?例如,假设我已将 512x512 纹理绑定到 OpenGL 上下文,现在我想从该纹理内部绘制任意区域作为四边形。我们还假设我要绘制的区域使用了非常奇怪的偏移量和尺寸,它们不是纹理大小的倍数。例如:
Texture size: 512x512
Area inside the texture that I want to draw: X=131 Y=159 Width=243 Height=33
问题是 glTexCoord2f() 期望值在 0 到 1 的范围内,所以我不得不做一些浮点运算来将像素值转换为从 0 到 1 的浮点值,我担心在整数到浮点数的转换过程中,像素完美的精度可能会丢失。我知道如果你坚持使用纹理大小的倍数,即具有 16x16、32x32、64x64 或类似大小的项目的精灵表,那么这种转换不会成为问题,但是如何解决纹理中真正的任意偏移量呢?像素完美在这里可能吗?
【问题讨论】:
-
ARB_texture_rectangle? -
似乎可以完成这项工作。那么有没有办法不求助于扩展呢?
标签: opengl