2
我有一些問題將紋理映射到三角形條。我認爲我仍然不完全理解紋理座標。glTexCoordPointer問題使用OpenGL ES
我有一個512x512紋理,我試圖將它的320x64部分映射到三角形條上。
這是我的代碼:
static const Vertex3D bg_vertex [] =
{
{ 0, 0, 0}, { 0, 64, 0}, { 64, 0, 0},
{ 64, 64, 0}, {128, 0, 0}, {128, 64, 0},
{192, 0, 0}, {192, 64, 0}, {256, 0, 0},
{256, 64, 0}, {320, 0, 0}, {320, 64, 0}
};
static const GLfloat bg_texcoords [] =
{
{1.000, 0.000}, {1.000, 0.125}, {0.875, 0.000}, {0.875, 0.125}, {0.750, 0.000}, {0.750, 0.125},
{0.625, 0.000}, {0.625, 0.125}, {0.500, 0.000}, {0.500, 0.125}, {0.375, 0.000}, {0.375, 0.125}
};
glBindTexture (GL_TEXTURE_2D, bg1Texture);
glEnable(GL_TEXTURE_2D);
glColor4f (1.0, 1.0, 1.0, 1.0);
glTexCoordPointer(2, GL_FLOAT, 0, bg_texcoords);
glVertexPointer(3, GL_FLOAT, 0, &bg_vertex);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 12);
當運行的代碼,它顯示在三角形帶原始紋理的失真圖像。
有人可以告訴我我做錯了什麼?
感謝
您可以加入的圖片造成的失真? – 2009-07-21 20:50:09