Concise Way to Describe Curved Surfaces
Posted: Fri Jun 26, 2015 6:27 pm
Hi,
I'm designing a native file format for my OS to describe monitors. I started this because "raw EDID" from the monitor is ugly (e.g. 3 different ways to describe video modes timings rather than a single consistent method); so that I could add missing information (e.g. sub-pixel format, etc); and so that users can override (correct, extend) the monitor's EDID (or even just provide it when the OS can't get it from the monitor). The general idea would be that (unless the monitor's description has been overridden) the OS gets the "vendor and product ID" fields from the monitor's EDID and uses it to find a file (in my format) that's used instead (and if no file exists, it auto-converts the raw EDID into my file format).
Then I started thinking about old CRT monitors and their "concave curve" screen. I was thinking that I could add a "concave" flag to my file format so that the video driver could compensate for the curvature in software to ensure that the image the user sees isn't distorted.
That's when I googled for "curved screen" and saw things like this:
And like this:
And like this:
Obviously; a single "concave" flag isn't going to work well.
Now I'm looking for way to describe "non flat" monitors, that can handle arbitrary curves (maybe even including things like "S-bend with a twist!"); but doesn't consume a massive amount of space (e.g. "(X, Y , Z)" physical location data for each pixel) or involve overly complex mathematics if it can be avoided.
Has anyone got any ideas?
Thanks,
Brendan
I'm designing a native file format for my OS to describe monitors. I started this because "raw EDID" from the monitor is ugly (e.g. 3 different ways to describe video modes timings rather than a single consistent method); so that I could add missing information (e.g. sub-pixel format, etc); and so that users can override (correct, extend) the monitor's EDID (or even just provide it when the OS can't get it from the monitor). The general idea would be that (unless the monitor's description has been overridden) the OS gets the "vendor and product ID" fields from the monitor's EDID and uses it to find a file (in my format) that's used instead (and if no file exists, it auto-converts the raw EDID into my file format).
Then I started thinking about old CRT monitors and their "concave curve" screen. I was thinking that I could add a "concave" flag to my file format so that the video driver could compensate for the curvature in software to ensure that the image the user sees isn't distorted.
That's when I googled for "curved screen" and saw things like this:
And like this:
And like this:
Obviously; a single "concave" flag isn't going to work well.
Now I'm looking for way to describe "non flat" monitors, that can handle arbitrary curves (maybe even including things like "S-bend with a twist!"); but doesn't consume a massive amount of space (e.g. "(X, Y , Z)" physical location data for each pixel) or involve overly complex mathematics if it can be avoided.
Has anyone got any ideas?
Thanks,
Brendan