Графика 3М (GUI на базе OpenGL)

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Графика 3М (GUI на базе OpenGL)

Сообщение olegy123 » 30.11.2017 01:21:42

Пишу библиотеку "графического пользовательского интерфейса" на базе OpenGL(OpenGLES/Vulkan).
Код полностью родной(native) Lazarus/FPC.
Многопоточный и безопасный. (thread-safety).
Предполагается поддержка много экранов (multidispaly/multihead).

v0000000.png
v0000000.png (51.86 КБ) Просмотров: 36067
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: Графика 3М (GUI на базе OpenGL)

Сообщение serbod » 30.11.2017 01:44:24

Молодец, будет альтернатива Firemonkey. Исходники будут открытыми?
Аватара пользователя
serbod
постоялец
 
Сообщения: 449
Зарегистрирован: 16.09.2016 11:03:02
Откуда: Минск

Re: Графика 3М (GUI на базе OpenGL)

Сообщение Лекс Айрин » 30.11.2017 10:27:30

А фигурные компоненты будут?
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Графика 3М (GUI на базе OpenGL)

Сообщение olegy123 » 30.11.2017 10:50:49

Да, когда базовые элементы добавлю и приведу код к нормальному виду с описанием, пока это черновик, не совсем понятный даже мне.
Большая часть классов нужно уже переименовывать.
Сейчас я борюсь за "кликабельность" и легкость управления. Если в Window-ым этим занимается система, то тут нужно это все создавать.

2D пока канва эмулируется с помощью TFPImage.

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

Добавлено спустя 12 минут 17 секунд:
Лекс Айрин писал(а):А фигурные компоненты будут?

В TFPImage можно скрулить. Углы в c альфой=0 нарисовать.
Но поиск под мышкой объекта пока реализован через индекс цвета. Углы будут видны.
Тут либо кнопку нужно формировать через полигон, что нужно указывать указывать текстурные координаты для полигона. Либо химичить с glStencil буфером и смотреть на альфу тест. Пока до этого руки не дошли.
Либо выводить форму квадрата с полной тестурой при поиске полигона на экране под мышкой.
Нужно подумать над режимами вывода примитива.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: Графика 3М (GUI на базе OpenGL)

Сообщение alexs » 30.11.2017 11:03:08

Это будет штатный виджетсет лазаря? или своя иерархия?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Графика 3М (GUI на базе OpenGL)

Сообщение olegy123 » 30.11.2017 11:20:48

Ого, пока проще своя иерархия.
Просто я не понимаю как штатный виджет прикрутить в мир OpenGL.
Или битмапы тянуть из мира OpenGL и рисовать на 2D канве виджита?

Давайте так, я пока иду в нужном мне направлении, далее видно будет.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: Графика 3М (GUI на базе OpenGL)

Сообщение alexs » 30.11.2017 11:24:19

olegy123 писал(а):Или битмапы тянуть из мира OpenGL и рисовать на 2D канве виджита?

Так там как раз наоборот - виджеты лазаря основаны на прослойке, которая уже непосредственно решает, как, кто и где будет рисовать контролы.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Графика 3М (GUI на базе OpenGL)

Сообщение olegy123 » 30.11.2017 11:30:46

У меня TFreeTypeFont по русски писать не умеет. Подскажите как выйти из этого положения?
TOpenGLControl может при старте инициализировать базовые элементы в OpenGL окне. Шейдеры?
Или нужно это делать OnPaint c флагом первого запуска?

Добавлено спустя 14 минут 35 секунд:
alexs писал(а):Так там как раз наоборот - виджеты лазаря основаны на прослойке, которая уже непосредственно решает, как, кто и где будет рисовать контролы.

Теперь понял, аналог Firemonkey.
теоретически можно, но практически.. я глубоко не знаю LCL. Не плавал в тех морях.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: Графика 3М (GUI на базе OpenGL)

Сообщение Лекс Айрин » 30.11.2017 11:47:46

olegy123 писал(а): и думаю что мало кому это нужно..


Это ты зря. В свете распространения расширенной реальности вписывание компонент/окон в окружение будет очень актуальной.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Графика 3М (GUI на базе OpenGL)

Сообщение olegy123 » 30.11.2017 11:52:27

Мне бы сейчас успеть реализовать базовые элементы (Button,Caption,Edit,CheckBox,Image)

Добавлено спустя 1 минуту 8 секунд:
Лекс Айрин писал(а):
olegy123 писал(а): и думаю что мало кому это нужно..


Это ты зря. В свете распространения расширенной реальности вписывание компонент/окон в окружение будет очень актуальной.

Да, под это делается задел.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: Графика 3М (GUI на базе OpenGL)

Сообщение Лекс Айрин » 30.11.2017 11:59:23

Плюс, красивый и необычный вид компонента никогда не помешает.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Графика 3М (GUI на базе OpenGL)

Сообщение zub » 30.11.2017 16:12:46

Имхо. Подобное интересно только в виде бакенда к лцл. В отдельном виде уже есть mse и fpgui. Ну и написание качественных контролов дело хлопотное. Я бы в качестве теста сразу сбацал форму с миллионом кнопок и тмемо с всеми томами войны и мир)))
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Графика 3М (GUI на базе OpenGL)

Сообщение olegy123 » 30.11.2017 17:08:39

zub писал(а):Имхо. Подобное интересно только в виде бакенда к лцл. В отдельном виде уже есть mse и fpgui.

(mse or fpgui) <> OpenGL. В OpenglES им путь заказан. а в VR разве будете вкручивать LCL?
По поводу миллион кнопок.. так Windows GUI ограничено кол-вом элементов на экране, вроде как <32000.

Zub лучше подскажи как расколдовать TFreeTypeFont
чтобы по нашему стал писать.

Добавлено спустя 13 минут 3 секунды:
Лекс Айрин писал(а):Плюс, красивый и необычный вид компонента никогда не помешает.

Вы мою фантазию еще не знаете.
Квадратики - это обкатка. черновик.
потом распишем интрефейс под хохлому..

o2.gif
o2.gif (242.63 КБ) Просмотров: 35949
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: Графика 3М (GUI на базе OpenGL)

Сообщение Лекс Айрин » 30.11.2017 18:59:51

olegy123 писал(а):Вы мою фантазию еще не знаете.


Зачем, когда есть Талисман?
http://oformi.net/uploads/posts/2014-09 ... y-road.jpg
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Графика 3М (GUI на базе OpenGL)

Сообщение zub » 01.12.2017 14:23:06

Непомню проблем с кодировкой ттф. Дай демку проблемы
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

След.

Вернуться в Разработки на нашем сайте

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

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

Рейтинг@Mail.ru