Почему OpenGL поддерживается гораздо большим спектром железа, чем Vulkan?
Находя советы и ответы по данному вопросу от новичков, коим и являюсь я - что же начинать изучать OpenGL или Vulkan, в большинстве случаев общий ответ бывает такой, что:
OpenGL портирован и работает сейчас даже грубо говоря на чайнике, а Vulkan это новая спецификация и много, чем еще не поддерживается.
И вроде все так и есть, но у меня вопрос, а почему так? Просто потому что Vulkan новый и разработчики "чайников" еще не написали драйвера под Vulkan?
Ведь теоретически для разработчиков вроде бы чуть ли не на условный порядок проще написать драйвер для Vulkan, чем для OpenGL. Или это не так?
Или может быть, что спецификация Vulkan не подходит для старых, устаревших "чайников" и видеокарт и поэтому Vulkan там никогда не сможет работать?
Ответы (1 шт):
Vulkan одновременно и на порядок сложнее в реализации и потенциально на порядок требовательнее к возможностям железа. Причем он разросся не только в глубь (например предлагает вычислительные шейдеры и средства для трассировки лучей), но и в ширину (например туда запихнули и создание swap chains и работу с форматом SPIR‐V). А всякие упрощения, существовавшие в OpengGL со старых времен, прежде всего fixed-function pipeline, в нем отсутствуют. В то время как например в редакции ES OpenGL предназначен для самых простых устройств с минимумом возможностей.