[Blood:CP, newrenderer] Badly rendered doors

Moderator: Raze Developers

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Talon1024
 
 
Posts: 376
Joined: Mon Jun 27, 2016 7:26 pm
Preferred Pronouns: He/Him
Graphics Processor: nVidia with Vulkan support

[Blood:CP, newrenderer] Badly rendered doors

Post by Talon1024 »

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.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49204
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

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

Post by Graf Zahl »

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
sinisterseed
Posts: 1349
Joined: Tue Nov 05, 2019 6:48 am
Preferred Pronouns: He/Him
Graphics Processor: nVidia with Vulkan support

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

Post by sinisterseed »

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
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49204
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

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

Post by Graf Zahl »

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.
Cacodemon345
Posts: 422
Joined: Fri Dec 22, 2017 1:53 am
Graphics Processor: ATI/AMD (Modern GZDoom)

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

Post by Cacodemon345 »

So what's the future of the newrenderer?
User avatar
Rachael
Posts: 13883
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

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

Post by Rachael »

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
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49204
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

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

Post by Graf Zahl »

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
Posts: 49204
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

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

Post by Graf Zahl »

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.
Talon1024
 
 
Posts: 376
Joined: Mon Jun 27, 2016 7:26 pm
Preferred Pronouns: He/Him
Graphics Processor: nVidia with Vulkan support

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

Post by Talon1024 »

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.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49204
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

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

Post by Graf Zahl »

Fortunately this was just a typo in one of the code paths.
Cacodemon345
Posts: 422
Joined: Fri Dec 22, 2017 1:53 am
Graphics Processor: ATI/AMD (Modern GZDoom)

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

Post by Cacodemon345 »

Duke3D blood footprints now flicker too.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49204
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

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

Post by Graf Zahl »

That has nothing to do with this commit.
Talon1024
 
 
Posts: 376
Joined: Mon Jun 27, 2016 7:26 pm
Preferred Pronouns: He/Him
Graphics Processor: nVidia with Vulkan support

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

Post by Talon1024 »

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.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49204
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

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

Post by Graf Zahl »

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
Posts: 49204
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

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

Post by Graf Zahl »

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.

Return to “Closed Bugs [Raze]”