Black Shark Graphics Engine

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

Black Shark Graphics Engine

Сообщение BlackShark » 20.05.2019 13:14:00

Приветствую!

Мой графический двиг на паскале: https://bshark.org

Основан на API OpenGL ES2. Обеспечивает простой доступ к видеокарте из паскаля. Viewport базируется на TCustomControl, соответственно, приложение можно миксовать с VCL/LCL компонентами.
Возможностей не много, но может кому и пригодится. 2d канва достаточно неплохо оттестирована, применяется в рабочих проектах.
Аватара пользователя
BlackShark
новенький
 
Сообщения: 44
Зарегистрирован: 20.05.2019 12:52:15

Re: Black Shark Graphics Engine

Сообщение runewalsh » 21.05.2019 01:39:55

Интересная идея с гибридным текстом (текстуры для мелкого и меши для крупного), тоже хотел так сделать как-нибудь :з.
Аватара пользователя
runewalsh
энтузиаст
 
Сообщения: 578
Зарегистрирован: 27.04.2010 00:15:25

Re: Black Shark Graphics Engine

Сообщение Снег Север » 21.05.2019 20:37:22

Лазарь под виндой - пример скомпилировался и запустился сразу. Эх, где взять время, чтобы разобраться подробнее с интересной новинкой... :(
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2993
Зарегистрирован: 27.11.2007 16:14:47

Re: Black Shark Graphics Engine

Сообщение Cheb » 23.05.2019 17:30:45

Кинул в личку ссылку на исходники Чентры (нерабочие), как образец, как заставить GLES2 работать на Raspberry Pi 2 и 3, если интересно.
Вкратце: надо создавать аппаратный оверлей, который сам двигаешь за своим окном, не забывая рисовать на нём курсор мыши.
Ищи класс TBroadcomHack и смотри оттуда.
Последний раз я этот аспект движка проверял в августе 2018-го.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Black Shark Graphics Engine

Сообщение BlackShark » 24.05.2019 12:01:53

Cheb писал(а):Кинул в личку ссылку на исходники Чентры (нерабочие), как образец, как заставить GLES2 работать на Raspberry Pi 2 и 3, если интересно.
Вкратце: надо создавать аппаратный оверлей, который сам двигаешь за своим окном, не забывая рисовать на нём курсор мыши.
Ищи класс TBroadcomHack и смотри оттуда.
Последний раз я этот аспект движка проверял в августе 2018-го.

Да интересно. Спасибо! Посмотрю на досуге.
Аватара пользователя
BlackShark
новенький
 
Сообщения: 44
Зарегистрирован: 20.05.2019 12:52:15

Re: Black Shark Graphics Engine

Сообщение BlackShark » 28.05.2019 12:19:18

Обновил версию до 1.01:
- исправлена ошибка построения пути;
- исправлен тест KD-tree - изменён 2D уровень выводимых объектов, иначе они перекрывают скролбары окна;
- обновлена галерея для соответствующих изменений.
Аватара пользователя
BlackShark
новенький
 
Сообщения: 44
Зарегистрирован: 20.05.2019 12:52:15

Re: Black Shark Graphics Engine

Сообщение BlackShark » 02.07.2019 17:36:32

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

Вышла новая версия 1.02 моего движка (https://bshark.org):
- реализован просмоторщик/редактор схем;
- улучшены некоторые GUI-компоненты;
- завершён механизм хранения и восстановления состояния GUI (через RTTI) для наследников TGUIProperties;
- добавлен тест для просмоторщика схем;
- обновлена галерея.

Пока не тестировал на Linux.
Аватара пользователя
BlackShark
новенький
 
Сообщения: 44
Зарегистрирован: 20.05.2019 12:52:15

Re: Black Shark Graphics Engine

Сообщение Alex2013 » 04.07.2019 12:50:44

Интересно и главное подкупает простотой исполнения .
Вопросы :
1 Поддержка внешних форматов 3д моделей : Будет ли вообще и если будет то каких именно ?
2 Планируется ли поддержка стереоскопии ? (Особенно интересует SBS-режим )
3 Можно ли штатными средствами сделать "в темную" вывод OpenGl графики на TBitmap ? (важно для "дополненной реальности" , различной "видео графики" и спецэффектов )
Alex2013
долгожитель
 
Сообщения: 2922
Зарегистрирован: 03.04.2013 11:59:44

Re: Black Shark Graphics Engine

Сообщение BlackShark » 04.07.2019 16:13:51

Alex2013 писал(а):Интересно и главное подкупает простотой исполнения .
Вопросы :
1 Поддержка внешних форматов 3д моделей : Будет ли вообще и если будет то каких именно ?
2 Планируется ли поддержка стереоскопии ? (Особенно интересует SBS-режим )
3 Можно ли штатными средствами сделать "в темную" вывод OpenGl графики на TBitmap ? (важно для "дополненной реальности" , различной "видео графики" и спецэффектов )


1. Да, в отдалённой перспективе.
2. Пока об этом думал как о фантастике в моём движке).
3. Если только открывать в текстуру, а поверх неё можно выводить всё остальное что доступно в движке.

Сейчас мой роадмап пока нацелен на расширение 2d-возможностей, в частности - увеличение набора компонентов до минимально-достаточного, редактор тем + может быть и ГУИ-конструктор. Далее, наверное андроид. Если фокусироваться на 3д, думаю для начала необходимо реализовать освещение. В общем, звёзд с неба не хватая - двигаться дальше маленькими шагами. При всём при этом, хотелось бы придерживаться концепции простоты. Есть ещё моменты которыми я не очень доволен. Пока главное что есть первый релиз, дальше посмотрим.
Аватара пользователя
BlackShark
новенький
 
Сообщения: 44
Зарегистрирован: 20.05.2019 12:52:15

Re: Black Shark Graphics Engine

Сообщение Alex2013 » 04.07.2019 18:18:57

...может быть и ГУИ-конструктор

Как насчет кооперации с момим "поставленным на паузу" проектом МидАсм ?( На самом деле он не остановлен полностью но ушел от изначальной идеи в конструктор форм и векторной графики для веб приложений )
http://piccy.info/view3/10332973/4ba5b7 ... 6e3f/1200/
http://piccy.info/view3/11825309/803eb4 ... 28379becc/
Суть в том что редактор может по описанному в скрипте шаблону "визуально" генерировать HTML-код но в принципе ничто не мешает ему точно также генерировать и любой другой ..

Добавлено спустя 24 минуты 35 секунд:
Alex2013 писал(а):1. Да, в отдалённой перспективе.

С этим не так все страшно как кажется ... Даже я уже научится загружать каркас модели из старого 3DS for Dos 4.0
http://piccy.info/view3/12894305/5dc34b ... 2d94af1af/
2. Пока об этом думал как о фантастике в моём движке).

