[Fixed] [Blood:CP, newrenderer] Badly rendered doors

Moderator: Raze Developers

[Blood:CP, newrenderer] Badly rendered doors

Postby Talon1024 » Thu May 20, 2021 6:36 pm

On the Castle level of Blood: Cryptic Passage, there are two doors which are not rendered correctly by the new renderer. When both are closed, a non-existent floor and ceiling appears between them. Here's a saved game showing the issue.
Talon1024
 
 
 
Joined: 27 Jun 2016
Github ID: Talon1024
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
Graphics Processor: nVidia with Vulkan support

Re: [Blood:CP, newrenderer] Badly rendered doors

Postby Graf Zahl » Fri May 21, 2021 12:39 am

This setup makes the triangulation fail. When closed, the doors partially go into the neighboring sector which result in a bogus sector segment being created between them.

With things like this it is becoming clearer why nobody has ever managed to design a functional polygonal Build renderer - the entire engine design makes it far too easy to construct maps that make it fail.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: [Blood:CP, newrenderer] Badly rendered doors

Postby sinisterseed » Fri May 21, 2021 1:45 am

That, and until not too long ago there were also no ports for Blood and the other games, and some of the existing ones were not good (thinking of stuff such SWP here).
User avatar
sinisterseed
Raze/GZDoom RO Translator & Raze Tester
 
Joined: 05 Nov 2019
Twitch ID: nixchievousfox
Github ID: sinisterseed
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: [Blood:CP, newrenderer] Badly rendered doors

Postby Graf Zahl » Fri May 21, 2021 2:13 am

Yeah, and the only new renderer that was ever attempted was Polymer, but that would totally break down on non-Duke games, because it was written with limited assumptions.

The problem is just that the Build engine allows an incredible amount of sloppy level design and if you don't construct your renderer on the precise principles on how Build works it will glitch out.

Granted, in Doom it was possible to create edge cases that just can't work - but they are just that: edge cases used in a small number of maps. These days most mappers avoid exploiting render glitches because they know that a large number of users will be using ports that can't handle them properly.

But that's not the case for Build. Here these edge cases are actual engine features! What good is a new renderer if it has problems with Blood's standard door feature? This just encourages a map setup that makes the triangulator fold.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: [Blood:CP, newrenderer] Badly rendered doors

Postby Cacodemon345 » Fri May 21, 2021 3:37 am

So what's the future of the newrenderer?
Cacodemon345
 
Joined: 22 Dec 2017
Discord: Cacodemon345#9151
Github ID: Cacodemon345
Operating System: Other Linux 64-bit
Graphics Processor: ATI/AMD (Modern GZDoom)

Re: [Blood:CP, newrenderer] Badly rendered doors

Postby Rachael » Fri May 21, 2021 4:03 am

While I can't speak for Graf I don't imagine it's going to be given up that easily. Since the code mostly comes from GZDoom there's a hint of familiarity about it that makes it much easier to work with than Polymost and much more likely that it will ever receive bug fixes as well. (In fact if it gets to be in a mature enough state it's likely that Polymost will be shitcanned entirely)

Unfortunately, in order to be compatible with most maps thrown at it GZDoom's renderer required hack after hack after hack after hack to support a lot of the effects that became so common in Doom maps in the 90's and 00's, and for Raze this unfortunately will be no different.
User avatar
Rachael
Admin
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
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: [Blood:CP, newrenderer] Badly rendered doors

Postby Graf Zahl » Fri May 21, 2021 5:02 am

We already knew that this would be tricky. While Doom has a lot of hacks, they were never part of the original design, but accidents due to rendering shortcuts.

In Build, on the other hand, many of the quirks were officially documented and advertised as features, so they not only show up in some user maps, but also in the main campaigns of the released games. So they are a lot more widespread and need to be handled properly instead of adding more hacks.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: [Blood:CP, newrenderer] Badly rendered doors

Postby Graf Zahl » Fri May 21, 2021 6:29 am

There were two issues here, both with colinear, overlapping lines.

First, the ZDoom node builder used to triangulate sectors where a simpler approach fails, cannot deal with these and creates phantom subsectors, so the lines have to be culled before running the node builder.

Second, the wall sorter in the renderer didn't have any checks for colinear lines at all and simply bailed out with an error, resulting in random order.
If two bunches have a colinear section, any attempt to sort them traditionally will fail. The only other chance is to examine the sectors being referenced and use them to determine order.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: [Blood:CP, newrenderer] Badly rendered doors

Postby Talon1024 » Fri May 21, 2021 10:17 am

Unfortunately, this "fix" seems to have caused a regression at the start of the second level of Shadow Warrior: Twin Dragon ($tank.map): Part of the road under the pickup truck on the opposite side of the road disappears when the pickup truck stops moving.
Talon1024
 
 
 
Joined: 27 Jun 2016
Github ID: Talon1024
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
Graphics Processor: nVidia with Vulkan support

Re: [Blood:CP, newrenderer] Badly rendered doors

Postby Graf Zahl » Fri May 21, 2021 10:40 am

Fortunately this was just a typo in one of the code paths.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: [Blood:CP, newrenderer] Badly rendered doors

Postby Cacodemon345 » Fri May 21, 2021 10:44 am

Duke3D blood footprints now flicker too.
Cacodemon345
 
Joined: 22 Dec 2017
Discord: Cacodemon345#9151
Github ID: Cacodemon345
Operating System: Other Linux 64-bit
Graphics Processor: ATI/AMD (Modern GZDoom)

Re: [Blood:CP, newrenderer] Badly rendered doors

Postby Graf Zahl » Fri May 21, 2021 10:49 am

That has nothing to do with this commit.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: [Blood:CP, newrenderer] Badly rendered doors

Postby Talon1024 » Sat May 22, 2021 1:30 am

These fixes seem to have caused yet another regression: There's a missing floor and ceiling triangle on the second level of 500 millilitres of /vr/. Here's a saved game where the missing triangle is.

EDIT: This is the commit which caused the aforementioned missing triangle.

On the other hand, I can imagine how difficult it is to make a polygonal renderer for the Build engine, since I faced a fair number of challenges in writing the 3D view for jsdoom.
Talon1024
 
 
 
Joined: 27 Jun 2016
Github ID: Talon1024
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
Graphics Processor: nVidia with Vulkan support

Re: [Blood:CP, newrenderer] Badly rendered doors

Postby Graf Zahl » Sun May 23, 2021 12:53 am

Please do not post new bugs in already closed threads. That can often lead to them being overlooked due to how the forum marks unread content.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: [Blood:CP, newrenderer] Badly rendered doors

Postby Graf Zahl » Sun May 23, 2021 1:13 am

Well, this was something else. This map opens that door by collapsing a sector into nothing. There were two lines left with zero length and they were throwing the triangulation off. Removing these lines before doing any work fixes it again.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany


Return to Closed Bugs

Who is online

Users browsing this forum: No registered users and 1 guest