Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
| TarasBer |
11.01.2009 20:54
Сообщение
#1
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Есть поезд, несколько вагонов, каждый вращается и двигается по-своему. Для рисования каждого вагона используется своя матрица (поворота и сдвига). Чтобы "сцепить вагоны", ну, грубо говоря, то есть чтоб нарисовать линию от одного к другому, мне надо сначала загрузить в опенгл одну матрицу, нарисовать точку (находящуюся на первом вагоне), потом загрузить другую матрицу, потом нарисовать вторую точку и провести между ними линию.
Так вот между заданиями координат точек загружать матрицу запрещено? У меня сложилось именно такое впечатление. И тут нельзя напрямую обратиться к области памяти, в которой находится эта самая матрица? Полный доступ к ней очень бы помог.
-------------------- |
| volvo |
11.01.2009 21:02
Сообщение
#2
|
|
Гость |
Так вот между заданиями координат точек загружать матрицу запрещено? У меня сложилось именно такое впечатление. Правильное впечатление: MSDN -> glLoadMatrixЦитата The following is the error code and its condition. , то есть между glBegin/glEnd матрицу загружать нельзя.<...> GL_INVALID_OPERATION glLoadMatrix was called between a call to glBegin and the corresponding call to glEnd. |
| TarasBer |
11.01.2009 21:34
Сообщение
#3
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Какое-то надуманное ограничение...
А что же тогда делать? Я знаю координаты каждого конца отрезка. Для для одного конца - относительно матрицы mt1, а для другого - относительно матрицы mt2. И как тут выкручиваться? -------------------- |
| TarasBer |
13.01.2009 17:23
Сообщение
#4
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Ну хорошо, а если преобразовать координаты заранее, до начала рисования линии? Есть такая процедура? То есть на входе - матрица и 3 кодинаты точки, на выходе - 3 новые координаты?
Просто раньше, когда вагоны поворачивались только в 2 плоскостях, я вручную считал координаты точек, но когда появилась 3 плоскость вращения, это стало совсем неприлично. -------------------- |
| TarasBer |
18.01.2009 21:54
Сообщение
#5
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
В общем я решил проблему порнографическим способом - для каждого вагона я считал матрицу поворота, и потом в соответствии с ней преобразовывал точку. Но неужели нет нормального способа?
-------------------- |
![]() ![]() |
|
Текстовая версия | 8.12.2025 14:28 |