1
Feature requests / Vulkan Support
« on: February 18, 2016, 02:54:01 am »
I would have opened this discussion before posting the github issue if I had read the contribution guideline first. I apologize for not doing that.
Obviously this would be a pretty long term goal, but I think it's important to think about for the future.
I haven't read much of the Vulkan specification, but despite some of its structural differences, I haven't seen any reason SFML's current public API couldn't wrap it well. Perhaps there would be a need to add some namespacing to seperate OpenGL and Vulkan details. Parts of the API like
How SFML would theoretically support rendering in Vulkan in the public API I feel could be taken in two obvious approaches. ( And some others I haven't thought of I'm sure)
The first approach could be two different versions of SFML being developed(vGL and vVulkan), and users choosing which one they want to use. Personally I wouldn't go with this approach, but I wouldn't know better than the team.
The second approach could take after Irrlicht. In the public API, somehow the user could have to specify whether they wish to render using OpenGL or Vulkan. Some sort of render device selection.
It might be wise to let Vulkan gain a little maturity before seriously considering this, but I feel it's not to early to discuss.
Obviously this would be a pretty long term goal, but I think it's important to think about for the future.
I haven't read much of the Vulkan specification, but despite some of its structural differences, I haven't seen any reason SFML's current public API couldn't wrap it well. Perhaps there would be a need to add some namespacing to seperate OpenGL and Vulkan details. Parts of the API like
sf::Texture::bind
that edge closer to more direct OpenGL control might need to be reconsidered if adding Vulkan, just a thought. How SFML would theoretically support rendering in Vulkan in the public API I feel could be taken in two obvious approaches. ( And some others I haven't thought of I'm sure)
The first approach could be two different versions of SFML being developed(vGL and vVulkan), and users choosing which one they want to use. Personally I wouldn't go with this approach, but I wouldn't know better than the team.
The second approach could take after Irrlicht. In the public API, somehow the user could have to specify whether they wish to render using OpenGL or Vulkan. Some sort of render device selection.
It might be wise to let Vulkan gain a little maturity before seriously considering this, but I feel it's not to early to discuss.