Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move to Vulkan #6

Open
Mirsario opened this issue Sep 3, 2021 · 0 comments
Open

Move to Vulkan #6

Mirsario opened this issue Sep 3, 2021 · 0 comments
Labels
enhancement New feature or request far in future A lot of work, and/or won't happen any time soon.

Comments

@Mirsario
Copy link
Owner

Mirsario commented Sep 3, 2021

There are quite many unsatisfactory points about continued use of OpenGL, especially for a cross-platform engine:

  • OpenGL drivers are generally quite buggy and differ in behavior between driver vendors, with some drivers having breakages, and some drivers having things that shouldn't be working in reality work quite flawlessly, creating a ton of "it works on my machine" scenarios. OpenGL also runs quite poorly on AMD Windows drivers, since, from what I heard, they just made that driver wrap over DirectX's.
    Meanwhile, Vulkan doesn't even leave that much work to the drivers for the drivers to be able to fail as hard.
  • Apple has ceased OpenGL driver development, leaving Mac with already super outdated OpenGL 4.1, that too will disappear in the future. Screw Apple. Because of this, developers can't make use of Compute Shaders (required for implementation of Forward+ rendering pipeline), SPIR-V shader pre-compilation (lets people avoid a ton of GLSL-related driver bugs), and many other features.
    Meanwhile, Vulkan can run on Mac in pretty much full capacity using opens-source MoltenVK project. The OpenGL alternative, MoltenGL, is 100% proprietary.
  • OpenGL is an overly simplified graphics API with a ton of limitations. I would like to look into the possibility of making the engine not have a main thread, but that is counter-productive with OpenGL.
    Meanwhile, this is fully achievable on Vulkan, as proven by idTech 7 (DOOM Eternal.) And they don't even have to deal with binding textures!
@Mirsario Mirsario added enhancement New feature or request far in future A lot of work, and/or won't happen any time soon. labels Sep 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request far in future A lot of work, and/or won't happen any time soon.
Projects
None yet
Development

No branches or pull requests

1 participant