PDA

View Full Version : Line of Site Rendering Issue



pollux
November 12th, 2019, 04:14
I've identified a location where FG seems to be disrespecting the opacity of an occluder when line of site is enabled. I'm attaching both my moduledb xml file and also a short/small video of the issue for reference. You can see that:


FGU starts by rendering the line-of-site as expected.
As the token moves east to the edge of the map, they see through the occluder.
I flip over to the LoS editor, to show that the point they see through is not vertex at all. And that there are no gaps between vertices.
The occluder to the east of the gap IS boundary, but I believe the alignment is perfect.


I've only encountered this in one place, but it is reproduceable in that spot, even after redrawing the offending occluder, so I'm reporting it. Not a huge priority for me, but it may be valuable if it reveals some underlying issue. This is a campaign that has live through several iterations of builds where line-of-site vertices were getting drawn to the wrong map... but in recent builds it seems like those issues all became visible and I could delete the misplaced occluders. I don't THINK there's anything like that left in this map, but if there is some corruption in the moduledb XML file I can always restart or hand-edit it if someone can point the issue out. It looks reasonable to me.

Moon Wizard
November 12th, 2019, 18:01
Thanks for reporting; and the excellent detail to recreate. I've filed as FGU-712.

Regards,
JPG

pollux
November 14th, 2019, 04:00
Here's a screenshot and an updated xml file demonstrating another example of LoS peaking through an occluder. The token is on the square that causes it to peak through.

pollux
November 14th, 2019, 04:15
3 of 4 corners displaying a peakthrough issue now. I'll stop posting additional examples, but whereas I got through the first 3 maps only encountering this once... it's seeming quite common now.

Trenloe
November 14th, 2019, 19:33
3 of 4 corners displaying a peakthrough issue now. I'll stop posting additional examples, but whereas I got through the first 3 maps only encountering this once... it's seeming quite common now.
What happens if you remove the internal (superfluous) occluders?

https://www.fantasygrounds.com/forums/attachment.php?attachmentid=30224

pollux
November 15th, 2019, 04:37
What happens if you remove the internal (superfluous) occluders?

Can I do that? These are rectangles, not lines. It's at least very confusing to figure out which vertices to delete to affect only the internal edges, and I think it may not be possible to keep all the external edges without also having some extraneous internal edges (when starting from rectangles).

Some other points to note:


My initial gif report contained no internal/extraneous edges.
The peekthrough in the upper-right corner is not particularly close to the extraneous edge, and the rays don't pass through an extraneous edge.
It feels like a bug even if there are extraneous edges, though the above seem to suggest that the extra edges aren't necessary to trigger the issue.

Allmight
November 15th, 2019, 12:09
Can I do that? These are rectangles, not lines. It's at least very confusing to figure out which vertices to delete to affect only the internal edges, and I think it may not be possible to keep all the external edges without also having some extraneous internal edges (when starting from rectangles).

Some other points to note:


My initial gif report contained no internal/extraneous edges.
The peekthrough in the upper-right corner is not particularly close to the extraneous edge, and the rays don't pass through an extraneous edge.
It feels like a bug even if there are extraneous edges, though the above seem to suggest that the extra edges aren't necessary to trigger the issue.



One trick is to replace the rectangles with a line instead. Just trace the contour of the wall by attaching the line to the vertices of the rectangles, then remove the rectangles alltogether. That will net you a perfect replica of what you have now, but using a line instead, and no extra lines inside the wall.

pollux
November 15th, 2019, 14:58
One trick is to replace the rectangles with a line instead. Just trace the contour of the wall by attaching the line to the vertices of the rectangles, then remove the rectangles alltogether. That will net you a perfect replica of what you have now, but using a line instead, and no extra lines inside the wall.

The moduledb files I used to reproduce this are attached to the thread if someone wants to further investigate the impact of the extraneous edges. I don't plan to redraw them as lines, myself. There is already reasonable evidence that the extra edges don't impact the behavior, as I pointed out several cases of peekthrough that don't interact with extra edges (including one on a map that has no such edges).

But even if it turns out I'm wrong and removing the extra edges resolves the behavior, it's still a bug and the details to repro are still present. Square tileset maps like these are very natural to construct from aligned rectangles, and if there are not too many rectangles doing it that way is faster to enter than the equivalent line, and ensures that all lines are perfectly horizontal and vertical (something which requires a lot of disciplined fiddling with lines). People are going to try to build things this way if it's possible, so I'd think SW would want to address the peekthrough in either case.

For my own case, I'm not looking for workarounds. I'm just drawing the map, leaving the peekthrough in place, and will circle back and re-test after FGU-712 lands to confirm that the geometry works once the underlying bug is fixed.

Trenloe
November 15th, 2019, 15:35
I completely agree it’s still a bug. I was simply asking a question to see if removing internal occluders made a difference, as this might help the devs track down the issue and fix it.

pindercarl
November 15th, 2019, 18:14
I completely agree it’s still a bug. I was simply asking a question to see if removing internal occluders made a difference, as this might help the devs track down the issue and fix it.

I've had a look at the issue and have identified the likely culprit, no need to continue investigating until a fix can be submitted. Thanks for the help, everyone.