開心遊戲館

位置:首頁 > 單機圖文攻略 > 

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

太空工程師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張

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