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

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

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

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

Сообщение MiniQ » 27.12.2017 21:44:15

Под какую операционку пишется?
Под винды и линукс уже есть ZenGUI http://zengl.org/extra_ru.html.
Я вот хотел бы его переделать под Ultibo .....
MiniQ
новенький
 
Сообщения: 75
Зарегистрирован: 28.01.2013 16:31:55

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

Сообщение Сквозняк » 28.12.2017 02:39:53

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

Нужен не просто открытый, а такой открытый, который можно статически линковать с закрытыми приложениями и их авторам ничего за это не будет. У исходников fpc и lazarus такая лицензия.
Сквозняк
энтузиаст
 
Сообщения: 615
Зарегистрирован: 29.06.2006 22:08:32

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

Сообщение MiniQ » 06.02.2018 12:18:41

Нашел еще один похожий пакет,
https://github.com/bgrabitmap/bgracontrolsfx
только развивается.
Кстати, топикстартер давно не отписывался..
MiniQ
новенький
 
Сообщения: 75
Зарегистрирован: 28.01.2013 16:31:55

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

Сообщение olegy123 » 06.03.2018 14:57:52

Извините что долго заставил ждать.. но после встречи нового долго приходил в сознание. Был сильный упадок духа. Даже была мысль уйти из профессии.

Заставил двигаться меня заказчик. Да и я тут вам многое наобещал.
Короче это черновик. Это не альфа/ни бета/ни гамма.. это черновик в котором что-то работает, а точнее TGGUIForm.

черновик.jpg


r1.tar.gz
исходники
(144.91 КБ) Скачиваний: 19


бинарник. Скомпилирован в Debian x64. Lazarus 1.8.0RC5.
Минимальные требования OpenGL 3.x / Schader #version 130 (Intel).
https://yadi.sk/d/iSXJcsKN3T5Eqs

Идея, все что движется - пересадить в BeginThread.

Стал разбираться в собственном коде, вспоминать что к чему.
Сейчас вспоминаю зачем я стили TGGUIStyle прикрепил к TGRenderInfo. Вот думаю убрать от туда и прикрипить к TGGUIBase или не надо.. Или брать от родителя TGGUIBase.. короче думаю быть или не быть стилям.

Добавлено спустя 6 минут 48 секунд:
В плане:
1) Fonts
2) Style - сделать глобальными или для каждого элемента. К ним добавить Fonts
3) Расширить компоненты до Label/Button/Memo

Добавлено спустя 10 минут 5 секунд:
Далее работа с glStencilMask.
нужно добавить дополнительный слой, для Stencil буфера. Дополнительно отрисовывать с учетом границ для Child компонентов.

Добавлено спустя 4 минуты 1 секунду:
Мультиоконный режим убран(он работал). Но каждый компонент нужно дополнительно крепить(или инициализировать) к окошку(GLControlInfo).
unit1.pas
109| p1.JoinRenderParams(GUIDrive.RenderInfo.GLControlInfo);

нужно продумать легкий и безопасный способ.
Так что пока в одно окно.
olegy123
энтузиаст
 
Сообщения: 921
Зарегистрирован: 25.02.2016 12:10:20

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

Сообщение Alex2013 » 06.03.2018 20:31:31

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

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


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

Да, под это делается задел.

В принципе верно ! Но там имеет смысл все делать сразу в 3D ..
(или как 2D виджеты в 3D ).
Зы
Как только доберусь в своих программах до "др-интерфеса" так сразу попытаюсь применить ваши наработки . :idea:
Alex2013
энтузиаст
 
Сообщения: 864
Зарегистрирован: 03.04.2013 11:59:44

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

Сообщение olegy123 » 06.03.2018 23:06:46

кто нибудь знает TFreeTypeFont потокобезопасен? валится приложение, когда активно работаю в разных местах c Fonts. Видимо нужно синхронизировать загрузку шрифтов.
Что то не могу понять как мне "стиль" оформить. Конкретно к чему крепить либо самостоятельный компонент у которого каждый элемент берет информацию либо прикрепленный уже к сделанному элементу.

Alex2013 писал(а):В принципе верно ! Но там имеет смысл все делать сразу в 3D ..
не все возможно сделать в 3D. Многие чистые(полностью работающие в 3D) GUI все равно активно используют текстурный фреймбуфер. Так или иначе рисуют на "битмапе". Некоторый 2D функционал еще долго не будет реализован в на ускорителях.
olegy123
энтузиаст
 
Сообщения: 921
Зарегистрирован: 25.02.2016 12:10:20

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

Сообщение olegy123 » 13.03.2018 13:29:22

Добавил
GUILabel
GUIButton
GUIEdit
vokoscreen-2018-03-13_14-18-06.gif
vokoscreen-2018-03-13_14-18-06.gif (202.2 КБ) Просмотров: 436


проблемы:
GUIButton пока деревянный - без эмоций. пока думаю как чувства добавить, пока остановился на 3х текстурах: 1) Номрамльная конпка, 2) Мышка наехала, 3) клик.

GUIEdit - тоже пока в придумках как его сделать подвижным. Одно из главных - мигание каретки, как заставить пока не придумал. Либо генерировать 0.5с текст + картека, текст + без картеки. Либо накладывать текстурой и шейдерить миганией текстурой, либо чисто шйедером. Везде есть плюсы и минусы.

Осталось сделать GUICombobox..
olegy123
энтузиаст
 
Сообщения: 921
Зарегистрирован: 25.02.2016 12:10:20

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

Сообщение olegy123 » 15.03.2018 14:24:21

Добавил кнопку.. Сделал "анимацию".

o4.gif
o4.gif (83.9 КБ) Просмотров: 401


Добавлено спустя 4 часа 17 минут 57 секунд:
Слайдер.
o5.gif
o5.gif (73.78 КБ) Просмотров: 394


Добавлено спустя 19 часов 7 минут 5 секунд:
Ну вот и все, перехожу из стадии черновика в реализацию продукта.

r0000.jpg


Практически все компоненты я научился делать.
Правда хотел воткнуть Combobox, но так как задача имеет множественный подход к решению: можно комбинировать элементы (Edit+Button), можно рисовать на Bitmap-е, можно реализовать слоями.. - имеет много подходов, но тот который я считаю удачным требует доработки базовых элементов. Этот вопрос перенесу в новый код.

сейчас я переключаюсь на работу под Windows. Так как там необходимо мне делать клиента.
olegy123
энтузиаст
 
Сообщения: 921
Зарегистрирован: 25.02.2016 12:10:20

Пред.

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

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

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

Рейтинг@Mail.ru