OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 13:01

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




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Собрать Blackbox SDL
СообщениеДобавлено: Суббота, 06 Апрель, 2019 09:30 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 252
Откуда: Austria, Bruck
Я не понимаю всех причин по которым HostSDL заброшен, но идея мне нравитсо, поэтому решил собрать ББ с этим хостом. Оказалось это не тривиальная задача. Пришлось местами поработать и напильником и молотком. Удалсь запустить с пустым главным окном (хотя можно заметить очень блеклые линии "крест-накрест"). Дальше затык.

Рецепта сборки для BB v1.7.1 (portable) нет, но остались воспоминания, что:
1) Скопировать пакет подсистем Ogl, SDL2, kia, x86sdlhost
2) В Ogl используется константа не определенная в GL - надо доопределить
3) В подсистеме SDL2 отсутвует модуль FontDetect который необходим (был случайно найден в одном из репов Ивана Денисова)
4) Лучше сделать копии стандартных подсистем Std, System (у меня они Nstd, Nx)
5) "Переключить" модули на Nstd, Nx
6) Перекомпилировать ВСЁ что будет в исполняемом файле
7) Можно собирать, важен порядок элаборации
8) Сделать отдельный каталог для запуска BBSDL
9) В нём обязательны: а) *.dll от SDL2, SDL2_image, SDL2_ttf; б) каталог Fonts/*.ttf; в) в корне "мутный" файлик bblogo.ms3d

Косяки:
* Так и не смог побороть трап №20 в WmMenus.New из-за (Nx)Menus.FirstMenu, пришлось сделать заглушку. Меню не работает.
* При разворачивании окно до максимума - права половина не отрисовывается
* Закрыть окно можно только двумя кликами: сперва на "закрыть", потом на "свернуть"

Останки экспериментов в архиве.

Буду рад, если у авторов найдется время помочь запустить ББ в рабочем виде.


Вложения:
BBSDL.7z [2.34 МБ]
Скачиваний: 304
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собрать Blackbox SDL
СообщениеДобавлено: Суббота, 06 Апрель, 2019 10:44 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Как здорово, что эта тема вам стала интересна.

Действуйте слово в слово по этой инструкции и всё получится:
http://redmine.molpit.org/projects/blackbox-sdl/wiki

У меня в Wine проблема с отрисовкой строк, поэтому ББ не запускается, если не закомментировать содержимое DrawString в x86sdlhostPorts. У вас могут быть другие видеодрайвера и все запустится со строками.

Но само окно запускается. Внутренние окна двигаются и открываются и закрываются. Меню работает и команды из него тоже вызываются.

Что надо делать...
1. надо актуализировать герметизацию для ББ 1.7.1 https://blackbox.obertone.ru/download
2. надо актуализировать все привязки в проекте для моей обновленной версии Sdl2

Это задача не простая, но, думаю, что только так дальше удастся продвинуться.

Иван Кузьмицкий бросил из-за неясных падений ББ. Так как он падал при отладке вывода строк и он не понимал в чем причина. Не мог установить взаимосвязь с чем это может быть связано. С тех пор Артур Ефимов выявил проблему. Мы это исправили в новых сборках ББ (спасибо LuoWy) и новой версии Sdl2. Но у Ивана Кузьмицкого уже нет запала заного проводить герметизацию. Он это не сумел в своё время задокументировать по шагам. Что-то осталось на Obertone, но мало. Иван как-то говорил, что готов по скайпу поделиться инфомацией, что помнит. Но по сути, надо проходить путь самостоятельно. Он уже не возьмется это делать. Это много часов кропотливой работы.

Я планировал использовать наработки Ивана и Петра для проекта кросс-платформенной версии ББ. Но сейчас до сих пор занимаюсь одним, но очень важным делом для SDL2-сборки - я убираю все зависимости HostCFrames от WinApi или Gtk2. Чтобы элементы управления работали корректно в Sdl2-сборке.

Если вы параллельно сможете ОСВЕЖИТЬ проект по герметизации ББ, то так, объединив усилия сделаем рабочую версию за пару тройку месяцев.


Вложения:
bb-sdl2.png
bb-sdl2.png [ 428.19 КБ | Просмотров: 7420 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собрать Blackbox SDL
СообщениеДобавлено: Суббота, 06 Апрель, 2019 12:26 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Провел эксперимент, взял отрисовку шрифта из ObxIcosphere.odc и вставил напрямую в x86sdlhostPorts. Без древовидного кэширования, но текст выводится.
Вложение:
text_demo.png
text_demo.png [ 46.06 КБ | Просмотров: 7403 ]

Шрифт и измененный Ports в архиве.
Вложение:
check-ports.7z [143.59 КБ]
Скачиваний: 294

Так что пока можно и малой кровью, наверное, доработать проект. Но если будет какая-то нестабильность, то всё равно лучше заново провести герметизацию...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собрать Blackbox SDL
СообщениеДобавлено: Суббота, 06 Апрель, 2019 13:04 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Нестабильно работает, к сожалению. Падает. Надо изучать. Но прототип, по крайней мере, вам показал полностью.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собрать Blackbox SDL
СообщениеДобавлено: Суббота, 06 Апрель, 2019 15:03 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 252
Откуда: Austria, Bruck
Иван, спасибо! Попробую.

UPD При клонировании Гитом он запрашивает пароль на "гит-модули" Ogl, SDL2. Почините?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собрать Blackbox SDL
СообщениеДобавлено: Суббота, 06 Апрель, 2019 16:00 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
hothing писал(а):
Иван, спасибо! Попробую.

UPD При клонировании Гитом он запрашивает пароль на "гит-модули" Ogl, SDL2. Почините?

Поправил!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собрать Blackbox SDL
СообщениеДобавлено: Среда, 10 Апрель, 2019 19:23 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 252
Откуда: Austria, Bruck
Мда, что-то в этой сказке не так: на далеко не слабой машинке перерисовка идет, гм, заметно.
(К сожалению, Webm-файлы не загружаются).

Также, в процессе "портирования" на V1.7.1 увидел, что Host торчит много где.

Выбор в качестве бэкенда для 2D OpenGL кажется сомнительным, есть же Cairo или Skia. Надо исследовать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собрать Blackbox SDL
СообщениеДобавлено: Среда, 10 Апрель, 2019 20:22 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
hothing писал(а):
Выбор в качестве бэкенда для 2D OpenGL кажется сомнительным, есть же Cairo или Skia. Надо исследовать.
Самое современное - Vulkan
PasVulkan GUI-subframework впечатляет


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собрать Blackbox SDL
СообщениеДобавлено: Среда, 10 Апрель, 2019 22:45 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Инструкции остались http://obertone.ru/bbnohost
http://obertone.ru/bbdonohost


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собрать Blackbox SDL
СообщениеДобавлено: Пятница, 12 Апрель, 2019 11:10 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 252
Откуда: Austria, Bruck
Спасибо всем.

* Каркас ББ крепко завязан на пиксельную координатную сетку, через Ports, а все новомодные 2/3D библиотеки расчитаны на "свободные" КС. Конечно, можно делать трансляцию: пиксельные координаты транслировать в КС библиотеки, что бы та их снова транслировала в пиксельные.
Нужно ли? (А ошибки вычислений?)

* SDL оправдан если _всю_ графику (исключая отрисовку текста) реализовать средствами SDL + ББ. Что почти не реально сделать из-за крайнего ограничения по ресурсам (времени и сил).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собрать Blackbox SDL
СообщениеДобавлено: Пятница, 12 Апрель, 2019 19:20 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
hothing писал(а):
А ошибки вычислений?
Единица измерения в ББ достаточно мелкоскопическая, чтобы об этом не беспокоиться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собрать Blackbox SDL
СообщениеДобавлено: Пятница, 12 Апрель, 2019 19:34 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Когда я этим занимался, то 1/36000 типографского пункта казались нормальной точностью вычислений.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собрать Blackbox SDL
СообщениеДобавлено: Воскресенье, 14 Апрель, 2019 07:51 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 252
Откуда: Austria, Bruck
Ярослав Романченко писал(а):
hothing писал(а):
Выбор в качестве бэкенда для 2D OpenGL кажется сомнительным, есть же Cairo или Skia. Надо исследовать.
Самое современное - Vulkan
PasVulkan GUI-subframework впечатляет
Посмотрел. Vulkan - аппаратно-програмный "комплекс", который расчитан на поддержку GPU.
Последние лет 8 все мое рабочее ПО крутится в ВМ-ах, и я не исключение. Когда реализуют Vulkan для ВМ и реализуют ли неизвестно. Привязывать к нему ГИП из-за "красивостей" не стоит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Собрать Blackbox SDL
СообщениеДобавлено: Воскресенье, 14 Апрель, 2019 09:36 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
hothing писал(а):
Последние лет 8 все мое рабочее ПО крутится в ВМ-ах, и я не исключение. Когда реализуют Vulkan для ВМ и реализуют ли неизвестно. Привязывать к нему ГИП из-за "красивостей" не стоит.
Если на ВМ-ах, то тогда OpenGL себя там чувствует вполне неплохо. В частности на оракловской бесплатной ВМ я на OpenGL какое-то время без проблем разрабатывал. Но смотря ещё какую систему внутри ВМ использовать. С "семёркой" проблем не было, а у "десятки" скатывалось в софтварный режим.


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

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


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

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


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

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