FWGS / xash3d-fwgs

Xash3D FWGS engine.
1.52k stars 228 forks source link

kRenderFxGlowShell rendering incorrectly #1662

Closed Hedgefog closed 4 months ago

Hedgefog commented 5 months ago

Entities with kRenderFxGlowShell effect render as transparent

image

It also has an issue related to color, if the entity has kRenderFxGlowShell render effect and rendercolor set to {0, 0, 0} rendered glow shell will be white.

nekonomicon commented 5 months ago

All good, but can you provide info on which mods it may be tested and show screenshot how it look under GoldSource?

Hedgefog commented 5 months ago

All good, but can you provide info on which mods it may be tested and show screenshot how it look under GoldSource?

It shouldn't be transparent. The entity has has kRenderNormal rendermode.

Here is GoldSrc screenshot: 20240419044040_1

The mod I have issue with: https://github.com/Hedgefog/cs-halloween-mod

Xash: image

GoldSrc: image

a1batross commented 5 months ago

I see some weird ordering problem on screenshot above.

It's like the green bridge gets drawn on top of skeleton with glowshell effect.

Hedgefog commented 5 months ago

I see some weird ordering problem on screenshot above.

It's like the green bridge gets drawn on top of skeleton with glowshell effect.

I've tested the engine with other maps and mods and it looks like the depth buffer is broken not only for glowshell entities. Any transparent entities behind may be visible through the other entities even if these entities have no transparency or render mode.

image image

some func_breacable entities became transparent after a while for no reason. Maybe depends on vis zones.

image image image image

a1batross commented 5 months ago

What's the value of gl_vbo and which renderer do you use?

Hedgefog commented 5 months ago

What's the value of gl_vbo and which renderer do you use?

I tried with a different renderer, it has the same issue with the phone and PC. I used the default gl_vbo value which equals 0. I've also tried enabling gl_vbo and breakables are still transparent but a has bit different rendering:

gl_vbo 0

gl_vbo 0

gl_vbo 1

gl_vbo 1