Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Рисование меню. [D7, Win95/98, WinXP]


sco ©   (2006-03-21 19:26:00) 

Вопрос по построению очень сложный, но я всё равно попытаюсь. Мне нужно показать на экране меню. Игра шахматы, юзаю OpenGl. Игрок видит картинку, вид которой задаёт GluLookAt. То есть картинка получается под наклоном, это красиво, но теперь кроме доски с фигурами мне надо показать верхнее меню, должно "смотреть на игрока". То есть препендикулярно  плоскости xy. Но картинка под наклоном, из-за gluLookAt, и расчитать углы и перемещение весмя затруднительно. Вопрос понятен?
Меня интерисует как можно нарисовать обьекты  по другой матрице, не используя страрые виды окна, для одного и того же окна в один момент времени.
Меню - здесь я имею ввиду, кнопку для вызова меню и панельки где показано время игры и количество ходов. Помогите плиз! Или предложите альтернативу!


Sco   (2006-03-22 14:15:00) [1]

Всё работает и даже без висаря, классно!


Sco   (2006-03-22 05:00:00) [2]

Но, насколько я помню, висарь после етого сильный, или ето не у всех?


wicked   (2006-03-21 21:43:00) [3]


> Или ты имел ввиду что можно менять glMatrixMode при одной
> прорисовке? Если ето так то всё заметно упрощяется!
> Надеюсь теперь понятно обрисовал картину?

именно, их можно менять....


Sco   (2006-03-21 20:23:00) [4]

> grouzd[E]v Неее, не так, не рисовать на плоскости.
У меня должна полчуится картинка:
  доска и шахматами под наклоном к пользователю
  обьёмные панельки, ну потом и меню, без наклона, смотрящие на пользака
Было бы всё просто если бы я использовал только glRotate и glTransparent, но у меня так всякие анимации, поетому я использую gluLookAt, и следовательно я не знаю как вернуть матрицу в исходное состояние!
Или ты имел ввиду что можно менять glMatrixMode при одной прорисовке? Если ето так то всё заметно упрощяется!
Надеюсь теперь понятно обрисовал картину?


grouzd[E]v   (2006-03-21 19:44:00) [5]

Я так понимаю, нучно нарисовать плоские элементы? Тогда

procedure ViewOrtho;
begin
glMatrixMode(GL_PROJECTION);
glPushMatrix;
glLoadIdentity;
glOrtho(0, screen_width, screen_height, 0, -1, 1);
glMatrixMode(GL_MODELVIEW);
glPushMatrix;
glLoadIdentity;
end;

procedure ViewPerspective;
begin
glMatrixMode(GL_PROJECTION);
glPopMatrix;
glMatrixMode(GL_MODELVIEW);
glPopMatrix;  
end;

Включишь ортогональный режим - будешь рисовать на плоскости (ну, почти =)

---
... we are walking on a thin line and you better avoid the risk ...


Наверх

Титульная страница Поиск, карта сайта Написать письмо