OberonCore
https://forum.oberoncore.ru/

BlackBox на OpenGL
https://forum.oberoncore.ru/viewtopic.php?f=114&t=4287
Страница 3 из 7

Автор:  Иван Кузьмицкий [ Вторник, 26 Март, 2013 08:03 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Мы не привыкли отступать

Автор:  Info21 [ Вторник, 26 Март, 2013 08:46 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

скриншот уже впечатляет

Автор:  Пётр Кушнир [ Вторник, 26 Март, 2013 09:34 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Роман М. писал(а):
Вон, как назло, сайт http:///www.freetype.org/ не фунциклирует.

У меня есть архив бинарников хидеров и документации от 12 марта, если срочно надо.

Автор:  Alexey Veselovsky [ Вторник, 26 Март, 2013 11:18 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Роман М. писал(а):
А может,ну его нафиг, этот модуль Fonts? И без него обойтись можно. :twisted:

Вон, как назло, сайт http:///www.freetype.org/ не фунциклирует.


Работает этот: http://freetype.sourceforge.net/index2.html

Автор:  Роман М. [ Вторник, 26 Март, 2013 13:11 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Пётр Кушнир писал(а):
Роман М. писал(а):
Вон, как назло, сайт http:///www.freetype.org/ не фунциклирует.

У меня есть архив бинарников хидеров и документации от 12 марта, если срочно надо.

Да не то что документации совсем не добыть онлайн. Тем более, Алексей дал хорошую ссылку.

Пока не могу понять как переводить из пикселей в универсальные единицы.

Автор:  Пётр Кушнир [ Вторник, 26 Март, 2013 13:27 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

универсальные единицы ББ?

Автор:  Роман М. [ Вторник, 26 Март, 2013 15:09 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Пётр Кушнир писал(а):
универсальные единицы ББ?

да. Они самые.

Автор:  Пётр Кушнир [ Вторник, 26 Март, 2013 15:55 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Пиксель связан с универсальными единицами выражением из комментов к Ports.Frame.
frame.dot = Ports.point - Ports.point MOD frame.unit

frame.unit передаётся фрейму из порта.

А порту передаётся при создании и инициализации реализации порта.
При этом каждому порту может быть выдано своё значение unit равное:

unit = Ports.inch DIV dpi; (* точек на дюйм *)
где dpi берётся из системного апи для конкретного девайса.
дефолтное dpi в винде 96, в маке 72.
Что интересно, Ports.inch = 914400 делится без остатка на 96 и на 72 :)

Следовательно связь между пикселем и unit вычисляется для конкретного порта. А системное значение для экрана в текущей реализации HostFonts берётся в винапи.
Вроде так.

Автор:  Пётр Кушнир [ Вторник, 26 Март, 2013 23:25 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Сегодня, дневничок, мы освоили прокрутку колесом мыши, чуть привели в чувство шрифты, а так же вернули в строй StdLinks и DevCommanders (правда, они слегка квадратные, потому что круги в OpenGL рисуются нетривиально). Плюс, наконец-то нормально заработал журнал StdLog, поэтому стало возможным отключить консольный лог. Также мы разобрались с алгоритмом ресайза окон и портов.
А ещё мы научились встраивать отображения в порт без помощи модуля Documents, это полезное умение пригодится нам при создании нативного контрола меню и нативных скролл-баров, статус-бар ещё, да (вот эта зелёная полоска, ага).
Изображение

Автор:  ilovb [ Среда, 27 Март, 2013 09:42 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Петр, посмотрите еще это: http://www.glfw.org/index.html
API: http://www.glfw.org/GLFWReference277.pdf

Автор:  Пётр Кушнир [ Среда, 27 Март, 2013 11:06 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

а я видел, на этапе поиска скачал, но в пользу freeglut был тот факт, что уже были описаны хидеры для CP, от Е. Темиргалеева. Быстрее стартовать.
Если что, потом желающие смогут проявить себя и запилить оконный хост на glfw, после публикации.

Автор:  Kubanych [ Среда, 27 Март, 2013 14:04 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Здравствуйте.

Перенести BlackBox на OpenGL - очень хорошее решение.

Автор:  Роман М. [ Среда, 27 Март, 2013 14:26 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

+ Clutter

Автор:  Пётр Кушнир [ Среда, 27 Март, 2013 14:49 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Цитата:
based on the GObject

Цитата:
GObject — библиотека с открытым исходным кодом (лицензируется под LGPL), представляющая портируемую объектную систему и прозрачную межъязыковую совместимость. Gobject спроектирован для использования как в C, так и в других языках при помощи привязок.

Цитата:
а самом базовом уровне GObject лежит динамическая система типов, которая называется GType.
инопланетные технологии в ваших устройствах.

Автор:  Роман М. [ Среда, 27 Март, 2013 15:31 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Отчасти соглашусь. Пресловутая избыточная сложность. Более простой каркас использует другой, более сложный.

Автор:  Пётр Кушнир [ Среда, 27 Март, 2013 23:10 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Сегодняшний день прошёл под флагом борьбы Ивана с OpenGL. Теперь порт умеет кружочки.
Изображение
Такой день.

P.S. кстати, интересный момент в отрисовке кругов с помощью треугольников - OpenGL иногда рисует совсем не круг, видимо, это связано с ошибками округления.

Автор:  Пётр Кушнир [ Четверг, 28 Март, 2013 22:44 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Сегодня я реализовал прототип механизма размещения в порт произвольного отображения.
Изображение
Привычный двойной статус-бар теперь является простой вьюшкой. Но чтобы добиться этой простоты пришлось пересмотреть механизм размещения отображений в окне. В прежней версии ББ только отображения Documents.Document размещались в окне, так как в скрытой реализации документа производилась нетривиальная работа по созданию корневого фрейма. Следовательно, любое открытое отображение было представлено документом. Документ имеет ряд параметров, которые являются излишними для отображений, подобных статус-барам, скроллерам, меню и тулбарам, следовательно, нужно было новое отображение, не такое сложное как документ.
При этом, документ остаётся главным корневым отображением, и это отражено в интерфейсе модуля Windows, и исторические интерфейсы и модель поведения среды при открытии обратно совместима со старым ББ, но параллельно с документом, на поверхности окна будут существовать набор корневых отображений, которые будут размещены из предварительно заготовленной модели, в которой описано будущее расположение блоков.
Такую модель можно будет сохранять, подменять, то есть, полностью настраивать раскладку окна.
А заодно пришлось подумать над процессами изменения размера окна. За это дело будет отвечать ресайзер с настраиваемыми стратегиями. Но это всё в будущем, а пока можно ощутить гордость за механизм отображений, который позволяет такую гибкость механизмов всяким там реализаторам хоста.

Автор:  Info21 [ Пятница, 29 Март, 2013 10:59 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Пётр Кушнир писал(а):
Сегодня я реализовал прототип механизма размещения в порт произвольного отображения.
... а пока можно ощутить гордость ...
и нужно :)

Автор:  Пётр Кушнир [ Пятница, 29 Март, 2013 15:12 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Изображение
Сегодня довёл до ума механизм блоков, осознал, что блоки в общем, похожи на окна, поэтому для простоты повторил набор методов, который полностью удовлетворил потребности рисованию отображений и по обработке пользователского ввода. Вот, например, вариант полоски меню.
Кстати, так как в новом ББ не планируется вводить полноценный MDI "как-в-винде", то принимаются идеи по утилизации пространства внутри основного окна, которое пока никуда не исчезнет.

Автор:  Info21 [ Пятница, 29 Март, 2013 17:17 ]
Заголовок сообщения:  Re: BlackBox на OpenGL

Мы где-то тут обсуждали MDI ведь?

Разные копии ББ по факту работают как разные десктопы.
Что удобно ("разделяй и ...").

Страница 3 из 7 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/