Jump to content

Pin cushion compensation for curved screens


Kite Ryder

Recommended Posts

Hi

Some of us have been getting the Samsung G9 screen which is great in many ways but presents a new problem. 

Becuse the rendering engine of nearly every 3D game assumes a flat screen the edges are streteched to compensate for this. But the G9 has the same eye to screen distance across the entire screen. So you get a "pin cushion" or "fish eye" effect that quite severly effects your perception of distance.

It would be great if we could compensate for this in game. As I have to do post processing now (reshade.me) and loose a lot of fidelity in the center of the display due to scaling. 

  • Like 3
Link to comment
Share on other sites

So, I have been messing around with this and if you choose 3 monitors in setup you can clearly see that the rendering engine is completely capable of compensating for the G9 curve. 

The problem is that the 3 monitor setup gives artifacts where the monitor joints would be.

Link to comment
Share on other sites

Doing some further research it is clear that the only way to truly fix this issue is a version of what is done for VR.

That is to render a super sample and distort that into your native resolution. 

Sparing that I am trying to get a decent result out of reshade.me which is a cool software but no level of math or algorithm can get the sharpness needed to distort the perspective correctly and keep the cockpit sharp enough for a good experience. 

Reshade can't force or trick a higher resolution from the system and down sample to the native resolution. 

I desperation I am trying to distort the 3 monitor setup (or more) with reshade hoping to loose less sharpness.

  • Like 1
Link to comment
Share on other sites

Here is a workable though far from perfect monitor .lua file.

https://drive.google.com/file/d/1-3stkwH7wi3FdHFYC7_Ryez67tSkMSM7/view?usp=sharing

  1. Drop it in the DCS/Config/MonitorSetup folder
  2. Start DCS
  3. Choose the G9 monitor under settings
  4. DCS restarts

There are several issues with this solution, I know. 

A lot of effects will not look good:

  • Water effects make vertical lines (I think this is because the effect assumes the next pixel outside of the screen i is black). <- ED can probably alleviate this in the shader.
  • Clouds renders unevenly between "cameras".
  • Sun glare renders unevenly between "cameras".
  • Shading renders unevenly between "cameras".
  • There is not a reverse "barrel projection" effect. <- will work on minimizing this.

Even with all that, the feel is a lot more natural and the distance to objects is now the same how ever you look at it.

Will update with further improvements when I make them.

Any documentation of the syntax would be greatly appreciated.

  • Thanks 1
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...