Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!elroy.jpl.nasa.gov!aero-c!gumby.dsd.trw.com!deneva!news From: thomsen@spf.trw.com (Mark R. Thomsen) Newsgroups: comp.sys.next Subject: Re: ColorStation questions Message-ID: <281F74CB.1E6C@deneva.sdd.trw.com> Date: 2 May 91 02:09:15 GMT References: <1991Apr30.150026.9826@magnus.acs.ohio-state.edu> Sender: news@deneva.sdd.trw.com Organization: TRW Inc., Redondo Beach, CA Lines: 63 There is enough discussion and argument on this that perhaps another attempt to explain will help some (and add confusion to others). I'll start slow to try minimizing confusion. NeXTdimension represents a value to display with 24 bits. The 24 bits are the concatenation of three 8 bit values, representing intensities of the three primaries used (red, green, blue). Since the value does not go into a lookup table that the programmer controls (translating the internal value to a display value), the system is called 'true color'. To modify an image displayed (e.g., a programmed gamma curve) a program will directly modify each value in the image array. If a lookup table was used the table values could be modified and the image array would not be altered. The advantage of the LUT is often speed relative to a program modifying 100's of thousands of values. NeXTdimension's processing of images will usually be done with the i860 so performance is not shabby (we worked image processing algorithms on a loaner NeXTdimension in February). (BTW: A gamma correction is a remapping of displayed values so that a linear digital data progression - 1, 2, 3, 4 - looks linear on a display or printer. A different gamma value is associated with a different device, helping to make the displayed image look the same and 'right' on different devices. Recommend reading section 13.1.1 of Foley, vanDam, Feiner, and Hughes' Computer Graphics text for detailed description). NeXTstation Color represents a value to display with 12 bits, simply halving the concatenated values to 4 bits each for RGB. Everything else remains the same, though there is no i860 to pump up performance. There may be a non-programmable LUT that adjusts displayed colors according to display settings. This I do not know, though it would make sense. I think that the Sony chips on the ND do this. Perhaps looking at the NSC. NeXT confused some people when they said "we will bring out 32 bit color". What they meant is 24 bit color on NeXTdimension with alpha processing. Most data structures a programmer will work with have 32 bits - the extra 8 bits is the alpha for transparency/opaqueness. Pixar used the extra bits for other things as well. I don't think NeXT has said if they plan to. Unless you are careful you can easily start letting Display Postscript start dithering. It looks suprisingly good, but for people doing image analysis it tends to get in the way. It is not hard to be careful. Awareness is sufficient. A gray value is when R=G=B, whether 8 bits or 4 bits. Thus ND supports 256 gray values, or can emulate an 8 bit gray scale display. NSC supports 16 gray values. For image processing many images come as gray scale. To display these we copy each value into the R, G, and B of an image array - after we have done all of the processing on the gray scale value. There are tricks for coaxing more visually meaningful gray scale than this - mail me direct if you have a question. In our experience a display architecture that uses an LUT (e.g., a Sun) is suited for graphics applications (e.g., CAD). A true color display architecture such as NeXT's is suited for image applications (e.g., earth resource satellite analysis). You can, of course, do image processing on a Sun (it is hard to do it well) and graphics on a NeXT. The bias as you get deeper is this way. Again, this is our experiences. RGB input would have been excellent, but a bit unusual for something in this price range. We have a need for RGB and are using other equipment to capture 'high-res' frames and transfering them to a NeXT. If someone finds a technique to directly capture RGB on the NeXT, please post. Mark R. Thomsen