3.1. Colour Cathode Ray Tube   

Colour Cathode Ray Tube : like normal tube but  

crt.ps

Shadow mask restricts electron beam onto one part of screen

i.e. where appropriate coloured phosphor is.

Needs much better convergence plus higher voltage because many electrons are lost due to hitting shadow mask. This higher voltage -> X-rays -> no naughty bits.

Red, green and blue guns could be driven by 3 on or off bits  

crt2.ps
by combining these 3 bits

R G B
black 0 0 0
white 1 1 1
red 1 0 0
blue 0 0 1
yellow 1 1 0
magneta ?
cyan ?

No ability for anything else i.e. no light blue or shades of grey = pure white plus some black or low intensity white.


 

clt.ps
The three bits (formerly RGB direct to the guns) now used as an index or address to an 8 bit x 8 block of memory: 8 bytes whose values range from 0 -> 255.

Therefore 3 bits now index into colour lookup table. If bits are 101 (normally be Red & Blue) then the address 5 gives 3 lots of 8 bits to feed to the D/A's 0 -> 255 values of intensity for red gun and a different 0 -> 255 " " " blue gun " " 0 -> 255 " " " green gun

We set up values in the lookup table ie set colour number 5 to have 255 for red, green, blue, = white or colour number 7 to be 0 red, 127 blue and 12 green.

9 bit planes : 29 = 512 colours at any one time (vectrix) out of palette of 16 million colours.

24 bit planes = 224 colours at any one time (Vista board or 4D70GT) might only have 220 pixels on screen.

Example: 512 x 512 in 1/30th sec = 218 pixels in 1/30th sec = 127 nanoseconds/pixel

= memory access from video ram plus memory access of CLT plus conversion time of DAC plus gating! 1024 x 780 = 41 nsec => fast memory plus wide bandwidth for CRT 1280 x 1024 = 25 nsec

The Colour Lookup table of a workstation can normally be changed so that the most appropriate colours can be used for any application. Some workstations have dynamic CLT's - that is there is one physical CLT but multiple logical CLTs which can be quickly loaded into the physical CLT for each window/image. Most workstations running X windows will let you change and interrogate the current CLT with procedure calls and there is an application called xshowcmap which will indicate what colours are already allocated.

For example, suppose it is necessary to get 256 levels of grey for an image processing application. The CLT could be loaded via: for i:= 0 to 255 do { the i'th entry gets the same value for R, G and B } { that is, (0,0,0), (1,1,1), --> (255,255,255) } load_colour_map_entry(i,i,i,i);

But remember that the CLT entries control the colours of the entire display including the windows, the popup menus (not always), the text in the windows, the borders of the windows, etc. Therefore, your windows may become black or some obscure colour after the above code. Always get the current CLT entries, change them and then reset them to their original values when your application finishes.