0
我想讓我的OpenGL程序使用1紋理(紋理圖集)。它是256 x 256.我加載它作爲一個正常的紋理。
如果紋理從0,0到1,1,那麼我相信每個正方形的大小是0.2。
的問題是隻有第一和第三質感的工作。第二個是奇數,第4似乎是第2 + 3的質地和5日是第2,第3和第4放在一起
所以我建了一個簡單的函數返回紋理COORDS
int yy = textureId/5;
int xx = textureId % 5;
float size = 1.0f/5;
float[] textureCoordinateDataMap = createTexture(size * xx,size * yy ,size, size);
public float[]createTexture(float x, float y, float xx, float yy)
{
float[] textureCoordinateDataMap =
{
// Front face
x, y,
x, yy,
xx, y,
x, yy,
xx, yy,
xx, y,
// Right face
x, y,
x, yy,
xx, y,
x, yy,
xx, yy,
xx, y,
// Back face
x, y,
x, yy,
xx, y,
x, yy,
xx, yy,
xx, y,
// Left face
x, y,
x, yy,
xx, y,
x, yy,
xx, yy,
xx, y,
// Top face
x, y,
x, yy,
xx, y,
x, yy,
xx, yy,
xx, y,
// Bottom face
x, y,
x, yy,
xx, y,
x, yy,
xx, yy,
xx, y,
};
return textureCoordinateDataMap;
}
我試圖硬編碼的值,只有那些工作是 0,0 0.4,0 0,0.4 0.4,0.4