-
Notifications
You must be signed in to change notification settings - Fork 19
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
r_vbo breaks lightmap drawing with r_lightmap #79
Comments
The "weirdness" seems to be the detail part of the shader |
At the moment I'm not sure if I've derped in the port or if this also affects Quake3e. |
Seems to work fine on q3e/oDFe, both OpenGL and Vulkan. |
Maybe @ec- has some ideas where we can look. As I said above, not sure if this is because of external lightmaps or something entirely different. |
I can test tomorrow in ET with a map I know for a fact that uses internal lightmaps. Did not check if dfwc2012-3 used internal or extlmhack |
Is that map also available in Q3 to check there |
Snatch 3? No, but the reason I brought that up is that it's one of the few ET maps that uses internal lightmaps, which is the standard for most (especially older) Q3 maps, which also have this problem, therefore I doubt it's got anything to do with internal/external lightmaps. |
\r_lightmap is a debug feature which:
Personally I wouldn't bother making code more complex so just disable \r_vbo if you need \r_lightmap for some reason, for now |
I did find that this code block, https://github.com/etfdevs/ETe/blob/master/src/renderer/tr_shade.c#L1237-L1245 Does not have VBO equivalent but I tried implementing as the following it and it made no visual difference. if ( r_lightmap->integer && ( pStage->bundle[0].isLightmap || pStage->bundle[1].isLightmap ) ) {
stateBits &= ~(GLS_SRCBLEND_BITS | GLS_DSTBLEND_BITS);
stateBits |= (GLS_SRCBLEND_ONE | GLS_DSTBLEND_ZERO);
} Another note, I guess I might want to check the fading code above the r_lightmap block too as I do not know if that is implemented either. 😅 But do not know what effects make use of it to verify broken-ness. |
r_vbo 0; r_lightmap 1
r_vbo 1; r_lightmap 1
r_vbo 0; r_lightmap 1
(Oasis is compiled with-approx
so some surfaces are expected to not have lightmap)r_vbo 1; r_lightmap 1
Looking closer at the surfaces with vbo + lightmap, there is some weirdness with blending going on
And as a bonus:
r_detailtextures 0; r_vbo 1; r_lightmap 1
is completely borked, with only very few surfaces being lightmapped (the canopys in this scene)The text was updated successfully, but these errors were encountered: