OberonCore https://forum.oberoncore.ru/ |
|
OpenGL https://forum.oberoncore.ru/viewtopic.php?f=5&t=412 |
Страница 1 из 1 |
Автор: | PGR [ Понедельник, 19 Март, 2007 14:34 ] |
Заголовок сообщения: | OpenGL |
Поддерживается ли подсистемой Ogl с сайта http://www.zinnamturm.de аппаратная поддержка OpenGL? |
Автор: | Борис Рюмшин [ Понедельник, 19 Март, 2007 15:10 ] |
Заголовок сообщения: | |
Похоже у нас тут пока никто не пробовал. Проверите? |
Автор: | PGR [ Понедельник, 19 Март, 2007 22:09 ] |
Заголовок сообщения: | |
С ходу не получилось. По умолчанию используется software rendering через GDI. Попробую разобраться... А аппаратной поддержки OpenGL пока получилось добиться через библиотеку GLUT (glut32.dll) с выводом графики в отдельное окно. |
Автор: | Иван Кузьмицкий [ Четверг, 19 Апрель, 2007 17:46 ] |
Заголовок сообщения: | |
PGR писал(а): С ходу не получилось. По умолчанию используется software rendering
через GDI. Попробую разобраться... А аппаратной поддержки OpenGL пока получилось добиться через библиотеку GLUT (glut32.dll) с выводом графики в отдельное окно. В подсистеме Ogl инициализация контекста OpenGL идёт через функцию WinApi.CreateCompatibleDC, видимо поэтому и выбирается софтварный рендерер. Я хотел попробовать через GetDC, но что-то не пойму, как хэндл окна получить. |
Автор: | PGR [ Суббота, 21 Апрель, 2007 17:45 ] |
Заголовок сообщения: | |
Хэндл окна находится в поле wnd типа Window из модуля HostWindows |
Автор: | PGR [ Суббота, 21 Апрель, 2007 19:30 ] |
Заголовок сообщения: | |
Как я понял, фунция ChoosePixelFormat возвращает формат пикселей, поддерживаемый аппаратно только при установленном флаге PFD_DRAW_TO_WINDOW. Но при его установке функция SetPixelFormat возвращает ошибку, причем даже если ей передавать контекст самого окна, а не битмапа dib. Контекст окна получаю так: Код: VAR dc: WinApi.HDC;
... dc := f.rider(HostPorts.Rider).port.dc; f: Views.Frame -- параметр процедуры Restore типа View В описании SetPixelFormat сказано: Цитата: An OpenGL window has its own pixel format. Because of this, only device contexts retrieved for the client area of an OpenGL window are allowed to draw into the window. As a result, an OpenGL window should be created with the WS_CLIPCHILDREN and WS_CLIPSIBLINGS styles. Additionally, the window class attribute should not include the CS_PARENTDC style.
Наверное, придется влезать в модуль HostWindows и корректировать стили для создаваемых окон документов... Вообще, как мне кажется, вся графика в BlackBox сильно привязана к GDI. Поэтому менять придется много чего... |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |