А какие есть способы организовывать архитектуру движка с несколькими RHI

для рендера?

13 ответов

21 просмотр

Типа, можно на виртуальных интерфейсах: class IGraphicsBackend { ... }; class DX11Backend : public IGraphicsBackend { ... }; class VulkanBackend : public IGraphicsBackend { ... }; class OpenGLBackend : public IGraphicsBackend { ... };

А какие апи собираешься поддерживать?

Mikhail
А какие апи собираешься поддерживать?

DX9, DX11, OpenGL уже есть, Vulkan хочется, но чего хочется больше - прибраться в рендере...

Император Султан I Лучезарный
DX9, DX11, OpenGL уже есть, Vulkan хочется, но чег...

Проблема в том, что первые три - контекстные апи, а последнее - девайс и комманд буферы. Они крайне плохо сочетаются на уровне абстракций

Mikhail
Проблема в том, что первые три - контекстные апи, ...

DX11 не совсем контекстный же ж он скорее смешанный

usernameak
DX11 не совсем контекстный же ж он скорее смешанны...

Те же яйца, у тебя просто больше контекстов :)

Mikhail
Те же яйца, у тебя просто больше контекстов :)

я эмулирую коммандбуферы на контекстных апи

usernameak
иксрей, ээ?

ээ, опенискрей!

Император Султан I Лучезарный
Ну, тоже можно разрулить

Можно даже попробовать абстрагировать фреймграф

Похожие вопросы

Обсуждают сегодня

Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Всем привет. Хотел бы написать для себя свою ос. Причины: 1) нужен опыт в чем-то 2) будет меньше весить 3) свое, но там будут свои задумки Я понимаю что нужно писать для всег...
Shadow Akira
18
Всем привет! Скажите, никто не пытался уменьшить размер процесса ssl, которые ассоциируется с открытым соединением (не помню точное название этого процесса, но там была какая-...
Алексей
20
5? да там все 10
Boris Vinogradov
12
что такое erg?
Maksim Lapshin
2
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Why would I rent an account if it’s not mine?
Snr Engineer
3
У меня вопрос: для разработки современных (не учебных) ОС, лучше использовать уже имеющиеся архитектурные решения или нужно будет разрабатывать что-то принципиально новое?
Alexander
5
Всем привет. Запускаю snmp_server вызовом snmp:start() и получаю вот это: {bad_return, {{snmp_app,start,[normal,[]]}, {'EXIT', {{badmatch, {error, {{shutdown, {failed_to_sta...
Δημήτηρ
9
Карта сайта