小编s5d*_*s5d的帖子

LWJGL OpenGL精灵表

我是OpenGL的新手,目前我正在尝试渲染一个有四个面的立方体,每个面都有不同的纹理.

众所周知,为每种面部类型设置单独的纹理会占用大量内存并使应用程序变慢.

目前我正在尝试使用纹理表作为精灵.我有图形文件,每个纹理16x16像素,256个精灵排列在一个正方形(16x16).

我知道

GL11.glTexCoord2f(1.0f, 0.0f);
GL11.glVertex3f(1.0f, 1.0f,  1.0f);
GL11.glTexCoord2f(0.0f, 0.0f);
GL11.glVertex3f(0.0f, 1.0f, 1.0f);
GL11.glTexCoord2f(0.0f, 1.0f);
GL11.glVertex3f(0.0f, 0.0f, 1.0f);
GL11.glTexCoord2f(1.0f, 1.0f);
GL11.glVertex3f(1.0f, 0.0f, 1.0f);
Run Code Online (Sandbox Code Playgroud)

让我与整个精灵表所以矩形uvglTexCoord2f 具有小于1.0F.

我现在需要的是一个公式,将计算uv纹理中的任何精灵的ID.

ID在纹理位图中如下所示:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
17 18 16 20 21 22 23 24...
Run Code Online (Sandbox Code Playgroud)

我想要一个uv任何这些ID.最后一点没有得到很好的解释,所以如果你愿意,我会更好地解释它.

先感谢您!

java opengl lwjgl

4
推荐指数
1
解决办法
2962
查看次数

标签 统计

java ×1

lwjgl ×1

opengl ×1