用 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 中實現光線追蹤?
- 在WebGL中使用GLSL實現光線追蹤Web
- RTX顯示卡實時光線追蹤有什麼用? 顯示卡光線追蹤是什麼意思
- TGDC | 向陽而生 —— 光線追蹤的專案應用
- 虛幻引擎中的實時光線追蹤(一):起源
- RTX顯示卡實時光線追蹤技術解析 英偉達RTX顯示卡的光線追蹤技術是什麼?
- 手機上的光線追蹤,OPPO率先做到了
- 把遊戲變成現實,光線追蹤技術到底有多神?遊戲
- 虛幻引擎中的實時光線追蹤(二):建築視覺化視覺化
- 光線追蹤往事:十年技術輪迴
- 用Rust實現單例Rust單例
- games101-1 光柵化與光線追蹤中的空間變換GAM
- NVIDIA RTX On:Gamescom海量新遊戲大作演示光線追蹤GAM遊戲
- RTX光線追蹤帶給使命召喚的畫質救贖
- 實時光線追蹤技術:發展近況與未來挑戰
- Rust 程式設計,實現簡單的佇列Rust程式設計佇列
- Rust 語言的全鏈路追蹤庫 tracingRust
- 用python實現簡單的線上翻譯程式Python
- GDC | 下一代的移動端圖形:《暗區突圍》手遊中的光線追蹤實現
- Unity GDC 2019 Keynote精彩要點:次時代圖形、實時光線追蹤、DOTSUnity
- WebGPU+光線追蹤Ray Tracing 開發三個月總結WebGPU
- 光線追蹤版《我的世界》,意義不只是更炫的畫面
- 搭載「光線追蹤」技術的次時代主機會有怎樣的畫面表現?
- 用HTML5 Geolocation實現一個距離追蹤器HTML
- 追蹤將伺服器CPU耗光的兇手伺服器
- 在 React 應用程式中實現簡單的頁面檢視跟蹤器React
- 鏈路追蹤技術的應用及實踐
- 利用Spring Boot實現微服務的鏈路追蹤Spring Boot微服務
- 分散式鏈路追蹤框架的基本實現原理分散式框架
- Go - 實現專案內鏈路追蹤Go
- Rust GUI庫 egui 的簡單應用RustGUI
- 從《使命召喚》到《我的世界》,光線追蹤技術如何改變遊戲?遊戲
- games101 作業4及作業5 詳解光線追蹤框架GAM框架
- 詳解ElasticAPM實現微服務的鏈路追蹤(NET)AST微服務
- log4j MDC實現日誌追蹤
- Go - 實現專案內鏈路追蹤(二)Go
- 《我的世界》win10版將更新測試版本,首次支援光線追蹤技術Win10