0
我有一个512x512 PNG图像。它使用SlickUtil加载到纹理中,但我无法弄清楚如何从纹理中剪切特定的四边形以绑定到我的glQuad。OpenGL(LWJGL + SlickUTIL) - 如何在特定的坐标上裁剪纹理
它就像一个精灵表,我可以从那里剪切特定的图像。
我有一个512x512 PNG图像。它使用SlickUtil加载到纹理中,但我无法弄清楚如何从纹理中剪切特定的四边形以绑定到我的glQuad。OpenGL(LWJGL + SlickUTIL) - 如何在特定的坐标上裁剪纹理
它就像一个精灵表,我可以从那里剪切特定的图像。
只需使用OpenGL纹理坐标即可。在旧的GL中:
glBegin (GL_QUADS);
glTexCoord2f (0.0, 0.5); glVertex2f (0, 0);
glTexCoord2f (0.5, 0.5); glVertex2f (1, 0);
glTexCoord2f (0.5, 1.0); glVertex2f (1, 1);
glTexCoord2f (0.0, 1.0); glVertex2f (0, 1);
glEnd();
这将使用图像的左上角四分之一。
左上边缘将用这些纹理坐标略微包裹到右下角的像素中。纹理就像网格规则纸,像素在单元中居中,但纹理坐标0和1映射到边界线。 – datenwolf
嗯,这取决于包装模式,对于平铺纹理,您不会选择“WRAP”。无论如何,这是一个更普遍问题的一部分:[纹理地图集上的过滤和mipmapping](http://www.infinity-universe.com/Infinity/index.php?option=com_content&task=view&id=65&Itemid=47)。 – Yno