3D迷宮

簡介

該專案要求將2D的迷宮以3D的方式繪製出來,並且特別要求不能使用Z-buffer,而是要使用Cell-Portal的方式來自行計算那些牆壁會被繪製出來

技術

Cell-Portal演算法: 將迷宮描述成一個個的小方格,透過計算視線和牆壁的相交來判斷視野中那些物體應該被顯示出來。該方法的好處是不需要考慮視線外的方格中所有的物件,能夠加速渲染速度。

學習

這個專案必須使用OpenGL來進行撰寫,實作Cell-Portal的演算法反而沒有花掉我太多的時間,因為概念上該演算法其實並不是太困難,不過因為數值上的問題導致我會穿越牆體看到另一面畫面進而苦戰了一段時間。

成果圖



留言

這個網誌中的熱門文章

🔍Vue.js 專案錯誤排查:解決 numericFields is not defined 與合併儲存格邏輯最佳化

🛠【ASP.NET Core + Oracle】解決 ORA-00904 "FALSE": 無效的 ID 錯誤與資料欄位動態插入顯示問題

🔎EF Core 連 Oracle 出現 ORA-00600 [kpp_concatq:2] 的完整排錯指南(含 EF Core ToString/CultureInfo 錯誤)