IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Opengl - менять матрицу внутри блока Glbegin-glend
TarasBer
сообщение 11.01.2009 20:54
Сообщение #1


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Есть поезд, несколько вагонов, каждый вращается и двигается по-своему. Для рисования каждого вагона используется своя матрица (поворота и сдвига). Чтобы "сцепить вагоны", ну, грубо говоря, то есть чтоб нарисовать линию от одного к другому, мне надо сначала загрузить в опенгл одну матрицу, нарисовать точку (находящуюся на первом вагоне), потом загрузить другую матрицу, потом нарисовать вторую точку и провести между ними линию.
Так вот между заданиями координат точек загружать матрицу запрещено? У меня сложилось именно такое впечатление.
И тут нельзя напрямую обратиться к области памяти, в которой находится эта самая матрица? Полный доступ к ней очень бы помог.


glBegin(GL_LINES);
glLoadMatrix(PGLfloat(@mtOldVag));
glVertex3f(-TrumLen2, 4, 0);
glLoadMatrix(PGLfloat(@mtNewVag));
glVertex3f(TrumLen2, 4, 0);
glEnd;



--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 11.01.2009 21:02
Сообщение #2


Гость






Цитата(TarasBer @ 11.01.2009 19:54) *
Так вот между заданиями координат точек загружать матрицу запрещено? У меня сложилось именно такое впечатление.
Правильное впечатление: MSDN -> glLoadMatrix
Цитата
The following is the error code and its condition.
<...>
GL_INVALID_OPERATION glLoadMatrix was called between a call to glBegin and the corresponding call to glEnd.
, то есть между glBegin/glEnd матрицу загружать нельзя.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 24.06.2025 19:40
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"