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

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

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

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

Сообщение olegy123 » 06.04.2021 07:24:41

Alex2013 писал(а):Я как легко догадался хочу попробовать прикрутить что-то похожее к своему 3D/VR проекту
Да я это понял.
Кстати, один из частей планировалось сделать под 3D/VR, 3D GUI нужны для "безшовной работы" это кода форма находится в пространстве, тогда вдруг мне захотелось элементы сделать объемными, как плитка за которую можно зацепится, у которой элементы "в объеме".

Alex2013 писал(а):Кстати как позицировать курсор мыши на "повернутую в 3D" форму ?
у каждого элемента находится матрица мировые_к_локальным_координаты, этоу идею я подсмотрел у GLScene, остается найти точку пересечения с плоскостью и помножить на эту матрицу. в итоге будет локальная координата.

Добавлено спустя 2 минуты 20 секунд:
вообще я много чего взял от туда, с GLScene, также древовидный подход к элементам, оптимизации, работу с текстурой.

Добавлено спустя 7 минут 42 секунды:
Alex2013 писал(а):У меня есть процедура пересчета экранных координат в мировые (относительно текущего положения камеры

я тебе бы посоветовал не использовать математику OpenGL, а работать со своей. тогда тебе хватит установить единичеую матрицу в начале для GL_MODELVIEW_MATRIX и GL_PROJECTION_MATRIX, и через шейдеры задавать ту нужную для каждого элемента матрицу.
Что это дает: ну вопрвых все расчеты у тебя на руках, тебе не нужно добывать их выгружая из контекста, можешь делать отложенные расчеты, например при анализе сцен.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

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

Сообщение Seenkao » 06.04.2021 13:34:56

Лично я думаю, что затея не стоит выделки.
Первое: OpenGL не предназначен для работы с разными окнами. Это возможно, но будет очень ресурснозатратно.
Второе: "продать" практически не возможно. Очень маловероятно, что кто-то оценит затею.

Почему?
- Всё то что предоставляется с помощью данной разработки - уже есть и даже больше.
- OpenGL в данном варианте, практически не предоставляет ни каких "улучшений" по сравнению с обычным LCL.

Третье: Очень сложно объяснить "покупателю" в чём состоит преимущество, с учётом того, что это уже есть.
Четвёртое: В таком варианте надо поддерживать все существующие контексты для всех систем (если кроссплатформено) - DirectX, Metal, Vulkan.

Исходя из всего: работа должна занять очень огромное время, вытеснить на своём поприще стандартный LCL и доказать, что оно того стоит. Как бы плохо это не звучало...
:(
Seenkao
энтузиаст
 
Сообщения: 502
Зарегистрирован: 01.04.2020 03:37:12

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

Сообщение Alex2013 » 06.04.2021 15:24:35

Seenkao писал(а):Лично я думаю, что затея не стоит выделки.

Как и любая другая если не доводить проект до логического завершения .
(Что у меня достаточно увы частое явление, так что искренне надеюсь, что автора этого проекта сия чаша минует )
Seenkao писал(а):OpenGL не предназначен для работы с разными окнами.

OpenGL предназначен для работы с текстурированными полигонами что именно на текстурах нарисовано дело 100501-е . Так что не вижу причин для невозможности использования OpenGL в качестве среды для GUI (разумеется в рамках одной сцены, что для ВиАр проектов вообще почти ЕДИНСТВЕННЫЙ возможный вариант реализации ).
Seenkao писал(а):Второе: "продать" практически не возможно. Очень маловероятно, что кто-то оценит затею.

"Продать" можно не OpenGL GUI, а проект с его применением в котором " по новому все останется по старому" И где "трехмерность" можно вообще не использовать в явном виде, но сама возможность доступа к ней будет немалым полюсом (особенно при наличии доступа к ВиАр-технологии )
Seenkao писал(а):Третье: Очень сложно объяснить "покупателю" в чём состоит преимущество, с учётом того, что это уже есть.

Конкуренция предполагает возможность показать "товар лицом" так что если благодаря "скрытому 3д" будет удобнее и быстрее работать например с картой в ГИС-системе то это будет явный + .
Seenkao писал(а):Четвёртое: В таком варианте надо поддерживать все существующие контексты для всех систем (если кроссплатформено) - DirectX, Metal, Vulkan.

OpenGL наверное самая кроссплатформенная библиотека из всех ей подобных (разве что Vulkan догоняет то там точно нет таких "залежей" готовых решений на многие случаи жизни ).

Seenkao писал(а):сходя из всего: работа должна занять очень огромное время, вытеснить на своём поприще стандартный LCL и доказать, что оно того стоит. Как бы плохо это не звучало...

Зачем что-то прямо сейчас вытеснять? У данного проекта УЖЕ есть достаточно не малая ниша.
Серьезное GUI "для деловых" ( но не только) OpenGL-проектов с привычным стандартным видом интерфейса будет весьма полезно "прямо сейчас", а уж через пару лет с приходом "Эпохи дополненной реальности " это вообще гарантировано будет мейнстримом и вот тогда можно будет говорить о неком "Вытеснении ". Но разумеется именно сейчас нужно позаботимся о том что бы в те "далекие времена" вообще было то чем потом можно будет "Вытеснять старое 2д GUI"

Добавлено спустя 56 минут 46 секунд:

olegy123 писал(а):Кстати, один из частей планировалось сделать под 3D/VR, 3D GUI нужны для "безшовной работы" это кода форма находится в пространстве, тогда вдруг мне захотелось элементы сделать объемными, как плитка за которую можно зацепится, у которой элементы "в объеме".

Между прочим совместить "просто 3D" и VR оказалось много проще чем казалось мне ранее ...
Есть вращение и движение в "просто 3D" сцене и есть повороты и перемещения шлема .
Оказалось что достаточно "запараллелить" их "крест на крест" и они совершенно не мешают друг другу. (Но можно и раздельное управление сделать или "не синхронизировать" в одну из сторон
так сказать "взболтать но не смешивать " 8) )
olegy123 писал(а):
Кстати как позицировать курсор мыши на "повернутую в 3D" форму ?

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

Кхм ! Интересно надо будет более внимательно посмотреть на исходники ...
.

olegy123 писал(а):вообще я много чего взял от туда, с GLScene, также древовидный подход к элементам, оптимизации, работу с текстурой.

GLScene вообще штука мощная и кстати в свежих версиях на воротили много нового... Как раз пытаюсь разобраться

olegy123 писал(а):я тебе бы посоветовал не использовать математику OpenGL,

Это разумеется вариант . Но математика OpenGL работает, а в шейдерах я чувствую что еще долго разбираться буду ...
Зы
Спасибо, за полезные советы !
Alex2013
долгожитель
 
Сообщения: 2922
Зарегистрирован: 03.04.2013 11:59:44

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

Сообщение olegy123 » 06.04.2021 18:46:14

Seenkao писал(а):Исходя из всего: работа должна занять очень огромное время, вытеснить на своём поприще стандартный LCL и доказать, что оно того стоит. Как бы плохо это не звучало...
Стандартный LCL не работает в OpenGL/EGL/DirectX и прочее.
Конечно, есть наработки например Firemonkey, KDE, сейчас делают GNOME. и другие. Скачивай, ставь и работай.

Но при работе уже возникают много вопросов, большинство написано на C/C++. Как ввести интеграцию в свой pas код? Да и в С++ есть много разнообразностей, от подхода к задачи, то каких то там непонятных библиотек.
А есть ведь еще лицензии - там тоже тот еще зоопарк.

Это на картинках все красиво, а когда начинаешь с этим работать - вдруг выясняется что описания толкового нет, подходы спорные, бывает так что сам код написан с протечками. Ну либо плати.

Seenkao писал(а):Первое: OpenGL не предназначен для работы с разными окнами. Это возможно, но будет очень ресурснозатратно.
это предназначено в одном окне, и как опция, в последних версиях я исключил - работа в несколько GPU

Добавлено спустя 16 минут 43 секунды:
Seenkao писал(а):Второе: "продать" практически не возможно. Очень маловероятно, что кто-то оценит затею.
продать можно все че угодно, вам толковый менеджер скажет. Даже это.

Seenkao писал(а): OpenGL в данном варианте, практически не предоставляет ни каких "улучшений" по сравнению с обычным LCL.
ну если делать калькулятор, или "хелло ворлд". То разумеется это не очень. А когда вам нужно крутить картинку в 16384х16384 то LCL умрет при выводе.

Seenkao писал(а):Четвёртое: В таком варианте надо поддерживать все существующие контексты для всех систем (если кроссплатформено) - DirectX, Metal, Vulkan.
разумеется. Но это не самые главные вопросы. да и тестировалось все на базе Raspberry Pi #1

Добавлено спустя 29 минут 10 секунд:
Alex2013 писал(а):GLScene вообще штука мощная и кстати в свежих версиях на воротили много нового... Как раз пытаюсь разобраться
да, советую, довольно сильная библиотека для изучения.

Alex2013 писал(а):Это разумеется вариант . Но математика OpenGL работает, а в шейдерах я чувствую что еще долго разбираться буду ...
там ничего сложного нет, вершинные шейдеры могут загружать видовые матрицы и перемножать координаты. Это удобно тем что каждый объект может сидеть в памяти GPU(например в виде списков) и ему просто подсовываешь в вершином шейдере его матрицу вида. Это очень удобно для больших и сложных объектов. Для "скелета", либо ты glPushMatrix/glPopMatrix для каждого звена, либо просто одним glUniformMatrix4fv - загрузишь всю матрицу в шейдер и перемножишь все элементы объекта.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

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

Сообщение Seenkao » 06.04.2021 20:19:56

Alex2013,
Seenkao писал(а):работа должна занять очень огромное время, вытеснить на своём поприще стандартный LCL и доказать, что оно того стоит.

Всё что написано тобой, автоматически всё перекрывает.
Да, Алекс, не забывай, мы общаемся на разных уровнях! ))) Я не верю в VR. Особенно в ближайшее время, раз оно не смогло за 20 лет сдвинуться нормально, то "новые технологии" будут только усугублять это.