В SBS и подавно нет ничего страшного (смотри картинку выше )
Время ВиАр уже пришло !
....
3. Если только открывать в текстуру, а поверх неё можно выводить всё остальное что доступно в движке.

Как ты думаешь сделано это изображение ?
http://piccy.info/view3/12689237/ca7d96 ... aa6a62c42/
Проблема не в самой возможности вывода на битмап, а в отсутствии "стандартного метода" встроенного в движок.
Глянь тему :arrow: OpenGl Рисуем в Фоне, возможно ли?
Последний раз редактировалось Alex2013 01.03.2023 16:02:56, всего редактировалось 1 раз.
Alex2013
долгожитель
 
Сообщения: 2922
Зарегистрирован: 03.04.2013 11:59:44

Re: Black Shark Graphics Engine

Сообщение BlackShark » 05.07.2019 16:52:13

Alex2013 писал(а):Как насчет кооперации с момим "поставленным на паузу" проектом...

Спасибо, но это наверное усложнит вещи, если только делать как надстройку-расширение, может быть, вопрос только КТО? :wink: Да и для чего это всё - мне не совсем ясно)
У меня внутренняя архитектура полностью для этого готова: механизм сохранения/восстановления ГУИ, и даже самописный инспектор объектов like Delphi-style. Осталось наформошлёпать
в Лазаре.
Alex2013 писал(а):Проблема не в самой возможности вывода на битмап, а в отсутствии "стандартного метода" встроенного в движок.
Глянь тему :arrow: OpenGl Рисуем в Фоне, возможно ли?

Чего нет, того нет :roll:
Т.е. основная цель рисовать в битмап (ну кроме VR) - делать это в фоне, или я что-то не догнал??? Чем не устраивает рисовать над текстурой, если не в фоне?
Немного не в тему - в движке есть функция получения скриншота сцены, работает оч. медленно по причине использования glReadPixels.
Аватара пользователя
BlackShark
новенький
 
Сообщения: 44
Зарегистрирован: 20.05.2019 12:52:15

Re: Black Shark Graphics Engine

Сообщение Alex2013 » 05.07.2019 23:09:39

Чего нет, того нет :roll:
Т.е. основная цель рисовать в битмап (ну кроме VR) - делать это в фоне, или я что-то не догнал??? Чем не устраивает рисовать над текстурой, если не в фоне?

