RGBI
RGBI (engleska skraćenica od Red, Green, Blue, intensity - crveno, zeleno, plavo, intenzitet - svjetloća) ime je za vrstu video izlaza koji je kompatibilan s IBM CGA video izlazom. Svaka točkica na zaslonu zastupljena je s 4-bita (1/2 bajta). U tih 4-bita bajta, upisana je vrijednost četiri komponente: crveno, zeleno, plavo i svjetloća. S RGBI jedan bajt sadrži dvije točke na ekranu.
Prema RGBI modelu, za svako slovo u nazivu R, G, B i I odvojen je jedan bit u 4 bita(0:plava, 1:zelena, 2: crvena i 3: intenzitet). Intenzitet je dijelovao na sve boje, tako što bi ih osvjetlio ili potamnio zavisno o sadržaju bitova u polju. S ovom tehnikom ubrojavanja proizvodila se paleta boja koja je prikazana u sljedećoj tablici:
RGBI paleta sa 16 boja | |||
---|---|---|---|
0 | crna #000000 |
8 | siva #555555 |
1 | plava #0000AA |
9 | svijetlo plava #5555FF |
2 | zelena #00AA00 |
10 | svijetlo zelena #55FF55 |
3 | cyan #00AAAA |
11 | light cyan #55FFFF |
4 | crvena #AA0000 |
12 | svijetlo crvena #FF5555 |
5 | magenta #AA00AA |
13 | svijetla magenta #FF55FF |
6 | smeđa #AA5500 |
14 | žuta #FFFF55 |
7 | svjetlo siva #AAAAAA |
15 | bijela (visoki intenzitet) #FFFFFF |
Prikaz na zaslonu, odvija se tako što se svaka digitalna komponenta: crveno, zeleno, plavo i svjetloća pošalje preko video izlaza na računalu, bez pretvaranja u analogni signal izravno prema zaslonu preko kabela s DE-9 utikačima. Sklopovlje u zaslonu nakon što je primilo digitalni kod za točku, pretvara u analogni signal u rasponu od 0.0V do 1.0 koji se šalje prema katodnoj cijevi u boji prema sljedećoj formuli:
crvena = 2/3*(rednaBoja & 4)/4 + 1/3*(rednaBoja & 8)/8; zelena = 2/3*(rednaBoja & 2)/2 + 1/3*(rednaBoja & 8)/8; plava = 2/3*(rednaBoja & 1)/1 + 1/3*(rednaBoja & 8)/8;
Jedina iznimka od je Boja 6 ili tamno žuta koja se tretira na drugačiji način da se dobije bolji ishod odnodno smeđi ton žute tj. da se sa žute prelazi u smeđu boju.
Tamno žuta | |
---|---|
6 | #AAAA00 |
Zbog toga unutar mnogih RGBI zaslona, postoji posebno sklopovlje koje se koristi za prozivodnju ove boje. Sklopovlje ispitiva da li je upaljena boja 6, i zatim prepolovljava vrijednost zelene. Ovo je prikazano u sljedećim pseudo kodom:
if (rednaBoja == 6) green = green / 2;