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

Fix the Vulkan Renderer #96

Open
dGr8LookinSparky opened this issue Mar 29, 2019 · 0 comments

Comments

Projects
None yet
1 participant
@dGr8LookinSparky
Copy link
Member

commented Mar 29, 2019

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:

https://github.com/GrangerHub/tremulous/commits/vulkan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.