floooh / sokol

minimal cross-platform standalone C headers
https://floooh.github.io/sokol-html5
zlib License
7.05k stars 494 forks source link

Feature parity with NVN for higher collab potential? #336

Open ylluminate opened 4 years ago

ylluminate commented 4 years ago

Projects like Yuzu require feature parity with Nvidia's NVN. Apparently Vulkan can do this. What are the possibilities of implementing something along these lines (realizing that Vulkan is not a priority atm)? I was thinking along the lines of if we could get projects that demand this kind of functionality to use sokol then it might really bolster usage and collaboration with higher end projects that desire a unified API for a win-win scenario.

floooh commented 4 years ago

Without knowing what the NVN API looks like it's hard to have an opinion about this ;) If it exposes modern features like Vulkan then it might be better to create a different API wrapper which can completely focus on modern 3D API features (more like WebGPU basically, which sits on top of Vulkan, D3D12 and Metal).

Stretching an API from GLES2/WebGL on the low-end up to Vulkan on the high-end seems like a tricky problem to tackle (if sokol-gfx gets a Vulkan backend, it would still expose the same GLES2-compatible feature set as now, so a Vulkan backend would only make sense on platforms where GL support is either very bad to begin with, or is starting to rot).