Потому, большая часть так и будут пользоваться нормальными мониторами, а очки будут у малого числа, и то для развлечения. (достаточно было вспомнить себя: "Вот компьютер куплю и буду программировать!", а в результате денно и нощно в играх зависал. :mrgreen: )

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

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

Я говорю о потенциальных покупателях. Тем, которые знают чего они хотят. И, если LCL их устраивает, то переубедить таких людей сложно.
olegy123 писал(а):А когда вам нужно крутить картинку в 16384х16384 то LCL умрет при выводе.

думаю проблем не будет, чтоб тот же OpenGL или DirectX проинициализировать на компонент и работать с достаточно большими размерами изображения.

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

И как можно описать человеку, уверенному, что LCL вполне хватит для его программы, что данный проект лучше?!

Это не камень в чей-то огород! Это разные взгляды. )))
Seenkao
энтузиаст
 
Сообщения: 502
Зарегистрирован: 01.04.2020 03:37:12

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

Сообщение Alex2013 » 07.04.2021 14:30:14

1 Разумеется мой уровень в 3д-графике значительно ниже . (Я буквально только с середины февраля этого года хоть что-то отдаленно похожее на "зд графику " делать попробовал )

2 Что касается современной ВиАр-технологии то в нее я тоже "не верю" хотя и использую . (В текущем виде она громоздка и не слишком полезна , а до легендарного "полного погружения" в любом его виде минимум лет эдак десять ... )

