#218 Translucency not working?

open
nobody
OpenGL (42)
5
2013-07-09
2012-12-05
Fabian Greffrath
No

Hi,

I believe there are some issues with translucency in the OpenGL renderer. No matter what I set for "Translucency Filter Percentage", e.g. the Imps' fireballs always appear solid. It looks somehow better when I switch back to software rendering. I experienced this in both Windows 7 and Debian Linux.

- Fabian

Discussion

  • Andrey Budko
    Andrey Budko
    2012-12-05

    That is because of lack of global sorting of transparent sprites and walls simultaneously

     
  • It works in plain prboom/glboom.

     
  • Andrey Budko
    Andrey Budko
    2012-12-09

    That's because you will not see fireballs behind transparent walls in glboom sometimes

     
  • So, is this feature disabled by default in prboom+? And if yes, why is the menu entry to select it still there, then?

     
  • s/by default/on purpose/ in my previous message. It's still early in the morning, sorry!

     
  • Sorry I did not make myself very clear in my previous comments.

    > That's because you will not see fireballs behind transparent walls in
    > glboom sometimes

    So does this mean that translucency is disabled on purpose in prboom+ to avoid rendering errors in the situations you mentioned (fireballs behind transparent walls)? If yes, why is there still an option to enable it in the menu, then?

     
  • Blondie
    Blondie
    2013-07-09

    Boom's translucent things (imp fireballs, plasma, teleporters, etc.) are permanently disabled at all complevels in OpenGL mode because GLBoom cannot sort sprites and walls at the same time. To see this effect in action, go to 1024CLAU.WAD MAP03 and enable "smooth sprite edges" in the GLBoom-Plus settings menu. The imp behind the transparent wall will appear and disappear as you toggle the setting. Software mode does not have this issue, so it still has translucent things enabled at the appropriate complevels.

    For your convenience, I've uploaded two dehacked patches that will allow you to force translucent things on or off at all complevels in both GL and Software modes. Just enter the path of wherever you choose to store them into PrBoom's auto-loaded .deh files, and you're good to go. Do keep in mind, however, that any translucent thing rendered behind a translucent wall will not be visible in OpenGL.

    (I take no credit for these patches. Grazza at Doomworld created both. I merely copied, pasted, and saved them with notepad.)

     
    Attachments
  • Thanks for the detailed explanation and for the patches!

    because GLBoom cannot sort sprites and walls at the same time.

    And there isn't anything that can be done about it?

     
  • Blondie
    Blondie
    2013-07-09

    You'll have to ask Andrey for the specifics. I reported the "smooth sprite edges" bug years ago to confirm if it was another manifestation of the sorting issue, and indeed it was. I also requested a config variable years ago to toggle GL sprite translucency, but it was never implemented. Doesn't matter, though, because those dehacked patches work just as well.

    Pr/GLBoom has lots of wonky bugs that have never been fixed, either due to compatibility issues or complications in the engine itself. The "power-up cheats are not infinite duration" compatibility switch is still broken at all complevels, for instance.