3D迷宮

簡介

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

技術

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

學習

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

成果圖



留言

這個網誌中的熱門文章

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

🛠【實戰排除教學】從 VS Code 的 _logger 錯誤,到 PowerShell 找不到 npm/serve,再到 Oracle ORA-03135 連線中斷——一次搞懂!

🔎如何在 Oracle PL/SQL 儲存過程中為文字欄位加入換行符號(CHR(10))——以 Updlcmremark 為例