首頁>科技>

計算機圖形學被稱為計算機「三大浪漫」之一,這個github倉庫將幫助迷茫的你快速入門。

倉庫中包括多個模型,如片段著色器(使用GLSL語言編寫)、過程紋理生成、柵格化、光照計算和實時光線跟蹤。

所有的專案都將使用WebGL的標準技術,在瀏覽器中的使用圖形編碼進行開發。這種方式利用了現代的Web開發工具來快速迭代,並能夠很容易與其他人分享自己的工作成果。並且無需實際編寫javascript程式碼。

基礎的執行環境要求是node.js v14和npm。

對於初學者,作者建議從「被子圖案」作為入門專案。

被子圖案怎麼做?

片段著色器執行在螢幕上的每個畫素點,每個畫素點由著色器確定它的顏色。vec4是一個帶有紅色、綠色、藍色和透明通道的4維向量。

核心程式碼在shaders/quilt.frag.glsl,它能夠執行在GPU上。

透過把程式碼中的註釋部分開啟就可以獲得更豐富的樣式。

還能著色什麼圖案?

滿滿的「我的世界」風的島嶼圖。

使用實時計算機圖形學中非常流行的光柵化方法渲染3D三角形網格,與大多數遊戲使用的演算法相同。追求更逼真的、模擬現實世界中的物體。

探索風格化渲染,也稱為非照片級渲染。這是一個放棄忠實於現實生活的圖形領域,但是在模仿表達風格時可以實現更具創意的表達。主要原理是根據亮度強度的閾值離散化它並以不同的樣式進行陰影處理,能夠模仿漫畫書中的藝術風格。

「光線追蹤」的演算法能夠反射,是照片級真實感渲染中的黃金標準。計算機上的光線跟蹤演算法遵循穿過場景的無窮小光線的路徑,直到它們與曲面相交為止。這種方法提供了一種從任何特定位置和方向查詢第一個可見物件的簡單方法,並且是許多渲染演算法的基礎。

作者其人

Eric Zhang,是哈佛大學的碩士研究生,學習數學和計算機科學,他的主要研究興趣是圖形學、機器學習、程式語言和系統。在高中時期代表美國拿到兩塊IOI金牌,還給美國的高中生寫了一本物理書。

作者的github也是十分勤奮!曾在英偉達實習、協助實現sota的語義分割系統。

作者對音樂也頗有研究。

參考資料:

https://github.com/ekzhang/graphics-workshop

6
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • vlookup你真的學會了嗎?提取資料它比Ctrl+E更好用,就是太難了