Re: Проблема с текстурами в OpenGL
От: Рома Мик Россия http://romamik.com
Дата: 30.01.07 11:56
Оценка: +1
Здравствуйте, 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 всё это дело как бы коммиттишь. Хотя честно говоря в код не вникал вообще, просто предположение, основанное на способе форматирования кода.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.