大概去年底的時候接觸到了[bgfx](bkaradzic/bgfx)這個渲染庫,對於我這個當時對於圖形學還沒有什麼認識,連OpenGL都還停留在可以畫幾個三角形,用Assimp載入個模型,來點環境光到聚光燈不能更多,也就寫幾個簡單的頂點片元著色器的小白而言,簡直是驚為天庫。

不過那時對於bgfx的認識也就只停留在它做了什麼(為不同的rendering backend建立統一的上層抽象),至於它為什麼要這麼做,以及到底怎麼做的,一無所知。

到了今年,在用cocoscreator搬磚的同時抽空修習圖形學,很多以前不清楚的概念逐漸變得明確了起來,於是慢慢領悟到要駕馭圖形學,最重要的就是深厚的數學基礎以及高超的編程能力,而這兩者都離不開深刻的理解與反覆的鍛煉。

在無意中尋到Dorothy-SSR後,我就有了把cocos2d-x和bgfx組合的念頭,這樣也方便我搬磚,好不容易搬完了戰鬥系統,然後經過了大約2個多月的時間,終於讓cocos2d-x-lite能夠以bgfx為backend跑了起來,附上Github地址:

[cocos2d-bgfx](quicklyslow/cocos2d-bgfx)

@李瑾 如果沒有你的[Dorothy-SSR](IppClub/Dorothy-SSR)的話,我肯定不知道從何入手去修改cocos2d-x,引擎的代碼充滿了閃光點,簡潔而優美,甚至可以說讓我刷新了對C++理解,受益匪淺。

@劉照雲 korok引擎的一系列文章提供的思路非常棒,非常感謝。我會參考著修改。

@Jukka 之前在你的回答里提到過的cocos2d-x引入bgfx已經基本好了,有時間可以提供一些優化的思路,不勝感激。

@toyama nao 我看到你之前有回答中提到你的遊戲可能會因為cocos2d-x不支持metal而被蘋果和opengl一起deprecated掉,bgfx支持metal,而且我測過好用,可以試試這個cocos2d-bgfx。


推薦閱讀:
相关文章