Кроме ВиАр есть еще и ЭйАр (AR - Дополненная реальность ) и разные гибриды вроде "смешенной реальность" (MR) и расширенной реальность (ER,XR)... + на пример есть необходимость просто вставить "телеметрию" ,3Д-эффекты и элементы управления в видео поток .
Зы
Для быстрой обработки видео есть довольно много методов и библиотек но все они обычно совершенно несовместимы с 3д движками, а методика покадровой заливки видео высокого разрешения в текстуры: во первых тормозная сам по себе, во вторых каждый кадр обычно нужно попиксельно конвертировать например BGR в RGB , в третьих нет возможности постобработки (запросто решающей трудности с той же прозрачностью ) и наконец добавляют почти на 100% неизбежное "мыло" от сглаживания текстур .

А фоновый вывод на Битмап решает просто огромное множество проблем ( на пример нужен сложный крутящейся "живой "логотип в углу видео - при выводе на битмап можно сразу рендарить модель как спрайт на черном фоне в нужном разрешении )

Да, современные видеокарты и компьютеры вполне могут потянуть и 4к рендер с заливкой "видео текстуры" но только если комп больше ничего с видеопотоком не делает дополнительно . (Например не распознает образы или др-метки заменяя их моделями с пространственной привязкой к метке/образу и т.п. )
Немного не в тему - в движке есть функция получения скриншота сцены, работает оч. медленно по причине использования glReadPixels.

А вывод на Битмап тормозить в принципе не может ... Кроме того как уже писал можно рендерить модели в значительно меньшем разрешении но без явной потери качества результирующего кадра .
Последний раз редактировалось Alex2013 06.07.2019 17:02:17, всего редактировалось 1 раз.
Alex2013
долгожитель
 
Сообщения: 2922
Зарегистрирован: 03.04.2013 11:59:44

Re: Black Shark Graphics Engine

Сообщение BlackShark » 06.07.2019 12:57:09

Дошло, спасибо! )
Почитал про вывод видеопотока - никаких проблем с этим в OpenGL вроде бы нет, кроме раскадровки, разумеется. Делается это так же через текстуру и glTexSubImage2D. Насчёт замыливания картинки - во-первых, полноэкранное сглаживание можно и не включать, во-вторых, при инициализации текстуры её сглаживание так же можно отключить, т.е. если размер кадра будет меняться и соответственно выполнятся ресэмплинг - сглаживание точек методом ближайшего соседа, хотя, не факт что это лучше, нужно пробовать. Раскадровку можно сделать VLC плеером, вот пример: https://www.gamedev.ru/articles/OpenGL_VLC_GLFW
Есть смысл, наверное, подумать о псевдо-плеере в двиге (мысль в слух))
Аватара пользователя
BlackShark
новенький
 
Сообщения: 44
Зарегистрирован: 20.05.2019 12:52:15

Re: Black Shark Graphics Engine

Сообщение Alex2013 » 06.07.2019 17:41:20

Раскадровка как раз пока не проблема ... (Пока что читаю потолок с веб камеры (локальной или удаленной ) именно по кадрам ) В общем глянь на досуге еще одну мою постоянную тему на этом форуме Исследовательский проект "Цифровая оптика" .
(Опробовано довольно много но до конкретной реализации задуманного "Др-интерфейса" пока еще довольно далеко )
Исходники прилагаются + можно проследить всю "кухню" разработки .
Зы
В принципе перенаправить почти любой вывод OpenGL в битмап не проблема проблема хитростях реализации конкретного движка ( Вдруг он "передергивает" контекст или еще что ) + "видео текстура" обычно все же в разы больше стандартных и мипмаппинг и прочие ускоряющие фокусы там не обычно неприменимы + все это обычно по умолчанию должно иметь возможность масштабироваться на полный экран, что для несжатой текстуры достаточно медленная операция.
Вообщем мой опыт подкладывания фоном видео в форме текстуры был на порядок медленнее чем "перевернутый подход" (Рендарю модель в битмап на черный фон, а потом накладываю на кадр как 2д спрайт с "софтверной" прозрачностью + окончательно масштабирую тоже в 2д ) .
Alex2013
долгожитель
 
Сообщения: 2922
Зарегистрирован: 03.04.2013 11:59:44

Re: Black Shark Graphics Engine

Сообщение sts » 06.07.2019 22:51:23

bs.gui.scheme.controller.pas(1385,110) Error: Incompatible type for arg no. 1: Got "TVec2i64", expected "TVec2f"

как корректно победить?
компилю 2.0.2 под вин64

Добавлено спустя 4 минуты 29 секунд:
под вин32 на другом компе нормально скомпилилось

Добавлено спустя 13 минут 56 секунд:
смотрю код - както все адцки переусложнено

Добавлено спустя 37 минут 25 секунд:
захачил.
очень сильно тормозит
VGScene от KSDev 10летней давности минимум в 5 раз быстрее, на DBGride смотрел
sts
постоялец
 
Сообщения: 406
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

След.

Вернуться в Графика

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

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

Рейтинг@Mail.ru
cron