上次更新時間 2019.1.27
本系列文件記錄了熊皮皮使用Rust開發Windows/macOS/iOS/Android等跨平臺共享原始碼的複雜圖形渲染專案的設計、思考與實踐。選擇Rust而非C++的主要原因是,兩者效能相似,Rust有方便好用的依賴管理器、跨平臺編譯極其方便、語義明確、豐富的第三方庫和文件齊全的官方標準庫、編寫單元測試方便。缺點是上手難度略大。
目錄
- Rust 2018開發環境配置與開發效率工具集
- C++與Rust變數宣告的比較
- C++與Rust引用外部符號的比較
- C++與Rust資料型別對應關係
- C++與Rust操作裸指標的比較
- Rust日誌系統實踐總結
- Rust跨平臺與條件編譯總結
- Xcode External Build System 失敗的 Capture GPU Frame 經歷、解決方案與覆盤
- Rust圖形庫gfx-hal 逐幀渲染流程介紹
staging:
gfx-hal staging:
- 以OpenGL/ES視角介紹gfx-hal(Vulkan) Texture介面使用
- gfx-hal Metal模組Texture操作原始碼分析
- 以OpenGL/ES視角介紹gfx-hal(Vulkan) Framebuffer介面使用
- gfx-hal Metal模組Framebuffer操作原始碼分析
- 以OpenGL/ES視角介紹gfx-hal(Vulkan) Shader/Program介面使用
- gfx-rs Metal模組Shader/Program原始碼分析
- gfx-rs/hal開源專案參與開發總結
cold:
- CLion 2018 Rust單元測試總結
- Rust與C介面(FFI)互動的總結
- Rust錯誤處理實踐總結
- Rust庫匯出C介面的總結
- Rust模組系統團隊實踐總結
- gfx-rs/wgpu (WebGPU) 專案的學習總結
- Rust使用dlopen、dlsym等函式的總結
- Rust巨集開發總結
- Rust輸出.a/.so包大小瘦身總結
- Rust“反射”實踐總結
- Rust OpenGL ES開發所遇問題及解決辦法
- 使用Rust重寫圖形渲染專案的經驗總結
致謝
感謝Rust社群的朋友們在我開發與學習過程中所提供的熱心幫助。
fyfcauc、dajinyu_haiyan、FEIPER、leizh007、JoySeeDog、黑化的齒輪、我傻逼我自豪(茶包)、λCrLF·º⁷¹º、KiChjang、{
Chaos Bot
}、Dzmitry Malyshau @mozilla、Josh Groves、Zakarum、Hal Gentz、mtak-、DCjanus、Solmyr、Shawns。