Feature Request/Idea: VULKAN support in engine

Started by Hobbes, Sat 17/07/2021 04:32:30

Previous topic - Next topic

Hobbes

Me again. With a crazy idea. Again.  :)

I'm absolutely in the dark as to how feasible this is, but would it be possible to build VULKAN support into the engine? It would eventually allow us to move away from DirectX9 (which is losing support and has been losing support for the past few years). On my AMD graphics cards, VULKAN performs much better than OpenGL and it also allows for some funky potential future features. Not that I think AMD FidelityFX Super Resolution should be anywhere near of a top priority! (I joke here, obviously)

The reasoning is that VULKAN is better supported on AMD than OpenGL & DirectX9, so it means a performance improvement (most likely) on the more graphically intensive games. Now that we see games branching into 720p+ resolutions, I think it's feasible to consider this.

Alternatively, as mentioned before, with MoltenVK there's then also the option to move towards native future-proof MacOS/iOS/tvOS development. For current alternative platforms (Nintendo Switch) I also think Vulkan holds more merit than OpenGL.

I would then recommend we keep DirectX9 as a legacy-supported feature (it'll go eventually), with focus shifting to OpenGL & Vulkan.

Does this idea have merit?

Hobbes

I think I answered my own question here: SDL2 has a Metal renderer.

So with SDL2 coming into AGS, we would have full support for OpenGL, Metal & DirectX. Which is great. So never mind me. :-)

Crimson Wizard

Quote from: Hobbes on Mon 26/07/2021 07:52:27
So with SDL2 coming into AGS, we would have full support for OpenGL, Metal & DirectX.

Current SDL2 renderer which we have is a "software" renderer, which draws everything in raw bitmaps first, and then converts to a single texture for a final rendering on screen. The final rendering may be performed with one of the multiple methods you listed above.

This method has numerous missing features, such as no support for "sprites renderered at screen resolution", no fast scaling and rotation of indivudual sprites, no potential to add individual shaders to sprites, and so on (this is what current Direct3D9 and OpenGL renderers have).

For the above to work we would need to either write second SDL2 renderer that works like that, or write separate renderers for modern DirectX, Vulcan and whatnot.

SMF spam blocked by CleanTalk