для рендера?
Типа, можно на виртуальных интерфейсах: class IGraphicsBackend { ... }; class DX11Backend : public IGraphicsBackend { ... }; class VulkanBackend : public IGraphicsBackend { ... }; class OpenGLBackend : public IGraphicsBackend { ... };
А какие апи собираешься поддерживать?
Ой, понятно. Страдать.
DX9, DX11, OpenGL уже есть, Vulkan хочется, но чего хочется больше - прибраться в рендере...
Проблема в том, что первые три - контекстные апи, а последнее - девайс и комманд буферы. Они крайне плохо сочетаются на уровне абстракций
DX11 не совсем контекстный же ж он скорее смешанный
Те же яйца, у тебя просто больше контекстов :)
я эмулирую коммандбуферы на контекстных апи
а разве можно по-другому?
Ну, тоже можно разрулить
ээ, опенискрей!
Можно даже попробовать абстрагировать фреймграф
Обсуждают сегодня