On your FXAA algorithm, it works very well and I like it the best for my machine which has a GTX 770. Yeah mine is a bit behind the times so the faster FXAA is my choice.
I would like to suggest that since the orbit lines are a specific color of yellow and perhaps (hopefully) that color isn't used often or at all in other geometry....that you might adjust the FXAA algorithm to treat the orbit line differently so that it doesn't blend the black of space into the line. So with that specific color, perhaps it doesn't blend.
Can you have an exclusion list for specific colors? Or can you make it an element of the HUD. I don't think the other HUD elements have a problem with FXAA so that must be done after the FXAA process. I am just guessing, of course. They just need to be drawn over the top. edit: NM I guess they have to go behind the planets so I guess it needs to know the depth. Well in that case, perhaps exclude the color?
Edit: I am watching my Asp explorer in the outfitting garage. The camera has a bit of programmed sway in it and because it sways just slightly, the problem that FXAA is creating is easy to see. (IMHO because I don't know the programming. It is only what it looks like to the naked eye)
Whenever there is a high degree of contrast on an edge and as the line changes angle slightly that blended area (darker or lighter) moves back and forth along the edge. You can see that best on any edge where there is a large contrast between the edge like the lights on the floor or where a bright light shines on the darkened canopy.
To smooth out that blend over time....
Can you store the last 30 or 60 or 90 frames and when you finish the FXAA pass, blend the last 30 or 60 or 90 frames together (or frames over a period of time like 1 second) so that the edge is softened over a time period? Would that help? Just a theory.
edit: I don't know how you would do it but if you could adjust the time period that gets blended depending on how much the camera/object/edge is moving, i think it would work better. (theory) So in the outfitting garage it might be a second or two. In a dog fight, there might be no delay (temporal blending?) .
edit: Temporal blending (if you will): Can you make a queue of frames, blend that queue, deduct the head of the queue from the blend when the queue reaches a specified size, add the rear of the queue to the blend? That way you are only pop and push and two blend operations.
I would like to suggest that since the orbit lines are a specific color of yellow and perhaps (hopefully) that color isn't used often or at all in other geometry....that you might adjust the FXAA algorithm to treat the orbit line differently so that it doesn't blend the black of space into the line. So with that specific color, perhaps it doesn't blend.
Can you have an exclusion list for specific colors? Or can you make it an element of the HUD. I don't think the other HUD elements have a problem with FXAA so that must be done after the FXAA process. I am just guessing, of course. They just need to be drawn over the top. edit: NM I guess they have to go behind the planets so I guess it needs to know the depth. Well in that case, perhaps exclude the color?
Edit: I am watching my Asp explorer in the outfitting garage. The camera has a bit of programmed sway in it and because it sways just slightly, the problem that FXAA is creating is easy to see. (IMHO because I don't know the programming. It is only what it looks like to the naked eye)
Whenever there is a high degree of contrast on an edge and as the line changes angle slightly that blended area (darker or lighter) moves back and forth along the edge. You can see that best on any edge where there is a large contrast between the edge like the lights on the floor or where a bright light shines on the darkened canopy.
To smooth out that blend over time....
Can you store the last 30 or 60 or 90 frames and when you finish the FXAA pass, blend the last 30 or 60 or 90 frames together (or frames over a period of time like 1 second) so that the edge is softened over a time period? Would that help? Just a theory.
edit: I don't know how you would do it but if you could adjust the time period that gets blended depending on how much the camera/object/edge is moving, i think it would work better. (theory) So in the outfitting garage it might be a second or two. In a dog fight, there might be no delay (temporal blending?) .
edit: Temporal blending (if you will): Can you make a queue of frames, blend that queue, deduct the head of the queue from the blend when the queue reaches a specified size, add the rear of the queue to the blend? That way you are only pop and push and two blend operations.
Last edited: