OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 24 Сентябрь, 2019 12:05

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему  [ Сообщений: 140 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: BlackBox на OpenGL
СообщениеДобавлено: Понедельник, 18 Март, 2013 21:56 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Добрались до демки ObxViews5

Изображение
То есь, кнопки работают, мышка работает, вид курсора меняется.
Без (ну почти) мерзкого винапи любой может написать приложение на КП с ядром ББ, инфа 100%


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 10:12 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8174
Откуда: Троицк, Москва
Пётр Кушнир писал(а):
Добрались до демки ObxViews5

Изображение
То есь, кнопки работают, мышка работает, вид курсора меняется.
Без (ну почти) мерзкого винапи любой может написать приложение на КП с ядром ББ, инфа 100%
Давайте назовем это альфой или бетой и
-- можно попросить формулировку в один абзац совершённого?
Чтоб было понятно человеку откуда-нибудь из Академгородка, знакомого с ББ, но не следящего за этим форумом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 11:02 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Ну не знаю, это скорее прототип, нежели альфа.
В целом, схема простая. В ББ есть модули SystemXxx, в них описаны абстракции (оконные, рисовальные, и т.д.). На основе этих абстрактных интерфейсов построен остальной платформонезависимый каркас. В момент выполнения модуля Init при загрузке ББ происходит загрузка модулей HostXxx, являющихся реализациями вышеуказанных абстракций. Сейчас оно всё на WinApi, а мы взяли, выкинули все HostXxx, и вместо них подставляем YHostXxx, которые по большей части выполнены на основе freeglut и OpenGL (пока так). Сейчас вот упёрлись в вывод текстов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 11:20 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
  1. Если сравнивать с исходным Блэкбоксом, то что общего будет в API у двух программ? Если нужно запустить любую программу, написанную для ББ, она должна запуститься без каких-либо изменений?
  2. Чем был обоснован выбор в OpenGL для отрисовки?

Вывод текста - сложная тема. Было бы глупо просто выкинуть HostFonts, не зная особенностей реализации. "Fonts" в названии следовало бы переименовать в Texts.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 11:29 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Да, в целом, план такой, что, в идеале на новом ББ можно будет использовать компоненты старого ББ (только те, кто не импортировал бездумно Host, они сами себе враги, в общем).
А OpenGL быстрый и простой способ рисовать, как минимум, он проще GDI и даёт кроссплатформенность.
Роман М. писал(а):
Было бы глупо просто выкинуть HostFonts, не зная особенностей реализации.
Ну послушайте, есть интерфейс (System)Fonts, зачем знать что-то о реализации, это же антикомпонентно. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 12:07 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
Пётр Кушнир писал(а):
Да, в целом, план такой, что, в идеале на новом ББ можно будет использовать компоненты старого ББ (только те, кто не импортировал бездумно Host, они сами себе враги, в общем).
А OpenGL быстрый и простой способ рисовать, как минимум, он проще GDI и даёт кроссплатформенность.
Роман М. писал(а):
Было бы глупо просто выкинуть HostFonts, не зная особенностей реализации.
Ну послушайте, есть интерфейс (System)Fonts, зачем знать что-то о реализации, это же антикомпонентно. :)

Почему тогда не SDL?

HostFonts - ёмкий модуль. Не зная что и почему сделано в нём, глупо выбрасывать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 12:13 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
В сообществе полно умных людей, а SDL уже полгода доступен, почему до сих пор не сделали ББ на SDL - у меня ответа нет. :)
Роман М. писал(а):
HostFonts - ёмкий модуль. Не зная что и почему сделано в нём, глупо выбрасывать.
Всегда можно открыть исходники и посмотреть. Речь шла о том, что в новом хосте нет ни строчки старого хоста. Это не так уж и глупо, позволяет взглянуть на интерфейсы чистым взглядом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 13:09 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
Роман М. писал(а):
HostFonts - ёмкий модуль. Не зная что и почему сделано в нём, глупо выбрасывать.
Как раз опираться на логику HostFonts - глупо. Ведь есть абстрактный интерфейс Fonts. Ну а реализация HostFonts учитывает особенности WinApi, каковые нет нужды тащить в новый хост.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 13:22 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
Нет смысла спорить. Мы ведь понимаем, что глупо не смотреть на грехи нынешнего HostFonts, также как и глупо брать его за основу. Как сказал Пётр, стоит посматривать на базовую реализацию. Несмотря на то что написана на WinAPI.

В-общем говоря, меня интересует ваша разработка. Хотелось бы знать на чём вы будете строить, собственно, сам графический интерфейс программы. Окна, меню, кнопки и прочие елементы. Ну и взаимодействие с пользователем, связанное с ними.

SDL хорош тем, что у него отрисовка возможна на различные бэк-енды, включая GDI.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 13:46 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Для раскрутки я взял библиотеку freeglut, она даёт доступ к пользовательскому вводу, помогает работать с окнами нижележащей системы (крайне простой api), а так же с меню, плюс сама создаёт контекст OpenGL.
На ней я отрабатываю методы реализации хоста ББ. OpenGL-заголовки взял с сайта Цинна.
Контролы по максимуму будут нарисованы самостоятельно, возможно, на первом этапе схематично. Сейчас я наладил отработку сигналов клавиатуры и мыши, и если принять, что тексты будут разработаны скоро, то следующий шаг это создание интерфейса главного окна, для примера, полоса меню будет создана в виде обычного отображения, и так далее.
Исходники пока не публикуем, рано.

Я чуть подумал над структурой старого хоста и обнаружил, что даже зависимости между модулями хоста могут приводить к затруднениям, поэтому сейчас прорабатываю решение для максимальной изоляции модулей.
В разработке использую межмодульную шину и прочие плюшки.

Роман М. писал(а):
В-общем говоря, меня интересует ваша разработка.
Ну, в целом, сейчас одна насущная проблема с freetype, и проблемой она является только потому, что пилить надо в основном интерфейсы к НЕоберону, так что если у вас есть опыт в этой области, то присоединяйтесь, и дальнейшее обсуждение пойдёт уже в вашей ветке. Просто сейчас такой этап, что больше приходится думать, чем кодить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 13:50 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
Дадите доступ к вашему репозиторию VCS (svn, git, ...)? Надеюсь, он у вас имеется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 14:07 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Репозиторий, конечно, есть, на бибакете, глобальный такой, мы каталог репозитория подключаем к ББ через параметр /USE и в нём работаем.
Но проблема в том, что он содержит некоторые исходники, которые публиковать нам нельзя, а способа открыть доступ только к части каталогов в меркуриале нет, кажется. Как только мы решим эту проблему, будет доступ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 14:22 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
Пётр Кушнир писал(а):
Контролы по максимуму будут нарисованы самостоятельно, возможно, на первом этапе схематично. Сейчас я наладил отработку сигналов клавиатуры и мыши, и если принять, что тексты будут разработаны скоро, то следующий шаг это создание интерфейса главного окна, для примера, полоса меню будет создана в виде обычного отображения, и так далее.

Решили выбрать не самый простой путь? Некоторые до нас создали простой интерфейс на основе SDL: PicoGUI.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 14:31 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Но ведь самый простой путь для ББ - это отображения ББ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 14:38 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Ну, я не с позиции ретроградства или фанатизма, я с позиции здравого смысла.

В конечном счёте, модульная архитектура должна позволять Вам и мне использовать то решение, которое по душе без лишних хлопот, поэтому важно, чтобы на данном этапе проработки архитектуры наше различие в видении будущего не помешало разработать максимально удобную среду для воплощения этого будущего.

Поэтому, наверное, во избежание споров, следует разделить обсуждение на техническую часть по реализации хоста и на архитектурные вопросы, по поводу всяких движков гуя и прочего.

Надеюсь это не вызывает возражений. Надо тратить энергию на что-то более полезное для всех сразу, без обид.

Как пример, могу привести мою реализацию отображения графических вкладок, которая в полном соответствии с интерфейсами позволяет пользователю сделать выбор между зависимостью или независимостью от Windows.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Вторник, 19 Март, 2013 14:57 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
Роман М. писал(а):
Решили выбрать не самый простой путь? Некоторые до нас создали простой интерфейс на основе SDL: PicoGUI.
Чего только не обсуждалось на этом форуме в плане гуя, а результативность почему-то обратно пропорциональна объёму обсуждения. Между тем, на практике оказывается, что гуй можно пилить и на самом ББ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Среда, 20 Март, 2013 14:49 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Роман М. писал(а):
Дадите доступ к вашему репозиторию VCS (svn, git, ...)? Надеюсь, он у вас имеется.
Роман, заведите аккаунт на bitbucket.org, и скиньте в личку адрес электронной почты, отправлю вам инвайт.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Среда, 20 Март, 2013 22:32 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
Каков минимальный список зависимостей для самого порта на OpenGL и не более него?
А то я никак конца зависимостей не могу найти. :roll:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Среда, 20 Март, 2013 22:47 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Изображение

Всё обозримо. YHost-часть никак не импортируется, загружается динамически. YHost реализует интерфейсы из YStd и System. В YSystem находятся дополнительные интерфейсы, не описаные в System. ygl реализует интерфейсы для freeglut и опосредованно для OpenGL. Ну а ypk, Lists, Strings, Unicode служебные, и используются везде. И Obx, для тестов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox на OpenGL
СообщениеДобавлено: Четверг, 21 Март, 2013 11:20 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
Чрезмерно длинный список зависимостей и абстракций. Это явно перебор. А я люблю простоту и минимализм.
Пожалуй, сосредоточусь на FreeType со шрифтами на стандартной поставке ББ.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 140 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.

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


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

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


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

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