Opengl es openGLES中的简单2D UV映射问题

Opengl es openGLES中的简单2D UV映射问题,opengl-es,textures,texture-mapping,uv-mapping,Opengl Es,Textures,Texture Mapping,Uv Mapping,我对低级openGL编码相当陌生,我有一个问题,可能是我太累了,找不到解决方案。我相信答案很简单,我正在做一些非常愚蠢的事情,但接下来 我有一个1024 x 512的纹理,我正在渲染一个2D四边形,它打算使用该纹理的一部分。该四边形与我尝试渲染的纹理部分大小相同,例如在顶点之间使用100 x 100来渲染100 x 100纹理部分。 假设基于零的像素坐标,纹理像素从0(s)到104(t),因此UV(st)计算为0/1024和104/512,范围为100/1024和204/512 然而,当我渲染四

我对低级openGL编码相当陌生,我有一个问题,可能是我太累了,找不到解决方案。我相信答案很简单,我正在做一些非常愚蠢的事情,但接下来

我有一个1024 x 512的纹理,我正在渲染一个2D四边形,它打算使用该纹理的一部分。该四边形与我尝试渲染的纹理部分大小相同,例如在顶点之间使用100 x 100来渲染100 x 100纹理部分。 假设基于零的像素坐标,纹理像素从0(s)到104(t),因此UV(st)计算为0/1024和104/512,范围为100/1024和204/512

然而,当我渲染四边形时,我从103(t)处的像素坐标中得到一条线,这是图像不同部分的一部分,因此它非常突出。我可以通过将UV设置为0/1024和105/512来解决这个问题,但这对我来说似乎非常错误


我已经搜索了一段时间,找不到我做错了什么。我在glparams中尝试了GL_-LINEAR、GL_-NEAREST、钳制等,但没有效果。有人能告诉我我的错误吗?

那是因为纹理坐标不处理像素,所以你的假设

因此,紫外线(st)是 计算为0/1024和104/512 范围为100/1024和204/ 512

这是错误的


这是一个常见问题,我最近在

中回答了这个问题,这是因为纹理坐标不处理像素,因此您的假设是

因此,紫外线(st)是 计算为0/1024和104/512 范围为100/1024和204/ 512

这是错误的

这是一个常见问题,我最近在