太空工程師LCD圖像顯示技術(shù)設(shè)計(jì)詳細(xì)介紹
- 來源:Little丶Life
- 作者:墨非
- 編輯:墨非

沒錯(cuò),我們做出了顯卡。
【原理】
當(dāng)LCD面板設(shè)置的字體是最后一個(gè)Monospace的時(shí)候,存在一些特殊的編碼,會(huì)顯示成像素顏色,這是由zzhou3014提出來的,也經(jīng)過了檢驗(yàn)。例如:輸入\uE100則顯示一個(gè)黑色像素點(diǎn)。
值得注意的是,因?yàn)榫幋a的問題,直接給LCD手動(dòng)寫入\uE100是不行的,必須通過程序?qū)懭?
【過程】
基于這個(gè)原理,我們最先實(shí)現(xiàn)了像素方塊的顯示,把屏幕字體大小設(shè)置為0.1f的時(shí)候,每行每列均有177個(gè)像素點(diǎn),最開始我們采用兩個(gè)for循環(huán)遍歷所有的x和y,程序每個(gè)物理幀需要計(jì)算177*177次,遠(yuǎn)遠(yuǎn)超過了程序計(jì)算量上限,所以編程塊會(huì)報(bào)錯(cuò)停止
最開始的層級(jí)顯示技術(shù)(綠色點(diǎn)是鼠標(biāo)控制運(yùn)動(dòng)的,監(jiān)測(cè)的是主控座椅的鼠標(biāo)輸入信息),這是最開始的顯示技術(shù),僅僅實(shí)現(xiàn)了不同圖像元素的分層顯示
然后是像素小游戲
至此因?yàn)樗惴ǖ膯栴},每個(gè)物理幀程序都需要進(jìn)行177*177次計(jì)算,并匹配需要顯示的像素點(diǎn),然后對(duì)像素點(diǎn)進(jìn)行著色。
在這種算法下,需要顯示的內(nèi)容越多,程序負(fù)擔(dān)越大,導(dǎo)致需要把程序的字體設(shè)得很大(0.5)來減少總像素點(diǎn)數(shù)量,減少程序計(jì)算負(fù)擔(dān)
再后來,我們著手優(yōu)化顯示的算法,取得了很好的成果,但是,依然無法實(shí)現(xiàn)0.1字體,因?yàn)槌绦蛑辽僭诿總€(gè)循環(huán)都要遍歷一次177*177個(gè)像素,這個(gè)計(jì)算量本身已經(jīng)超過程序限制了
下圖是0.2字體大小下用鼠標(biāo)繪圖,綠色鼠標(biāo)是通過監(jiān)測(cè)主控座椅的鼠標(biāo)輸入實(shí)現(xiàn)真實(shí)鼠標(biāo)隨動(dòng)的,按住空格就能畫出黃色線條
最后,我們開創(chuàng)性地采用了1/2算法,即每個(gè)程序循環(huán)內(nèi)只刷新一半屏幕,完美實(shí)現(xiàn)了最小像素繪圖
雖然會(huì)有點(diǎn)卡,但是,這一技術(shù)非常有望應(yīng)用到飛船控制系統(tǒng)上,將各種控制、顯示、變成圖形化、可視化的操作
準(zhǔn)備把這玩意接入雷達(dá),做可視化雷達(dá)掃描
本文內(nèi)容來源于互聯(lián)網(wǎng),如有侵權(quán)請(qǐng)聯(lián)系刪除。

玩家點(diǎn)評(píng) (0人參與,0條評(píng)論)
熱門評(píng)論
全部評(píng)論