Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Re[2]: Delphi OpenGL

А еще вопрос с OpenGL. Вот на любом языке хоть на Delphi хоть на C++
подскажите пожалуйста вывести изображение на _определенную часть_
формы, а не на всю. Если можно, то как?

Ответить   Thu, 13 Jan 2005 15:33:47 +0300 (#296626)

 

Ответы:

Здоровеньки булы, shapoklak!

13 января 2005 г., четверг, 17:33:47 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "Delphi OpenGL",
в котором сообщалось следующее:

DC := GetDC (Handle);
SetDCPixelFormat(DC);
hrc := wglCreateContext(DC);
wglMakeCurrent(DC, hrc);

Вот в этом куске кода вместо Handle подставь Panel1.Handle и Panel
хоть 20x2000 сделай - пусчай на нем рисует.

Ответить   Александр Томилов Mon, 17 Jan 2005 22:15:43 +0500 (#299164)

 

Здравствуйте, Александр.

Вы писали 17 января 2005 г., 23:15:43:

Сделал... и получил синий экран смерти...

Ответить   Tue, 18 Jan 2005 10:21:50 +0600 (#304518)

 

Нельзя выводить на panel. D3D можно, а вот OpenGL умеет рендерить только
в окно. То есть берешь контекст ОКНА, а затем вызываешь glViewport с
нужными параметрами для вывода в определенную область окна.

Номер выпуска : 3961
Возраст листа : 493 (дней)
Количество подписчиков : 524
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/305110
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Wed, 26 Jan 2005 19:40:56 +0300 (#305110)

 

Здоровеньки булы, rddvl!

26 января 2005 г., среда, 21:40:56 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "Delphi OpenGL",
в котором сообщалось следующее:

А попробовать - религия мешает?

Да вроде uses ... OpenGL ...

А что езмь Panel? Не окно случаем?

Так? DC := GetDC (Panel1.Handle);

Так? glViewPort (0, 0, Panel1.ClientWidth, Panel1.ClientHeight);

Единственное что WM_PAINT придется ловить у Form1, но это если не
хочется разбираться (ведь замена Hanlde на Panel1.Handle большого
понимания не требует) т.к. OnPaint Panel-а поймать не очень сложно.

Ответить   Thu, 27 Jan 2005 21:33:05 +0500 (#305974)

 

Здравствуйте, Александр.

Вы писали 27 января 2005 г., 22:33:05:

Во всяком случае библиотека GL и GLU выводят на панель тока так.

Тем более что FormPaint перерисует и панель.. ))

Ответить   Fri, 28 Jan 2005 21:03:22 +0600 (#306522)

 

Здоровеньки булы, janalex!

18 января 2005 г., вторник, 09:21:50 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "Delphi OpenGL",
в котором сообщалось следующее:

Ща гляну...

Ну не знаю что у тебя там рисуется.
Может у тебя этот BSOD и рисуется :) , но у меня все нормально:

Заменил Handle на Panel1.Handle во всех процедурах Form1:
FormCreate
FormDestroy
FormResize

И все заработало - изображение рисуется на Panel1.

Проверил еще на всякий случай замену только в FormCreate - все
работает никаких BSOD-ов не рисует.

PS: Это такой прикол или что? Я это письмо получил только 26 января
хотя janalex написал его 18. subscribe задолбал.

Ответить   Wed, 26 Jan 2005 19:07:57 +0500 (#305111)