VK9 - Milestone17 Completed

VK9 has reached it's 17th milestone. Reaching this milestone required implementation of depth bias support. In addition the shaders have been re-structured using includes which were introduced in the previous release by switching to glslc. This release also contains full screen support. Special thanks to my patrons over on Patreon you guys are great.

VK9 - Now on Patreon

Several people have asked about Patreon or some other way to support the project. As of today I am now on Patreon. I've created a couple perks for Patreon supporters. There are two levels "Supporters" and "Premium Supporters" both receive a role on the community Discord for their level and the premium supporters gain access to a private channel. The source and release builds will still remain available to everyone but Premium Supporters will gain access to early builds and demos.

VK9 - Community Benchmark

A member of the community who goes by "Syntist" ran some benchmarks comparing the latest VK9 build to native Direct 3D 9. The results show very competitive average and minimum frame rates. Development effort has been primarily focused on feature parity so it's encouraging to see results this close on real hardware. Dx9 and Vk9 Comparison

VK9 - Milestone16 Completed

VK9 has reached it's 14th,15th, and 16th milestones. Reaching these milestones required further work on alpha blending and lighting support for fixed function. In addition this release switched to the glslc shader compiler from Google. The primary reason for the switch is the addition of #include support in shaders. This will allow some shader code for fixed function to be deduplicated.

VK9 - Milestone13 Completed

VK9 has reached it's 12th and 13th milestones. Reaching these milestones required the addition of limited lighting support and significant improvements to the texture stage support. The variables used for texture stages are now handled with specialization constants. What this means is that although they exist in the SPIR-V they should be optimized away when the SPIR-V is compiled into GPU instructions. This approach means that the GPU should only be running relevant code for fixed function. As part of initial lighting support both the light structures and material structure are available to the shaders being used to handle fixed function.

VK9 - Progress Update

It's been over a month since my last blog post. As those of you on the VKx Discord server are aware the current milestone involves texture stages, lights, and materials. Because of the breadth of features needed to support this sample it's taking longer to complete. However, rest assured work is still underway and I expect another milestone either late this month or early next month.

VK9 - Milestone11 Completed

VK9 has reached it's 10th & 11th milestones. The primary features added to support these milestones were improvements to mipmapping & texture support. This release also includes a good number of performance improvements. The transformation matrices are now multiplied together before passing to the shader so they can fit into a push constant. The switch away from a buffer to a push constant for the transformation matrices caused a very noticeable performance improvement. For math glm has been replaced with eigen which improves the performance of matrix multiplication. In addition vectors and maps were replaced with small size optimized vectors and flat maps respectively which in my testing resulted in a performance improvement. Other smaller optimizations have been applied as well.