3 Но что касается "Дополненной реальности" то это "как только так сразу".Почему? Потому, что ДР решает множество проблем буквально "щелчком пальцев"(но по сути это не более чем расширение уже обычной сенсорной технологии и "сказок в наяву" скорее всего не будет ), а ВиАр в "эпоху ДР " будет не более чем на "подхвате".

4 Разумеется качественные "2д мониторы" (и проекторы) без боя не сдадутся. Но что касается всей носимой и "встроенной" электроники то кроме как в сторону ДР ей развиваться особо некуда (даже просто представить "8к смартфон " уже полный нонсенс! ) , а всяческие "раскладушки нового поколения" точно никто никогда не стандартизует.

5 Мой текущий "3D/VR прожект" задуман именно "как переходное звено" между "2D и AR" . Я разумеется не верен, что у меня "все получится", но пробовать как минимум интересно.

6 То что я участвуя "VR-гонке" немного приподнял железячный-уровень, просто чуть компенсирует мою хроническую "криворукость"( и "криво-кодость") :wink: но практически все можно "обойти на повороте" если "просто добавить ума и знаний "(которых у меня, увы, явно "не комплект" ).

7 По "DirectX и т.п." если дело доходит до серьезного проекта то разумеется там желательно делать "платформенно независимый " движок. Но начитать "разбираться с 3д" проще всего в досточно старой и универсальной платформе и "Многоликий OpenGL" ИМХО для этого подходит лучше всего .
Зы
Так что с "авторской сборкой" под Винду ? Стоит ждать , или нет? :idea:
Последний раз редактировалось Alex2013 07.04.2021 16:55:34, всего редактировалось 3 раз(а).
Alex2013
долгожитель
 
Сообщения: 2922
Зарегистрирован: 03.04.2013 11:59:44

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

Сообщение olegy123 » 07.04.2021 16:27:50

Seenkao писал(а):думаю проблем не будет, чтоб тот же OpenGL или DirectX проинициализировать на компонент и работать с достаточно большими размерами изображения.

задача наоборот перевести функционал LCL в среду OpengGL без боли для программиста на pas.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

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

Сообщение zub » 07.04.2021 16:37:28

