It is weird, but even when Vulkan has embraced the open source philosophy (open drivers, tools, etc), Im not seeing too much enthusiasm to adopt it in open source game engines. I have been following mostly Godot and Urho3D, yet Ogre3D and Irrlicht doesnt seems to be rushing to implement the new renderers.
It is worth to mention that Godot promissed they would delay the long needed refactoring of its 3D renderer until Vulkan release, but now they say they wont be using it, favoring GL ES 3 instead. The other engines seems to be dealing with lack of man power (Urho3D leader left the work on hands of community, as he is not working on Vulkan renderer right now) and base code designed for older APIs, specifically, DirectX 9. Lot of work is required to adapt this code base, not only for Vulkan, but for DirectX 12 too. Well, nobody said that developing a game engine was easy.
The advantages of Vulkan have been widely detailed. From engine point of view, it would centralize all renderers in only one, if you are willing to discard DirectX 12 and really obsolete hardware, thus reducing the work required to maintain and develop one renderer for each platform. Also, Vulkan would support not so old hardware that is not fully DX 12 compatible (I hope so). Anyway, discarding Microsoft's API is a decision not to be taken lightly.
Historically, open source engines have been slow to adopt new rendering APIs, but, discarding it in favor of an old one? That's a weird strategy. Letting volunteers develop the new renderer? Usually leads to code that never gets integrated into the main branch, or even gets lost, leading to duplicated efforts. Let's hope this trend changes in a near future.
It is worth to mention that Godot promissed they would delay the long needed refactoring of its 3D renderer until Vulkan release, but now they say they wont be using it, favoring GL ES 3 instead. The other engines seems to be dealing with lack of man power (Urho3D leader left the work on hands of community, as he is not working on Vulkan renderer right now) and base code designed for older APIs, specifically, DirectX 9. Lot of work is required to adapt this code base, not only for Vulkan, but for DirectX 12 too. Well, nobody said that developing a game engine was easy.
The advantages of Vulkan have been widely detailed. From engine point of view, it would centralize all renderers in only one, if you are willing to discard DirectX 12 and really obsolete hardware, thus reducing the work required to maintain and develop one renderer for each platform. Also, Vulkan would support not so old hardware that is not fully DX 12 compatible (I hope so). Anyway, discarding Microsoft's API is a decision not to be taken lightly.
Historically, open source engines have been slow to adopt new rendering APIs, but, discarding it in favor of an old one? That's a weird strategy. Letting volunteers develop the new renderer? Usually leads to code that never gets integrated into the main branch, or even gets lost, leading to duplicated efforts. Let's hope this trend changes in a near future.
Vulkan only gives a performance boost in certain specific types of rendering work, the type most games will not benefit from, but for those that do it will be wonderful, however this means that generic engines will be slow to implement it.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteRight, not every game benefits from Vulkan/Dx12 low overhead approach, probably just the gaphic intensive ones. But Id rather prefer that the engine offers support for it.
ReplyDelete