![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
x_byte |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 27.1.2004 Репутация: нет Всего: 1 |
Осваиваю уроки от Nehe по OpenGL (http://www.pmg.org.ru/nehe/).
Проблема в уроке #4 (http://www.pmg.org.ru/nehe/nehe04.htm). Там отрисованные треугольник и квадрат должны вращаться одновременно. Вот кусок кода:
Собственно проблема заключается в том, что квадрат в таком случае не отрисовывается. Но если удалить вторую glLoadIdentity(), то и треугольник и квадрат отрисовываются и вращаются, но как сами понимате в одной координатной сетке, т.е. не достигается нужный эффект. Процедуры glRotatef убирал, но квадрат при этом всё равно не отрисовывался. Компилятор Dev_C++, испытывал и на Borland C++ Builder, результат одинаков. В чём может быть проблема? Это сообщение отредактировал(а) x_byte - 7.9.2007, 22:02 |
|||
|
||||
sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: нет Всего: 10 |
А почему треугольник отрисовывается с обходом противоположным обходу вершин квадрата ?
Дело в том что в OpenGL задается направление обхода вершин для скрытых поверхностей. -------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
x_byte |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 27.1.2004 Репутация: нет Всего: 1 |
Спасибо за ответ.
Но не помогло, отрисовывал по часовой, против часовой, но результат не изменился. Да и почему тогда без второй процедуры glLoadIdentity() (которая идёт перед отриссовкой квадрата) обе фигуры отрысовываются нормально? |
|||
|
||||
sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: нет Всего: 10 |
Квадрат находится за пределами наблюдаемого объема.
Попробуй изменить операторы так: после второго вызова функции glLoadIdentity(), оператор будет таким glTranslatef(3.0f, 0.0f, -4.0f); -------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
x_byte |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 27.1.2004 Репутация: нет Всего: 1 |
Большое спасибо.
|
|||
|
||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |