У меня странная проблема, с которой я не могу разобраться, и удивляюсь, видел ли кто-нибудь эту проблему раньше.По сути, я могу заставить мою модель блендера отображаться с текстурой, но она не отображает текстуру должным образом.Я сделал самую простую модель, какую только смогу, и вот что я получаю:
Я не могу публиковать изображения, поэтому вот ссылка через picasaweb, https://picasaweb.google.com/112176813871298741669/January192012?authuser=0&feat=directlink
Я используюcocos2d и рисование текстуры в методе рисования CCSprite следующим образом:
glBindTexture(GL_TEXTURE_2D, self.texture.name);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glVertexPointer(3, GL_FLOAT, sizeof(vertexDataTextured), &MeshVertexData[0].vertex);
glTexCoordPointer(2, GL_FLOAT, 0, &MeshVertexData[0].texCoord2);
Текстура загружается как CCTexture2D в методе init.
У кого-нибудь есть идеи?Почти уверен, что это текстурные координаты, но не может сработать, они выглядят правильно, посмотрите здесь данные:
{/*v:*/{1.000000, -0.000000, -1.000000}, /*n:*/{0.000000, 0.999969, 0.000000}, /*t:*/{0.000000, 0.000000}},
{/*v:*/{-1.000000, -0.000000, -1.000000}, /*n:*/{0.000000, 1.000000, 0.000000}, /*t:*/{1.000000, 0.000000}},
{/*v:*/{-1.000000, 0.000000, 1.000000}, /*n:*/{0.000000, 1.000000, 0.000000}, /*t:*/{1.000000, 1.000000}},
{/*v:*/{1.000000, -0.000000, -1.000000}, /*n:*/{0.000000, 0.999969, 0.000000}, /*t:*/{0.000000, 0.000000}},
{/*v:*/{-1.000000, 0.000000, 1.000000}, /*n:*/{0.000000, 1.000000, 0.000000}, /*t:*/{1.000000, 1.000000}},
{/*v:*/{1.000000, 0.000000, 1.000000}, /*n:*/{0.000000, 1.000000, 0.000000}, /*t:*/{0.000000, 1.000000}},
Итак, координаты текстуры:
0.000000, 0.000000
1.000000, 0.000000
1.000000, 1.000000
0.000000, 0.000000
1.000000, 1.000000
0.000000, 1.000000
НоПрисмотревшись к изображениям, я не уверен на 100%, что это координаты, может быть что-то с параметром openGL ....