>>задача наоборот перевести функционал LCL в среду OpengGL без боли для программиста на pas.
присоединюсь к Seenkao, в таком ключе это не представляет интереса
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

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

Сообщение olegy123 » 07.04.2021 16:37:38

Seenkao писал(а):Суть не в этом. Суть в том, что как покупателю объяснить и завлечь в том, что разрабатывается в данный момент.
Покупатель не будет думать так же как программист. Вообще даже программисты друг друга понимать не хотят. )))
покупатель должен видеть продукт, или заказывать его. есть которые покупают компоненты, есть уже некий продукт из этих компонент.
скажу что у меня есть производители которые бы хотели получить продукт, и возможно часть будет состоять из этой темы.

Seenkao писал(а):И как можно описать человеку, уверенному, что LCL вполне хватит для его программы, что данный проект лучше?!
зачем мне переубеждать, есть задачи в которых LCL есть ограничения, допустим в среде инженеров черчежей, есть SCADA. В одном проекте мы победили конкурентов потому что предоставили визуальную часть. Там элементы были анимированные, одно дело когда интерфейс "вырви глаза" другое дело когда дяди под 50 лет начинают играть. и 50 летние дяди решили что мы победили.. Хотя по функционалу были другие побогаче.

Добавлено спустя 6 минут 22 секунды:
zub писал(а):присоединюсь к Seenkao, в таком ключе это не представляет интереса
вам предоставить критику людей которые хорошо разбираются в элементах "Material UI", знают новости CSS и дизайна.

Добавлено спустя 3 минуты 19 секунд:
zub и Seenkao что можно предложить для Alex2013 из UI в VR ?
желательно в pas или 2Dшный пиксельный Bitmap это наше все.. это наши скрепы.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

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

Сообщение zub » 07.04.2021 17:07:46

>>разбираются в элементах "Material UI", знают новости CSS и дизайна.
Очередной гуи "движек" - сомноительно...
В виде бакенда-виджесета к лцлю - ждет успех топикстартер тебя ...
сугубо имхо
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

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

Сообщение olegy123 » 07.04.2021 17:25:53

Alex2013 писал(а):1 Разумеется мой уровень в 3д-графике значительно ниже . (Я буквально только с середины февраля этого года хоть что-то отдаленно похожее на "зд графику " делать попробовал )

надо прокачивать, советую начать с понимания векторов, матриц их математические операции. Тогда станет многое понятно в OGL/DX.
Иначе можешь остаться на уровне рисования примитивов.

Alex2013 писал(а):2 Что касается современной ВиАр-технологии то в нее я тоже "не верю" хотя и использую . (В текущем виде она громоздка и не слишком полезна , а до легендарного "полного погружения" в любом его виде минимум лет эдак десять ... )
я встречал одного дядю который хотел внедрить VR технологию у себя.
Как только что то стоящее будет - пару покупателей точно можно найти.

Добавлено спустя 3 минуты 48 секунд:
zub писал(а):сугубо имхо
ага, скажи Alex2013 что на два шара его ждет максимум стена LCL
Ты смотрел в стерео - плоское изображение без глубины?
Интересно ZCad в стерео режиме будет кликабельным?
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

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

Сообщение Seenkao » 07.04.2021 19:48:27

https://phoenix.yizimg.com/TrueOpenVR?language=pascal

сразу говорю, я не занимался VR. Я и так подзадолбался с ZenGL, подгоняя бит к биту, слово к слову, отделяя всё от конкретной системы... А занялся всего лишь полем ввода и виртуальной клавиатурой...

По LCL и подобным. Я вообще не сторонник этого. Максимум для быстрых тестов. Бросил на форму, проверил, работает - забрал, не работает, доводим до рабочего состояния.

LCL с уклоном на OpenGL должен работать от собственного создания окна. И больше не возвращаться к LCL-формату.

Сам LCL (как я считаю) надо полностью переделывать. И минимизировать код раза в три как минимум, а желательно больше.
Потому и говорю, что даже для поддержки OpenGL-LCL - надо делать очень много и долго. А переделывать... не знаю. Иногда это будет проще. Но надо окно создавать для каждой системы опять...

Так же и с VR - я бы на многое забил и работал от чистых библиотек, а возможно вообще напрямую. Особенно понимая, что он чуть ли не автоматически с OpenGL работает. :)
Seenkao
энтузиаст
 
Сообщения: 502
Зарегистрирован: 01.04.2020 03:37:12

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

Сообщение Alex2013 » 07.04.2021 22:36:07

