Bu alev ve plazma etkileri için, QB4.5 dilini ve belli renk tayflarını kullandık. Peki ya 'PROTECTED MODE' da işler nasıl
olurdu ? Bu etkiler için, 32 bit lik ortamda nasıl ton ataması yapılır ?
Bilgisayarda renkler nasıl gösterilir ? Aslında, yukarıda yazmış olduğum örneklerde bu konuyu anlamış olmanız gerekir.
Renkler, içerdiği tonlardan bağımsız bir şekilde bulunurlar. 320x200x8 lik bir ekranda, 0 dan 255 e toplam 256 adet RENK YAZMACI bulunur. Bu yazmaçlara, 0 - 63 arası değerde, KYM tonları yazılabilinir. Yani, renk yazmaçları ve bu renklerin tonları diye iki adet kavram vardır. şimdi büyük bir yanlış anlamayı düzeltelim. Dikkat edin, içeriği az ama bulunması zor bir bilgidir. 32 bitlik bir derinliğe sahip ekranda, Alpha tonları ekarte edilirse, 16,777,216 tane renk yazmacımız var demektir. (Ağlayasım geldi biz hala 256 tanesiyle uğraşıyoz
) 16M ekranında okunulan bir noktadan 4 hecelik (bytes) bir veri döner;
P = NOKTA(x, y)
Eğer bu nokta siyah ise P = 0, kıpkırmızı ise P = 255, sap sayı
ise P = 65535 olarak döner, işte burda küçük bir yanlış anlama yapmaktayız;
NOT : ARGB yada ABGR şeklinde sıralanmış olabilir. Ben ABGR ye göre yazıyorum!
Siyah.......: 0 = 00 00 00 00
Kırmızı.....: 255 = 00 00 00 FF
Sarı........: 65535 = 00 00 FF FF
P = Nokta(x,y) ile dönen 4 hecelik değerin ilk hecesi kırmızı tonu, ikinci hecesi yeşil tonu, üçüncü hecesi mavi tonu ifade
eder diye biliriz çoğumuz. Bu uygulamada doğrudur. Ancak burda dönen değer aslında renk yazmacının değeridir. Yani,
kıpkırmızı gördüğümüz noktada 255 nolu renk vardır, sapsayı da ise 65535 nolu renk vardır ve dönen değerler sadece renk
numaralarıdır. IBM pc açıldığında, bu renk yazmaçlarına sıralarına uygun olarak tonlar atandığı için, 32 bitlik noktadan dönen değer ABGR olarak ta kullanılabilmektedir. Ama sadece renk numarasıdır aslında....
Alev ve Plazma etkilerinde renklerin tonlarıyla nasıl oynadığımızı hatırlayın. Aynı şekilde, simsiyah gözüken noktanın yani,
0. rengin tonlarını değiştirerek bembeyaz yapabiliriz. Ve dönen noktadaki renk değeri yine 0 olur. Umarım anlatabilmişimdir.
ışte bu ton değiştirme özelliğini 32 bitlik ortamda da kullanabiliriz. Böylece, plazma etkisi için, tek tek renk değiştirmek
yerine daha hızlı olan ton değiştirme yöntemini yine kullanabiliriz. Ancak, !PROTECTED MODE' da VGA portlarına direk erişemezsiniz ama eminim bununda bir yolunu DXD ciler bulacaktır...