Closed cormac-obrien closed 6 years ago
What about https://github.com/gfx-rs/gfx ?
I'm currently looking into gfx
and might end up using it since it targets a wider range of low-level APIs. Unfortunately the documentation is a bit sparse but that's no different from Vulkano or any of the other high-level Rust graphics APIs.
We're glad to hear that, @cormac-obrien!
The documentation is a bit sparse indeed, but there're a lot of examples and we're always ready to answer any question asked in our gitter room. Moreover there're some examples of gfx usage in games and game engines (major ones are Amethyst
and Three-rs
projects).
Friendly advice: you need to look at v0.16
branch in the repository for stable version, we've had a lot of issues related to using of invalid branch (now it's noted in readme though, so just in case...)
One thing that complicates this slightly is that BSP vertices are stores in triangle-fan format (since this is how the polygons were originally rendered by the software renderer), and it appears gfx
dropped support for triangle fans a while back.
This means vertices will have to be converted to triangle list format, but that shouldn't be a huge deal considering the low poly count of Quake 1 maps. Probably for the best considering triangle fans aren't supported by DX (if I'm not mistaken).
Now that animated BSP textures are implemented I'm feeling good about keeping gfx
as the graphics backend. Closing this issue, thanks to @ozkriff for the suggestion and @vitvakatu for the help!
Tomaka has officially dropped support for Glium, which means we need a new graphics backend. Vulkano looks the most promising, despite being a switch from OpenGL to Vulkan.