Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > как открыть 2 формы OpenGl в Делфи ?


Автор: Mersik 21.3.2007, 13:13
как открыть 2 формы OpenGl в Делфи ? smile 

Автор: Alexeis 21.3.2007, 13:35
Точно не скажу, но насколько я помню OpenGl одновременно выводит только на один контекст, можно правда чередовать, т.е. переключаться с одного контекста на другой и рисовать по очереди, то в одном то в другом.

Автор: Mersik 21.3.2007, 14:46
А в двух сразу нельзя?  smile 

Автор: Alexeis 21.3.2007, 16:17
Ну смотри сам типичный пример инициализации
Код

 ghDC := GetDC(Handle);
   if bSetupPixelFormat(ghDC)=false then
     Close();
   ghRC := wglCreateContext(ghDC);
   wglMakeCurrent(ghDC, ghRC);
 
   glClearColor(0.0, 0.0, 0.0, 0.0);
  
   glEnable(GL_COLOR_MATERIAL);
   glEnable(GL_DEPTH_TEST);

Функция wglMakeCurrent() - устанавливает текущий дескриптор для вывода дальше все команды относятся только к нему. Для вывода во вторую форму нужно установить дескриптор другой формы. В чем смысл одновременного вывода если программа обычно и так работает в один поток? Передал управление, переустановил новый контекст и можно выводить на другую форму. Или есть желание делать это многопоточно? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)