Board index FlightGear Development Effects and shaders

Taxiline Flickering Issue

An exciting "new" option in FlightGear, that includes reflections, lightmaps, the particle system etc.. A lot is yet to be discovered/implemented!

Re: Taxiline Flickering Issue

Postby WoodSTokk » Sun Oct 07, 2018 5:47 pm

Thorsten wrote in Thu Sep 20, 2018 4:38 am:
Mostly the scenery developer rise the line meshes (ca. 10cm).


Mostly they do not (because these lines are real geometry and wold be an obstacle for taxiing) - it would appear that rarely some lines are raised in the mesh (never seen one myself) from the reports - if that is, it is by accident and not by design.

The scenery developer dont need to rise the meshes of paintings.


And in fact they do not (I wonder if you realize at all that these lines are created automatically by TerraGear from airport description data).


In fact they DO. Look at the pictures below.

Nosewheel on ground:
Image
Nosewheel on taxiline:
Image
And yes, the lines are obstacles and the airplane bumps up and down everytime you cross the line.
On a quick search I found this airports with raised taxilines:
NFTF
NFFN
NVSS
NWWX
NWWW

And there are many more out there.
If you wish, i will report every airport if i found others.

Thorsten wrote in Thu Sep 20, 2018 4:38 am:
But if you switch to a external view and look extremly flat over the ground, you notice that the lines are above the ground.


Let's try this again:

What you see on the screen is what the shader code renders, not what the underlyinh geometry is. That's different, because a vertex shader can displace things on the screen, a geometry shader can create new mesh parts, but the collision detection operates on the un-displaced original mesh. The taxiline flickering is addressed by such a fix - the line is displaced on the screen, but the geometry is still flat for collision detection.

In fact, the line is displaced based on your distance to it, so from the near-zone, it isn't much displaced at all, only when you're 100 meters away and the z-accuracy drops, it is moved more and more towards you.

That's the second advantage of a renderer-based fix over hard-coding this in the scenery mesh - you can dynamically react to the situation,

The shader displace the line to avoid z-fighting, thats okay and I can clearly see that in the second picture where i stay on the line.
In my opinion its a little bit too high in a very near closeup, but okay.

Thorsten wrote in Thu Sep 20, 2018 4:38 am:
All textures (mostly alpha) that are used to paint on pavement (lines, numbers, signs, etc...) should have a priority higher than 0.


Why don't you look into how FG creates and textures a runway first and then explain us how it's done and what should be done? :D

I dont code in C++ and that was only loud thinking how to address the z-fighting.

Thorsten wrote in Thu Sep 20, 2018 4:38 am:
So, if 2 or more textures have the same value in the z-buffer, the textures will be rendered in ascending order of the priority.


1) Textures have no value in the z-buffer, fragments have
2) Multiple textures are drawn on fragments as the fragment shader code says, not based on mysterious priorities

I have never code in OpenGL but i have a little understanding how the rendering work. It doesnt matter if we name it texture or fragment, the point is if the fragment has a priority in the sortorder of the fragment shader, you can also address the z-fighting.
I have a render engine in mind they work with priority, but i cant remember what engine that was.
I found only the same behavior like yours in the idTech3 engine.
http://q3map2.robotrenegade.com/docs/shader_manual/general-directives.html#polygonOffset
But this engine show the fragment not so high like FG. In fact, i can not see a distance between the ground and the second teture on top of it.
WoodSTokk
 
Posts: 343
Joined: Tue Oct 17, 2017 2:30 pm
Location: Milky Way/Sol/Earth/Europe
Callsign: OE-WST
IRC name: WoodSTokk
Version: 2018.3.1
OS: Debian Buster/Sid

Re: Taxiline Flickering Issue

Postby legoboyvdlp » Sun Oct 07, 2018 6:33 pm

WoodSTokk wrote in Sun Oct 07, 2018 5:47 pm:
Thorsten wrote in Thu Sep 20, 2018 4:38 am:
Mostly they do not (because these lines are real geometry and wold be an obstacle for taxiing) - it would appear that rarely some lines are raised in the mesh (never seen one myself) from the reports - if that is, it is by accident and not by design.


And in fact they do not (I wonder if you realize at all that these lines are created automatically by TerraGear from airport description data).


In fact they DO. Look at the pictures below.


I think you are misunderstanding. Thorsten is saying that any lines that are raised are an error - the scenery developer does not touch the lines at all. The lines are created by the TerraGear toolchain automatically.

Anyway, I'm not entirely sure, but quite possibly the upcoming regeneration of world scenery will correct these issues.
User avatar
legoboyvdlp
 
Posts: 7184
Joined: Sat Jul 26, 2014 1:28 am
Callsign: YV-LEGO
Version: next
OS: Windows 10 HP

Re: Taxiline Flickering Issue

Postby WoodSTokk » Mon Oct 08, 2018 11:31 pm

legoboyvdlp wrote in Sun Oct 07, 2018 6:33 pm:I think you are misunderstanding. Thorsten is saying that any lines that are raised are an error - the scenery developer does not touch the lines at all. The lines are created by the TerraGear toolchain automatically.

I have now imported the btg-file of NFTF airport in AutoCAD.
The raised taxiline was a lucky shot, because the taxiline to the GA appron is the only raised line at this airport.
All other lines are on ground. With 'on ground' i mean the diference between the line and the ground is less than 3 millimeter.
The raised taxiline is between 25 and 30 millimeter above the ground.
I dont think that the toolchain raise one line at 25mm and all others are correct on ground.
I know that floats have a rounding error, but 25mm are 0.025m. The rounding error of floats isnt that high.

legoboyvdlp wrote in Sun Oct 07, 2018 6:33 pm:Anyway, I'm not entirely sure, but quite possibly the upcoming regeneration of world scenery will correct these issues.

Yes, many people are waiting for the next world gen, but this will take a long time.
I actually thinking of a repairtool for tiles where the hole for the airport is missing and a tool to check the triangles of airports.
At LOWG there is a triangle crossing the runway and taxiway. On LOWS there is a absolut black triangle at the taxiway crossing.
Anyway, my time is also limited, so i dont know if i find the time to code these tools.
WoodSTokk
 
Posts: 343
Joined: Tue Oct 17, 2017 2:30 pm
Location: Milky Way/Sol/Earth/Europe
Callsign: OE-WST
IRC name: WoodSTokk
Version: 2018.3.1
OS: Debian Buster/Sid

Re: Taxiline Flickering Issue

Postby Thorsten » Tue Oct 09, 2018 5:39 am

I dont think that the toolchain raise one line at 25mm and all others are correct on ground.


Since the whole airport was assembled by the toolchain and (to my knowledge at least) manual intervention into btg-files can't really be done, I'd really be interested in your theory what else raised one line to 25 mm.
Thorsten
 
Posts: 11209
Joined: Mon Nov 02, 2009 8:33 am

Re: Taxiline Flickering Issue

Postby WoodSTokk » Tue Oct 09, 2018 1:02 pm

Thorsten wrote in Tue Oct 09, 2018 5:39 am:
I dont think that the toolchain raise one line at 25mm and all others are correct on ground.


Since the whole airport was assembled by the toolchain and (to my knowledge at least) manual intervention into btg-files can't really be done, I'd really be interested in your theory what else raised one line to 25 mm.


Problem found! The taxiway starts by the runway and on the way to the corner, it is sagging down and raising up to the corner. So the taxiway have a dozen triangles with a dipression in the middle. The yellow lines starts at the holdingpoint and go strait to the corner in one piece. So the yellow lines dont follow the dipression from the ground and hover above the taxiway.

I would recommend that the toolchain should check the vertical distance between the lines and the ground on every intersection (every edge that is part of a ground triangle). If the distance to high (i think more than 10mm) the line need a additional break on that point. I can also imagine that there are lines below the ground if the ground is raising up more than the shader show the lines above.
WoodSTokk
 
Posts: 343
Joined: Tue Oct 17, 2017 2:30 pm
Location: Milky Way/Sol/Earth/Europe
Callsign: OE-WST
IRC name: WoodSTokk
Version: 2018.3.1
OS: Debian Buster/Sid

Re: Taxiline Flickering Issue

Postby Thorsten » Tue Oct 09, 2018 1:59 pm

That's interesting. I've forwarded the report to the mailing list, asking whether such a modification to the toolchain is viable.
Thorsten
 
Posts: 11209
Joined: Mon Nov 02, 2009 8:33 am

Previous

Return to Effects and shaders

Who is online

Users browsing this forum: No registered users and 1 guest