GZDoom 4.6.0 rendering of slope differs from UDB's rebdering

Need help running G/Q/ZDoom/ECWolf/Zandronum/3DGE? Did your computer break? Ask here.

Moderator: GZDoom Developers

GZDoom 4.6.0 rendering of slope differs from UDB's rebdering

Postby zdusr » Wed Jun 23, 2021 3:34 pm

Hi!

I am not sure if it is bug or intended behavior. If it is bug I would like to see it fixed. When creating 3D floor slope by 3 points such that 2 point are below floor and one point is above floor then zdoom 4.6.0 (and 4.5.0 too) hides floor entirely but still renders walls.

Problem can be seen on following screenshot:

And here is the wad file:
bug_1.wad


When I lower entire surrounding floor by 8 such that more of 3d sloped floor is visible then zdoom renders it correctly

And wad file:
bug_2.wad

As can be seen from screenshot, doom renders wall longer than floor.

It looks like there is certain threshold from where rendering goes buggy. This also means that if I first create 3D floor slopes that are entirely above the floor and then raise the floor so that those 3D slopes partially shrink then some of those 3D slopes will "disappear". As a map maker I expect that when I raise floor below 3D slopes then the tip of iceberg stays visible as long as there is something that is above surrounding floor height.

This Also causes unexpected visual glitches in larger projects:


Where I am not able to make upward spiral that comes out of floor.
Wad:
bug.zip
You do not have the required permissions to view the files attached to this post.
zdusr
 
Joined: 19 Mar 2021

Re: GZDoom 4.6.0 rendering of slope differs from UDB's rebde

Postby Graf Zahl » Wed Jun 23, 2021 3:44 pm

The engine cannot handle any kind of intersecting planes. You will always get undefined behavior with that.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: GZDoom 4.6.0 rendering of slope differs from UDB's rebde

Postby zdusr » Wed Jun 23, 2021 4:34 pm

But seems like UDB can handle these. Isn't it possible to copy that behavior from UDB?

Also this is not entirely true. If intersecting plane raises a little bit steeper then it renders well already (as bug_2.wad demonstrates). Since it correctly handles steep raising planes I dont see why it cant be coded to handle not so steep raising slopes as well.
zdusr
 
Joined: 19 Mar 2021

Re: GZDoom 4.6.0 rendering of slope differs from UDB's rebde

Postby SanyaWaffles » Wed Jun 23, 2021 5:43 pm

It's not. UDB is a level editor, GZDoom has a ton of moving parts at once.
User avatar
SanyaWaffles
Certified Heretic and Grill Champion
 
Joined: 25 Apr 2013
Location: Disappointment Island
Discord: SanyaWaffles#5095
Twitch ID: sanyawaffles
Operating System: Windows 11
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: GZDoom 4.6.0 rendering of slope differs from UDB's rebde

Postby Graf Zahl » Thu Jun 24, 2021 12:09 am

There's two reasons for this limitation:

1. To keep 3D floor checks in the playsim performant it is necessary to keep 3D floors strictly sorted by height. The sorting must be identical across the entire sector.
2. To render walls with 3D floors the same strict sorting is needed. Otherwise some costly plane splits had to be calculated.

Allowing 3D floors to intersect would seriously complicate their handling in the engine.
An editor does not need to concern itself with real time processing limitations.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany


Return to Technical Issues

Who is online

Users browsing this forum: drfrag and 0 guests