Sub-Pixel Rendering on CRTs?
rst2003 asks: "Is it possible (in theory) to do sub-pixel rendering (e.g. cleartype) on a CRT monitor using a triangular dot matrix instead of a 1x3-aspect rectangular one? If so, has it been done? I'm fairly sure it's not been done by Microsoft or Adobe, but is it available on X?"
Since a few LCD panels have their sub-pixels arranged in B-G-R instead of R-G-B order, any industrial strength delivery of sub-pixel rendering technology will require a user-settable (or operating system readable) option to inform the system's LCD rendering engine whether the sub-pixels are arranged in 'forward' or 'reverse' order.
Flatscreens don't have a defined order either
They don't have a standard order, but any given LCD screen does have a defined order that is consistent across the screen. The problem with a CRT is that any pixel can end up on any old splotch of phosphor in no defined, consistent, or useful order. Most people run their monitors at resolutions so high that multiple pixels actually overlap on the same phosphor patches... which really is like free antialiasing already. :)
Chu vi parolas Vikipedion?
Sure! But I'm not clear on what happens if you want to do something that DPS doesn't support (like, 3d bump-mapped whatsahooey). You'd either require a protocol extension (losing your device independence and requiring certain hardware) or render it locally and send an image (possibly inefficient, and requires knowing a target resolution, again losing some device-independence).
On the plus side, the future coming of 200dpi monitors would be a heckuvalot easier to deal with - the monitor would automagically render the higher-resolution fonts and vector graphics, and images would be scaled to an appropriate size instead of limited to some particular pixel count that doesn't match the real world; all without changing a thing on the computer.
Chu vi parolas Vikipedion?
Is it like super-sampling, where the OS and Video card generate 4 times the information and then downsample and anti-alias?
Basically, but when pixels have (known, ordered) components to them such as in color LCD displays - red, green, and blue chunks - you can go farther and treat those three chunks as having separate positions instead of pretending the pixel is a single solid chunk. Thus instead of ooo in the middle of a diagonal line you can have .oO where . is red, o is green, and O is blue.
Why couldn't monitors come with enough RAM to store 2 frames at the highest resolution at 32 bpp? At 1600x1200, that'd be 7.5 MB. 8MB of RAM coupled with a processor that runs fast enough to blend pixels for and 85Hz refresh rate.
That could be done, sure, but... why? You could put the same ability in the graphics card/chip, and avoid sending 4x redundant data to the monitor. And, you wouldn't have to buy a new monitor to get there - monitors are much more expensive than graphics cards in general
Make monitors like printers.
This is a much more interesting idea, the device-independent sound of it intrigues me... but basically you're integrating the graphics card into the monitor. Now, if you want the latest 3d bump-texture-particle gizmo feature, you have to buy a new monitor instead of just a new video card.
But I'm off topic.
Hey, this is slashdot! If you don't have a goatse.cx link, you're about as on-topic as they come here.
Chu vi parolas Vikipedion?
I'm surprised nobody said this sooner.
An LCD has distinctly addressable colours within each pixel. There is a red, a green and a blue. Each pixel (unless under screen-expansion or something else stupid) uses one and only one red, one and only one green, one and only one blue. The geometry of these is clearly defined and immutable.
A CRT on the other hand depends on the angle at which each electron beam penetrates the shadow mask. The position is not clearly defined (just adjust the width or height of your image and tell me otherwise). Each pixel is comprised of multiple phosphors. The shape of the electron beam defines the shape of the pixel. That shape is not very complex either.
If you see a bennefit from subpixel rendering on a CRT it is probably the colourful antialiasing you are noticing more than anything else. Although straight antialiasing would work better.
There is no super-precise alignment of individual phosphors to the electron gun.
Subpixel rendering on LCDs is _already_ part of the Xft library. Set Xft.rgba: rgb in your X resources....
Every phosphor triad corresponds to a single opening (through which the 3 electron beams pass at different angles at a given instant in time) in the shadow mask. How much more well-defined than that can you get?
I see even classic Slashdot is now pretty much unusable on dial up anymore.
But the long answer is maybe, but for all intents and purposes, it's not feasible.
:(
Check out the white papers on ClearType filtering. (Some nice pictures/samples, too) It's so simple, you'll think, "Why didn't I think of that?"
The real tragedy in this is that we didn't think of this before M$. So, being covered by M$ pattents, it'll probably never make it into any standard distro of X.
To do sub-pixel (cleartype) rendering, you need some way of addressing the subpixels in your monitor. LCD panels have a nice, well-defined "sub-pixel RGB" location. This is not really true in CRTs using Trinitron or Invar Shadow mask technology. (Almost every single monitor you'll use) Try taking a magnifying glass to your monitor, and look at the "RGB" dots. They're not really well-defined, like an LCD is.
Sony has some special technology for their monitors that uses an Octahedral "sub-pixel". You *might* be able to get some sort of sub-pixel rendering going on that, but it would be far more complex than an LCD panel, and probably be yield less pleasant results. But, having never examined a Sony monitor to that degree, I can't tell you if it's possible or not.
--
--
#include <malloc.h>
free(your.mind);
I'm not sure about it being done 26 years ago, but I do remember doing this on the Apple
Basically, by setting the colour of the pixel you were plotting, you could move it by a third of a column's width on the screen.
Of course with CRTs of the day and with Apple's hi-res graphics mode, this looked hideous unless you turned the colour all the way down. Text and lines looked smoother, but had freakish colour halos around them. In monochrome, though, it was pretty good. Fast too, if done in assembly (vs. basic!)
Sigh. Enough reminiscing for today...
It's only software!
so thats what cleartype does...
I've tried it on my laptop a few times, and while it does make the text a lot nicer looking... it also makes black not exactly black.
it seems kinda like i'm on a messed up crt where the different colors don't line up well.
Need a Catering Connection
I think I know what it is... maybe.
Is it like super-sampling, where the OS and Video card generate 4 times the information and then downsample and anti-alias?
Why couldn't monitors come with enough RAM to store 2 frames at the highest resolution at 32 bpp? At 1600x1200, that'd be 7.5 MB. 8MB of RAM coupled with a processor that runs fast enough to blend pixels for and 85Hz refresh rate.
Actually, this might be a bad idea. Can someone really build a device to antialias a bitmap and actually gain detail? I remember seeing articles in old MacWorld's about software that did just that, but I never saw it beyond paper.
Make a monitor that has some sort of alternate interface, like IEEE 1394 or USB 2.0, that could be used to transmit a vector language. Make monitors like printers. (Althought the page-per-minute would be nearer to 5100 (85 Hz refresh), but the resolution is considerably less!)
Give these screens the ability to autoswitch input, perform video mixing and such.
But I'm off topic.
is explained, in depth, at Gibson Research If you don't get through to this site, its not becaused they are slashdotted, but because someone is inflicting a DDoS on them (which has the same impact, though). For this reason, I can't give you the complete address, but its just a from mouseclicks away (as soon as the attack stops). Yes, it may be amazing, but (to some extend) sub-pixel rendering improves quality on a CRT, too! If you don't believe me (and even if you do), check out that small programm that is offered on the web-page above. But notice why it works: it does so because antialiasing and sub-pixel rendering is similiar. And contrary to some believes Microsoft didn't invent subpixel rendering! Instead, this technique was used on Apple computers 26 years ago (this has been a topic on /. AFAIR).
You found a sword: +4 damage, +5 moderator points
I have read that it's because - unlike flatscreens - there's no defined order of RGB so you can't lighten the red of a pixel and know it's the left.
--Giving to trolls for the benefit of us all
If I want gray between white and black... wont I actually end up with edge pixels on one side being slightly one color, and the other side being slightly another color?
My server