Skip to content

Rend2 SP#1179

Draft
SomaZ wants to merge 192 commits into
JACoders:masterfrom
SomaZ:rend2-unified-wip
Draft

Rend2 SP#1179
SomaZ wants to merge 192 commits into
JACoders:masterfrom
SomaZ:rend2-unified-wip

Conversation

@SomaZ

@SomaZ SomaZ commented Oct 8, 2023

Copy link
Copy Markdown
Member

So, this is basically a SP port of rend2. This also puts most of the rend2 code to the shared folder. I also started reducing the differences between SP and MP renderer APIs but I think I can do some more, so just a draft for now. This also needs testing.

Many thanks to @AntiAnti for doing the initial SP port and for the additions to the weather code.

@Razish Razish mentioned this pull request Oct 11, 2023
@xycaleth xycaleth mentioned this pull request Nov 12, 2023
SomaZ and others added 27 commits December 12, 2023 16:48
Theres a define in MP that clashes, so it was renamed in MP. Apply this to vanilla too.

Co-Authored-By: AntiAnti <17278566+antianti@users.noreply.github.com>
q_shared.h defines "int COM_GetCurrentParseLine( void )"

q_shared.cpp implemented "int COM_GetCurrentParseLine( int index )"

Fixed now, so function can actually be used.

Co-Authored-By: AntiAnti <17278566+antianti@users.noreply.github.com>
Adding mdr structs, one more texture compression algorithm, some zone tags, and SkipBracedSection function

Co-Authored-By: AntiAnti <17278566+antianti@users.noreply.github.com>
Cleaned up alot of noise. Code formating will happen in another commit.
All work based on: https://github.com/AntiAnti/OpenJK

Co-Authored-By: AntiAnti <17278566+antianti@users.noreply.github.com>
Chose the SP variant of this to get rid of the void pointer in the struct, so potentially less casting.
cg_showtris 1 shouldnt use depth culling. Had overseen this before.
The saber marks in SP use some additional scaling and there's some missing parts still.

Also fixed incorrect ifdeffed if else constructs.
Added working IsShaking

Co-Authored-By: AntiAnti <17278566+antianti@users.noreply.github.com>
Because there's a skyportal in this map, it always culled all the ui elements because they aren't sky surfaces.
when G2_PERFORMANCE_ANALYSIS
Compiles, haven't tested it though
You can now load yavin_swamp again.
SomaZ and others added 30 commits August 14, 2025 16:57
Also fixes sun flare rendering
It seems to be completely unused in SP though.
Theres some optimizations for the prepass to merge more surfaces which works fine for opaque shaders and remaps that are also opaque. When changing to transparent shaders those optimization didnt work properly as they didnt know about the remap. Remapping now happens when drawsurfaces are added and not when drawing of the surfaces starts.
with lightstyles and/or fog stages. Surfaces counted the number of surface sprites on shader read. The system might add light stages based on lightstyles and/or fog and might skip the last few stages depending on added stages. Need to check if there's actually memory leaking in this case or not. If so, vanilla is affected as well.
Sprites that are invisible because of the fade value, generate degenerate triangles to stop computing useless fragments.
Uses less vertex pipeline outputs and computes image aspect correction in vertex shader instead of fragment shader
The algorithm tries to make sure that one border sample is sampled at least
This time making sure it's not messing up. RT_BEAM code issues a drawcall, potentially using previously added entity surfaces in tess messing up the rendering pipeline. Issue was visable at the end of nar_starpad in JO.
It could happen that tr.defaultShader is set to be mergable which is a bad idea because tr.defaultShader is forced for the depth prepass.
…table (#67)

* [rend2] Fix gore buffer incorrectly using `glBufferSubData` when immutable

* [rend2] Unmap the gore buffer on shutdown when immutable

* [rend2] Missing preprocessor guards
* [rend2] Fix dissolve wipes

* [rend2] No flags for common dissolve
Don't shuffle lightmap and diffuse stage if the lightmap stage is dependent on the depth write of the first stage.
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