У меня есть варрай, полный треугольников, которые образуют большой квадрат. Я пытаюсь текстурировать этот большой квадрат, и все, что я получаю (кажется), это столбец в один пиксель, который затем растягивается по всему примитиву.
Я текстурирую каждый прямоугольный треугольник с помощью координат UV (0,1), (0,0), (1,0) и (0,1), (1,1), (1,0) в зависимости на каком пути вверх треугольник.
код рендеринга.
glBindTexture(GL_TEXTURE_2D, m_texture.id());
//glEnableClientState(GL_INDEX_ARRAY);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
//glIndexPointer(GL_INT, 0, &m_indices[0]);
glVertexPointer(3, GL_FLOAT, sizeof(VertexData), &m_vertexData[0].x);
glNormalPointer(GL_FLOAT, sizeof(VertexData), &m_vertexData[0].nx);
glTexCoordPointer(2, GL_FLOAT, sizeof(UVData), &m_uvData[0].u);
glDrawElements(GL_TRIANGLES, m_indices.size(), GL_UNSIGNED_INT, &m_indices[0]);
glBindTexture(GL_TEXTURE_2D, 0);
Текстура в режиме обтекания GL_CLAMP_TO_EDGE
Скриншот
EDIT
вывод первых двух треугольников, которые я получаю значения ...
Треугольник 1:
Индексы (0,1,31)
Vertex0 (-15, 0, -15), Vertex1 (-15,0, -14), Vertex31 (-14, 0, -14)
УФ (0,1), (0,0), (1,0)
Треугольник 2:
Индексы (0, 30, 31)
Vertex0 (-15, 0, -15), Vertex30 (-14, 0, -15) Vertex31 (-14, 0, -14)
УФ (0, 1), (1, 1), (1, 0)
Для потомков полный код здесь
Два треугольника составляют квадрат с диагональным разрезом сверху вниз слева направо.