ПрограммированиеФорумГрафика

Diligent Engine - современная кросс-платформенная низкоуровневая графическая библиотека (31 стр)

Страницы: 128 29 30 31 32 33 Следующая »
#450
9:58, 9 июня 2021

А, и G-буфер тоже получается, то что до освещения делается.

#451
10:50, 9 июня 2021

betauser
Да, можно командные буферы для частей фрейма записать паралелльно в разных потоках, а потом отправить на исполнение в нужном порядке. Фрейм граф позволяет это автоматизировать - приложение задает, что нужно сделать (например, нарисовать каскады, g-буфер и т.п.), входы/выходы для каждой задачи и всякие параметры, а фрейм граф сам распределяет их по потокам.

#452
11:46, 9 июня 2021

betauser
> Это основные продающие критерии при сравнении.
Метал за деньги не мешает?

#453
12:46, 9 июня 2021

GLoom
> > Это основные продающие критерии при сравнении.
> Метал за деньги не мешает?
"продающие критерии" это мысль про "причины выбора". Не финансист, мнение такое, что на коммерческие/закрытые платформы почему бы и не продавать. При выборе лучше сразу знать что по чем, "please contact us for details." - скорее всего не получится осилить связаться узнать, проще искать дальше.

Еще, наверное, можно продавать дополнительные сильно продвинутые фичи, виджеты потому что цельно, как часть чего-то большего.

#454
14:01, 9 июня 2021

betauser помню когда то у вас движок был на Ogre3D. Почему отказались от него?

#455
14:12, 9 июня 2021

betauser
> betauser помню когда то у вас движок был на Ogre3D. Почему отказались от него?
По причинам выбора, например, из-за отсутствия мультипоточности. Ну, Ogre3D он уже не развивается, архитектурно он для тех еще старых GPU. Мы его перелопалили постепенно, в новом движке перешли на Bgfx. У Bgfx тоже есть нюансы, например, сейчас нет множества потоков, которые как понял есть в Diligent. Рей-трейсинга тоже еще нет.

#456
22:00, 13 июня 2021

assiduous

Выглядит интересно. Однако удивило, что не поддерживается многооконность (несколько swapchain) для OpenGL-устройства. Наличие многооконности для меня является решающим фактором.
Есть ли какой-нибудь workaround?

Позапускал в релизе примеры. В большинстве из них DX11 выдавал больший fps, чем другие бэкэнды.

#457
1:53, 14 июня 2021

> Однако удивило, что не поддерживается многооконность (несколько swapchain) для OpenGL-устройства
Почему OpenGL является объектом интереса, когда Diligent поддерживает 4 нормальных низкоуровенвых API? Мы поддерживаем OpenGL исключительно ради OpenGLES3.0 на очень старых Андроидах и для WebGL. В остальных случаях смысла использовать OpenGL нет никакого.

> В большинстве из них DX11 выдавал больший fps, чем другие бэкэнды.
Большинство примеров очень простые, и преимущества DX12/Вулкана негде применить. Кроме того, DX11 создает скрытый поток в котором происходит запись команд. В DX12 и Вулкане запись команд происходит непосредственно в том же потоке, что будет несколько медленнее.

Астероиды - пример, который демонстрирует преимущества ДХ12 в bindless режиме и многопоточной записи.

#458
4:31, 14 июня 2021

assiduous
> Почему OpenGL является объектом интереса, когда Diligent поддерживает 4
> нормальных низкоуровенвых API? Мы поддерживаем OpenGL исключительно ради
> OpenGLES3.0 на очень старых Андроидах и для WebGL. В остальных случаях смысла
> использовать OpenGL нет никакого.

OpenGL все еще необходим для совместимости с видеокартами предыдущего поколения.
Если например на винде можно обойтись DX11, то в Linux GL-ю альтернативы нет.

#459
6:53, 14 июня 2021

0xc0de
Почему нельзя обновить Линукс до версии, поддерживающей Вулкан?

В любом случае, инициализация GL контекста на Линуксе требует хэндла окна - создать своп чейн отдельно от контекста нельзя.

#460
10:23, 14 июня 2021

assiduous
> Почему нельзя обновить Линукс до версии, поддерживающей Вулкан?

Не все видеокарты поддерживают вулкан. Например для видеокарт с архитектурой fermi нет драйверов с поддержкой вулкана, но, тем не менее, есть драйвера, которые держат opengl аж версии 4.6.

assiduous
> создать своп чейн отдельно от контекста нельзя
Один свопчейн на контекст было бы достаточно + расшарить контексты, чтобы были доступны ресурсы во всех контекстах. Ресурсы, которые расшарить нельзя (vao, framebuffer) - при необходимости скрыто дублировать внутри api.

#461
12:25, 14 июня 2021

0xc0de
> Не все видеокарты поддерживают вулкан. Например для видеокарт с архитектурой
> fermi нет драйверов с поддержкой вулкана, но, тем не менее, есть драйвера,
> которые держат opengl аж версии 4.6.
Тогда пусть горят в аду с этим OpenGL старьём :)

#462
19:57, 14 июня 2021

0xc0de
> Один свопчейн на контекст было бы достаточно + расшарить контексты, чтобы были доступны ресурсы во всех контекстах. Ресурсы, которые расшарить нельзя (vao, framebuffer) - при необходимости скрыто дублировать внутри api.

На Линуксе инициализация контекста (во всяком случае в xlib) возможна только одновременно с созданием окна. Приаттачить новый контекст к окну - я не знаю как. Кроме того, каждый контекст имеет свой глобальный стейт и только один контекст может быть активен в потоке. Поэтому как рендерить в разные окна из одного потока без дублирования всех команд - я тоже не знаю. В итоге, сделать реализацию многооконности (как и многопоточности) в OpenGL можно только через нагромождение хаков - поэтому ни того ни другого нет.

#463
11:24, 17 июня 2021

0xc0de
> Например для видеокарт с архитектурой fermi нет драйверов с поддержкой вулкана
забавно - ведь dx12 там есть?

#464
11:30, 17 июня 2021

innuendo
> забавно - ведь dx12 там есть?
Я столкнулся на своем старом ноуте, с radeon HD 6800M. 12й дайрект есть, а вулкана - нет.

Страницы: 128 29 30 31 32 33 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.