Здравствуйте, igor_zaicev, Вы писали: _>glBegin(GL_QUADS); _> glVertex3f( -1.0f, -1.0f, 0.0f);glTexCoord2d(0,0); // Слева внизу _> glVertex3f( 1.0f, -1.0f, 0.0f);glTexCoord2d(1,0); // справа внизу _> glVertex3f( 1.0f, 1.0f, 0.0f);glTexCoord2d(1,1); // Справа вверху _> glVertex3f( -1.0f, 1.0f, 0.0f);glTexCoord2d(0,1);// слева вверху _>glEnd();
_>Все замечательно, однако после разбиения прямоугольника на два треугольника:
_>glEnable(GL_TEXTURE_2D); _>glBindTexture(GL_TEXTURE_2D, clock_tex ); _>glBegin(GL_TRIANGLES); _> glVertex3f( -1.0f, -1.0f, 0.0f);glTexCoord2d(0,0); _> glVertex3f( 1.0f, -1.0f, 0.0f);glTexCoord2d(1,0); _> glVertex3f( 1.0f, 1.0f, 0.0f);glTexCoord2d(1,1);
_> glVertex3f( 1.0f, 1.0f, 0.0f); glTexCoord2d(1,1); _> glVertex3f( -1.0f, 1.0f, 0.0f);glTexCoord2d(0,1); _> glVertex3f( -1.0f, -1.0f, 0.0f);glTexCoord2d(0,0); _>glEnd();
_>glDisable(GL_TEXTURE_2D);
_>текстура накладывается криво, в чем ошибка ???
Я так думаю в том, что надо вначале установить текстурные координаты, а потом уже вызывать glVertex. Потому как ты вначале все устанавливаешь, а потом вызовом glVertex всё это дело как бы коммиттишь. Хотя честно говоря в код не вникал вообще, просто предположение, основанное на способе форматирования кода.