1 Вообще то с интерфейсами именно "для ВиАр" все довольно неплохо.
(Есть возможность использовать "пользовательский надстройки" для SteamVR, WMR,Unity 3D и Oculus Lib, и т. п. ) Но в моем случае это не вариант потому, что я хочу сделать так чтобы мои программы работали автономно и в этом числе и в отсутствии доступа к "монструозным" ВиАр фреймворкам .

2 Разумеется с векторами и матрицами я постепенно разбираюсь ( иначе бы никого подключения к трекингу Open VR в моих сценах не было бы в принципе. )

3 Одна из практических задач данного направления, не в том что бы найти покупателя или заказчика
именно на 3d/VR/AR проекты, а в том, что мне крайне желательно сделать несколько проектов НАГЛЯДНО подтверждающих мою квалификацию (пусть то я что я делаю на заказ обычно куда проще )
А любой 3d/VR/AR проект это (ИМХО) очень явное "заявление о возможностях" плюс не плохая возможность реально, наглядно, нескучно и полезно "АпнутьЛевел" в программировании.

4 Что касается, более менее приличного "GUI для OpenGL" вариантов есть множество и совсем не обязательно делать именно "надстройку над LCL" ...
ИзображениеИзображение
...но если она будет это точно может помочь "срезать угол".
ИзображениеИзображение
Alex2013
долгожитель
 
Сообщения: 2922
Зарегистрирован: 03.04.2013 11:59:44

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

Сообщение zub » 08.04.2021 01:34:35

olegy123 писал(а):ага, скажи Alex2013 что на два шара его ждет максимум стена LCL
Ты смотрел в стерео - плоское изображение без глубины?
Интересно ZCad в стерео режиме будет кликабельным?

Там его хоть чтото ждет, не только скриншоты и слова.
нет. незнаю, наврятли
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

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

Сообщение Alex2013 » 08.04.2021 10:32:41

Seenkao писал(а):https://phoenix.yizimg.com/TrueOpenVR?language=pascal

В как я понял в TrueOpenVR нет ничего, кроме трекинга и каких-то своих непонятных драйверов, не поддерживает . (и ни одной демки с 3д-сценой и использованием TrueOpenVR я так и не нашел... так что "замах на рубль удар на копейку" )

Seenkao писал(а):сразу говорю, я не занимался VR. Я и так подзадолбался с ZenGL, подгоняя бит к биту, слово к слову, отделяя всё от конкретной системы... А занялся всего лишь полем ввода и виртуальной клавиатурой...

О да! Борьба с "Виртуальной клавиатурой" мне еще предстоит.(Главная засада, в автоматическом выборе положения появления ВК при клике на поле ввода - я задолбался это в 2д (на планшете) делать а уж в 3д это чувствую будет еще "веселей"... :roll: )

Seenkao писал(а):По LCL и подобным. Я вообще не сторонник этого. Максимум для быстрых тестов. Бросил на форму, проверил, работает - забрал, не работает, доводим до рабочего состояния.

Кстати есть ведь еще и Light LCL (LLCL) !
https://github.com/FChrisF/LLCL
Как мне кажется ее в 3д "упаковать" может быть заметно проще...
(Правда не совсем понятно как совместить "внешний LCL" (основной интерфейс программы ) и "внутренний LLCL")

Seenkao писал(а):LCL с уклоном на OpenGL должен работать от собственного создания окна. И больше не возвращаться к LCL-формату.

Во только у программы действительно может быть еще и "внешний 2д-интерфс "( что кстати и наблюдается в моей ТехноДемке - и я был откровенно рад когда перебравшись на OpenGLControl забил болт на неуклюжие "псевдо-интерфейсы" на основе glut32.dll SDL.dll и т.п. )

Seenkao писал(а):Сам LCL (как я считаю) надо полностью переделывать. И минимизировать код раза в три как минимум, а желательно больше.

Так на то и есть LLCL...

Seenkao писал(а):Так же и с VR - я бы на многое забил и работал от чистых библиотек, а возможно вообще напрямую. Особенно понимая, что он чуть ли не автоматически с OpenGL работает.

"Напрямую" это получится или каша с попыткой "подержать все" или "уголок одной железяки".
Так что ИМХО OpenVr почти оптимален (с одной стороны есть некая общая "абстракция" а с другой реальная поддержка на почти любом современном VR-девайсе А еще OpenVr часть еще более продвинутого стандарта OpenXR )

Добавлено спустя 2 минуты 34 секунды:

zub писал(а):...не только скриншоты и слова.

Возможность обсудить проблемы тоже достаточно ценная поддержка в любом деле.
Alex2013
долгожитель
 
Сообщения: 2922
Зарегистрирован: 03.04.2013 11:59:44

Пред.След.

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

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

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

Рейтинг@Mail.ru