用 Rust 實現簡單的光線追蹤
學 Rust 十來天了,自己被這個語言驚豔到,就跟著教程 Ray Tracing in One Weekend 寫了個很簡陋的光線追蹤示例練習,專案在 Latias94/rust_raytracing。
學這門語言的時候,感覺就是上手容易遇到很多新概念,容易學不下去,跟編譯器作鬥爭...不過作為一個還很新的系統程式語言,工具鏈如文章、包管理、格式化、編譯器等很完善,官方教程很棒,社群也很活躍。
學 Rust 的契機其實是在 V2EX 上看到有人在糾結學 Go 還是 Rust,底下的帖子也有不少誇 Rust 語言的,因此自己也開始關注 Rust 語言。後來發現 Rust 的用武之地非常廣,Github 上還能找到不少 Rust 做的遊戲引擎,其中一部分主打 ECS 功能,例如:bevyengine/bevy 、Ralith/hecs 等。
學習 Rust 語言,其實也是在瞭解一個現代化的語言該有的樣子,瞭解 C++ 或其他語言部分設計上的不足,以及 Rust 是打算如何從根源解決這些問題的。這部分我作為一個初學者,不打算展開講。大家有空可以瞭解一下 Rust 語言,看看官方的教程《Rust 程式設計語言》。
總而言之,我覺得光線追蹤的教程可以作為學一門新語言後嚴肅學習的專案,做完成就感也滿滿!
順便推薦一篇好文:新技術學習不完全指北:以 Rust 為例。
最後放下示例的渲染圖:
五一勞動節快樂!
相關文章
- 從零開始的簡單光線追蹤示例
- 如何在 HDRP 中實現光線追蹤?
- RTX顯示卡實時光線追蹤技術解析 英偉達RTX顯示卡的光線追蹤技術是什麼?
- TGDC | 向陽而生 —— 光線追蹤的專案應用
- 視覺技術的聖盃:光線追蹤如何再現真實世界?視覺
- 把遊戲變成現實,光線追蹤技術到底有多神?遊戲
- 虛幻引擎中的實時光線追蹤(二):建築視覺化視覺化
- 光線追蹤往事:十年技術輪迴
- 用Rust實現單例Rust單例
- 實時光線追蹤技術:發展近況與未來挑戰
- NVIDIA RTX On:Gamescom海量新遊戲大作演示光線追蹤GAM遊戲
- 光線追蹤(RayTracing)演算法理論與實踐(三)光照演算法
- GDC | 下一代的移動端圖形:《暗區突圍》手遊中的光線追蹤實現
- 搭載「光線追蹤」技術的次時代主機會有怎樣的畫面表現?
- Java實現Lagan法射線追蹤(lagan.java)Java
- Rust 程式設計,實現簡單的佇列Rust程式設計佇列
- WebGPU+光線追蹤Ray Tracing 開發三個月總結WebGPU
- 中國DXR Spotlight光線追蹤開發者大賽優勝者揭曉
- 追蹤將伺服器CPU耗光的兇手伺服器
- 從《使命召喚》到《我的世界》,光線追蹤技術如何改變遊戲?遊戲
- Rust 語言的全鏈路追蹤庫 tracingRust
- 用HTML5 Geolocation實現一個距離追蹤器HTML
- VR先驅研製眼球追蹤 未來VR頭顯將實現眼球追蹤VR
- Go - 實現專案內鏈路追蹤Go
- SQL追蹤和事件追蹤SQL事件
- 分散式鏈路追蹤框架的基本實現原理分散式框架
- 鏈路追蹤技術的應用及實踐
- 《我的世界》win10版將更新測試版本,首次支援光線追蹤技術Win10
- Rust GUI庫 egui 的簡單應用RustGUI
- 用go 簡單實現的LRUGo
- Unity GDC 2019 Keynote精彩要點:次時代圖形、實時光線追蹤、DOTSUnity
- Go - 實現專案內鏈路追蹤(二)Go
- log4j MDC實現日誌追蹤
- Oracle執行語句跟蹤 使用sql trace實現語句追蹤OracleSQL
- 8K 還是光線追蹤?業界頂尖開發者最關心的次世代技術
- Asp.Net Core&Jaeger實現鏈路追蹤ASP.NET
- 詳解ElasticAPM實現微服務的鏈路追蹤(NET)AST微服務
- 用Python實時追蹤你家的電量使用情況Python