太空工程師LCD影象顯示技術設計詳細介紹

來源:樂享遊戲吧 1.01W

太空工程師LCD影象顯示技術設計詳細介紹

太空工程師LCD影象顯示技術設計詳細介紹 第2張

沒錯,我們做出了顯示卡。

【原理】

當LCD面板設定的字型是最後一個Monospace的時候,存在一些特殊的編碼,會顯示成畫素顏色,這是由zzhou3014提出來的,也經過了檢驗。例如:輸入uE100則顯示一個黑色畫素點。

值得注意的是,因為編碼的問題,直接給LCD手動寫入uE100是不行的,必須通過程式寫入

【過程】

基於這個原理,我們最先實現了畫素方塊的顯示,把螢幕字型大小設定為0.1f的時候,每行每列均有177個畫素點,最開始我們採用兩個for迴圈遍歷所有的x和y,程式每個物理幀需要計算177*177次,遠遠超過了程式計算量上限,所以程式設計塊會報錯停止

最開始的層級顯示技術(綠色點是滑鼠控制運動的,監測的是主控座椅的滑鼠輸入資訊),這是最開始的顯示技術,僅僅實現了不同影象元素的分層顯示

太空工程師LCD影象顯示技術設計詳細介紹 第3張

然後是畫素小遊戲

太空工程師LCD影象顯示技術設計詳細介紹 第4張

至此因為演算法的問題,每個物理幀程式都需要進行177*177次計算,並匹配需要顯示的畫素點,然後對畫素點進行著色。

在這種演算法下,需要顯示的內容越多,程式負擔越大,導致需要把程式的字型設得很大(0.5)來減少總畫素點數量,減少程式計算負擔

再後來,我們著手優化顯示的演算法,取得了很好的成果,但是,依然無法實現0.1字型,因為程式至少在每個迴圈都要遍歷一次177*177個畫素,這個計算量本身已經超過程式限制了

下圖是0.2字型大小下用滑鼠繪圖,綠色滑鼠是通過監測主控座椅的滑鼠輸入實現真實滑鼠隨動的,按住空格就能畫出黃色線條

太空工程師LCD影象顯示技術設計詳細介紹 第5張

最後,我們開創性地採用了1/2演算法,即每個程式迴圈內只重新整理一半螢幕,完美實現了最小畫素繪圖

太空工程師LCD影象顯示技術設計詳細介紹 第6張

雖然會有點卡,但是,這一技術非常有望應用到飛船控制系統上,將各種控制、顯示、變成圖形化、視覺化的操作

太空工程師LCD影象顯示技術設計詳細介紹 第7張

準備把這玩意接入雷達,做視覺化雷達掃描

熱門標籤