GZDoom 3.7.2 modern vs Zandronum 3.0

If it's not ZDoom, it goes here.
Darkcrafter
Posts: 508
Joined: Sat Sep 23, 2017 8:42 am
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Optimization idea

Post by Darkcrafter »

I'm wondering if it's possible to add such a feature to GZDoom like "3D floors based 1-sided lines". "3D floos based" because 3D floors contain information about floor and ceiling values and these can be used to activate/deactivate "voidness". In activated case. e.g. when player's frustrum intersects this 3d floor it would act exactly like a void sector, let it even block it in infinitely tall fashion but as soon as player's frustrum would go lower below or upper above this sector it wouldn't block anymore.
Rachael
Admin
Posts: 12855
Joined: Tue Jan 13, 2004 1:31 pm
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle

Re: GZDoom 3.7.2 modern vs Zandronum 3.0

Post by Rachael »

What do you need this for, that you can't simply use 1-sided lines and/or a closed "door" sector to accomplish this?
Darkcrafter
Posts: 508
Joined: Sat Sep 23, 2017 8:42 am
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: GZDoom 3.7.2 modern vs Zandronum 3.0

Post by Darkcrafter »

I'll try to prepare a video for you to explain why.
Darkcrafter
Posts: 508
Joined: Sat Sep 23, 2017 8:42 am
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: GZDoom 3.7.2 modern vs Zandronum 3.0

Post by Darkcrafter »

I think this sector also must be non-solid all the time, ever, here is the short video with the schematics: https://youtu.be/d-TVan7IJAo
Rachael
Admin
Posts: 12855
Joined: Tue Jan 13, 2004 1:31 pm
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle

Re: GZDoom 3.7.2 modern vs Zandronum 3.0

Post by Rachael »

Unfortunately, as far as I know occlusion culling is entirely 2D in GZDoom. i.e. in order for culling to even occur it has to be behind a 1-sided line or a sector with 0 height. You might be able to kind of sidestep this with clever portal setups, i.e. have void geometry in the bottom section and very limited details in the upper levels.

Something else to keep in mind, as well: You can put in 2-sided lines that occlude as well, simply by unticking the "2-sided line" flag on the line. This is normally used to render solid walls that the player can walk through, but with some clever fussing around you might be able to get partial draws of the sectors behind said line.
Darkcrafter
Posts: 508
Joined: Sat Sep 23, 2017 8:42 am
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: GZDoom 3.7.2 modern vs Zandronum 3.0

Post by Darkcrafter »

Rachael wrote:Unfortunately, as far as I know occlusion culling is entirely 2D in GZDoom. i.e. in order for culling to even occur it has to be behind a 1-sided line or a sector with 0 height. You might be able to kind of sidestep this with clever portal setups, i.e. have void geometry in the bottom section and very limited details in the upper levels.


Yes I know it only occurs with 1-sided lines. Graf also told somewhere before that 3D floors also have such a structure of rendering that all the overdraw lies up on CPU but invisible sides of 3d floors never make it into a GPU, anyway this is enough to absolutely kill performance on maps like this.

Rachael wrote:Something else to keep in mind, as well: You can put in 2-sided lines that occlude as well, simply by unticking the "2-sided line" flag on the line. This is normally used to render solid walls that the player can walk through, but with some clever fussing around you might be able to get partial draws of the sectors behind said line.
Didn't think about this, thanks for the idea! But this is still not what I'd like to get.
Rachael
Admin
Posts: 12855
Joined: Tue Jan 13, 2004 1:31 pm
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle

Re: GZDoom 3.7.2 modern vs Zandronum 3.0

Post by Rachael »

Culling the invisible parts of a 3D structure and culling the area behind it aren't the same thing. The invisible parts of the 3D structure are merely checked using render angles relative to the camera's viewpoint. That's a lot less complicated than figuring out what's behind them.
Darkcrafter
Posts: 508
Joined: Sat Sep 23, 2017 8:42 am
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: GZDoom 3.7.2 modern vs Zandronum 3.0

Post by Darkcrafter »

1 sided linedefs greatly helped me on some another map but "doors" don't seem to work. So would it be possible to get such sectors that would become void only while players is in a certain area, e.g trigered a linedef or via actor hits the floor action?

Return to “Off-Topic”