OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Март, 2024 02:30

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: OpenGL
СообщениеДобавлено: Понедельник, 19 Март, 2007 14:34 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Поддерживается ли подсистемой Ogl с сайта http://www.zinnamturm.de
аппаратная поддержка OpenGL?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 19 Март, 2007 15:10 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Похоже у нас тут пока никто не пробовал. Проверите?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 19 Март, 2007 22:09 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
С ходу не получилось. По умолчанию используется software rendering
через GDI. Попробую разобраться...

А аппаратной поддержки OpenGL пока получилось добиться через библиотеку GLUT (glut32.dll) с
выводом графики в отдельное окно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 19 Апрель, 2007 17:46 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
PGR писал(а):
С ходу не получилось. По умолчанию используется software rendering
через GDI. Попробую разобраться...

А аппаратной поддержки OpenGL пока получилось добиться через библиотеку GLUT (glut32.dll) с
выводом графики в отдельное окно.


В подсистеме Ogl инициализация контекста OpenGL идёт через функцию WinApi.CreateCompatibleDC, видимо поэтому и выбирается софтварный рендерер.
Я хотел попробовать через GetDC, но что-то не пойму, как хэндл окна получить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 21 Апрель, 2007 17:45 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Хэндл окна находится в поле wnd типа Window из модуля HostWindows


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 21 Апрель, 2007 19:30 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Как я понял, фунция 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. Поэтому менять придется много чего...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB