Re[2]: Delphi OpenGL

А еще вопрос с OpenGL. Вот на любом языке хоть на Delphi хоть на C++
подскажите пожалуйста вывести изображение на _определенную часть_
формы, а не на всю. Если можно, то как?
← Январь 2005 → | ||||||
1
|
2
|
|||||
---|---|---|---|---|---|---|
3
|
4
|
5
|
6
|
7
|
8
|
|
16
|
||||||
17
|
19
|
20
|
21
|
22
|
23
|
|
24
|
||||||
За последние 60 дней ни разу не выходила
Сайт листа:
http://codeguru.ru
Открыт:
21-09-2003
Пре-модерация: Нет
Адрес для писем в лист: comp.soft.prog.prog-list@subscribe.ru
Адрес
модератора: comp.soft.prog.prog-owner@subscribe.ru
А еще вопрос с OpenGL. Вот на любом языке хоть на Delphi хоть на C++
подскажите пожалуйста вывести изображение на _определенную часть_
формы, а не на всю. Если можно, то как?
Здравствуйте, Александр.
Вы писали 17 января 2005 г., 23:15:43:
Сделал... и получил синий экран смерти...
Нельзя выводить на 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
Здоровеньки булы, 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-а поймать не очень сложно.
Здравствуйте, Александр.
Вы писали 27 января 2005 г., 22:33:05:
Во всяком случае библиотека GL и GLU выводят на панель тока так.
Тем более что FormPaint перерисует и панель.. ))
Здоровеньки булы, 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 задолбал.
Здоровеньки булы, 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 сделай - пусчай на нем рисует.