Skip to content

Implement Vulkan renderer - #116

Open
JKSunny wants to merge 194 commits into
eternalcodes:masterfrom
JKSunny:master
Open

JKSunny wants to merge 194 commits into
eternalcodes:masterfrom
JKSunny:master

Conversation

@JKSunny

@JKSunny JKSunny commented Jul 26, 2022 •

Copy link
Copy Markdown

Vulkan renderer for Jedi Academy, changes outside of rd-vulkan are minimal.

NOTE - updated libs and x64 support has been added : 11-07-2024

JKSunny and others added 30 commits May 25, 2021 17:34
Reverted  image loader to vanilla, to maintain compatability.
And pointer asterisk repositioning
Pointer asterisk repositioning and spacing for readability
Make use of vanilla glConfig.maxActiveTextures instead. To preserve compatibility
Forgot to include in previous linux compiler fix commit
- Fixed cg_shadows 2
- Show correct device info using /gfxinfo
- Added /vkinfo which shows Vulkan stats
- Slightly reworked vulkan SDL
- Some code refactoring
And commented out OpenGL from CmakeList
And re-implement r_textureMode with some refactoring.
And set clear-color to vanilla clear-color used on t2_trip
r_drawfog 2 broke and sun was showing artifacts like color & wrong alpha settings because of newly introducted RF_ flags to fix entity wall clipping.

Also USE_BUFFER_CLEAR did not clear to the correct color having MSAA enabled.
…certain surfaces

Also, prevent crash when splash-screen texture is missing.
JKSunny added 29 commits May 3, 2026 15:55
This binary is auto-generated during shader compilation
- Implementing image scratch and pool.
- Porting over the CacheManager in tr_cache.cpp/h from Rend2.(https://github.com/JACoders/OpenJK/commits/master/codemp/rd-rend2/tr_cache.cpp)
- Revert gore void *alternateTex to float* and introduce dedicated goreVBO ptr instead of shared.
- This is part of larger refactor, stablity is not guaranteed.
…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.

2 participants