Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Fix the Vulkan Renderer #96
Recently I found out that someone implemented a vulkan based renderer for ioquake3 ( https://github.com/suijingfeng/vkQuake3 ). In addition someone made a post about it in the ioquake forums stating that they got it working on macos ( https://discourse.ioquake.org/t/first-shots-of-vkquake3-running-on-metal/1249 ). I did some research on the googles, and it does look like there is now foss support for running vulkan on macos 10.11 and above, so hypothetically we should be able to have a working vulkan based renderer on this engine for all of the platforms we are currently supported.
I figured that porting vkQuake3's vulkan renderer to this project would be relatively straight forward to do just to see what it's like. It was a bit less straightforward to do than I initially thought, especially due to this engine making use of C++, and vkQuake3 still being in C, but I did get it to a "somewhat working condition" with a static library build at least on Linux. The Dynamic Library build is broken (probably a makefile issue), a lot of the advanced features need to be implemented/enabled/fixed, and there are some obvious glitches/bugs I noticed on some of the maps I tried it on, but on the most part for at least many old trem maps, it does look better than even renderer2, and at least the fog is done better than the other renderers as well.
Once fixed up, it looks like this vulkan render has potential to be a better renderer than this engine's current renderer2, in terms of both visuals and hypothetically performance.
Others are welcome and encouraged to work on this, I don't know when I'll be getting back to work on this, but what I did so far with it is publicly available here, currently on the vulkan branch: