Skip to content

Implement Vulkan renderer - #1330

Open
JKSunny wants to merge 78 commits into
JACoders:masterfrom
JKSunny:openjk-dev
Open

JKSunny wants to merge 78 commits into
JACoders:masterfrom
JKSunny:openjk-dev

Conversation

@JKSunny

@JKSunny JKSunny commented May 9, 2026 •

Copy link
Copy Markdown

Vulkans landing page with info: https://jksunny.github.io/

JKSunny and others added 30 commits June 22, 2022 14:48
draw the fog color.

Keeps visuals similar to vanilla in edge cases where fog would be shown instead of the void.

Co-Authored-By: Spaghetti <15520009+Spaghetti657@users.noreply.github.com>
…hader

Co-Authored-By: Spaghetti <15520009+Spaghetti657@users.noreply.github.com>
- Flares (ex map. t2_dpred) are clipping through walls at greater distances.

Also flare fade out is clipping and looks wrong, merge with rend2 disabled method.
https://github.com/SomaZ/OpenJK/blob/323f230523b9bf14b41fff14f6018299cb3898c5/codemp/rd-rend2/tr_flares.cpp#L294
Vulkan: fix screenmap image layout transitions (9f28557)
Vulkan: do not set transient flag for depth/stencil attachment when bloom (and thus - post-bloom pass) is enabled (bda5b5a)
Vulkan: Add debug utills with define guards (82ffb3c)
Vulkan: added descriptor index definitions (fdf7bfb)
JKSunny added 29 commits May 28, 2026 18:35
…m Rend2 #62

- Do not batch surfaces spanning diffrent reTypes in RB_RenderDrawSurfList()
- Merged changes by SomaZ, do not overwrite 'entityMergable' shader value but store current state in tess shadercommands. taysta@992eb52#diff-8d379edf76d65f2198059242c67b4ab9a694ce8f5d5c35027abcc32335bcf9c0
- Remove fixed-size bone UBO staging buffer and upload bone matrices directly into the uniform buffer.
- Allocate only teh required bone matrix size per model by avoiding extra CPU-side memcpy operations.
- Consider switching to SSBO + staging in the future, but I do not expect much performance gain
- Add a shared header for descriptor set and binding definitions.
- Prepare for sharing constants between the renderer and GLSL shaders.
- Reduce duplication and help keep C and GLSL bindings in sync.
- Remove duplicate structure definitions from individual shaders.
- Keep C and GLSL structures synchronized from a single source.
- Add VK_POSTFX_PIPELINE_* defines that replace numeric magic indices in vk_pipelines:vk_create_post_process_pipeline()
…#3

BE-Arbiter/OpenJK-SWGL@0216305
Was usful getting a general idea to find a suitable temp fix.
- A proper final solution would be uploading tess.vertexColors
- NEED to check this carefully with changes to stage collapsing for compat.

- The mentioned commit itself sadly introduces double diffuse lighting.
1. In the vertex shader using u_ModelLightDir
2. In the fragment shader using L/u_entity.localLightOrigin (the existing shading path)
Making models appear overly dark
- Removed dedicated refraction framebuffer, renderpass and pipelines are compatible with main frambbuffers
- force g2 ptr revalidation for non-pure cache dumps and level-load-end calls.
- I'm not sure these are required since the framecounter is incremented too, also forcing revalidation, adding this as failsafe.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Will there be official support for Vulkan based on this fork?

3 participants