學了哪些知識,計算機圖形學才算入門?

從淺入深掌握計算機圖形學


學到足夠的知識能夠寫一個簡單的software rasterizer或ray tracer,應該算是入門吧。

那麼至少會了解一些坐標空間變換、幾何模型的定義方式、光照和材質、採樣等知識。


我提供點簡單的零基礎入門方法,分兩個方向:

  • 離線渲染,零基礎推薦從 http://www.kevinbeason.com/smallpt/ 入手,如果有興趣可以擴展這個項目到支持基於多邊形的模型文件。

  • 實時渲染,零基礎推薦從閱讀 http://www.amazon.cn/Introduction-to-3D-Game-Programming-With-Directx-11-Luna-Frank-D/dp/1936420228/ 入手,看懂八成以上就算入門了。

兩個方向都不簡單,但是都很有趣,建議雙修:)


我就是學樹莓的………個人覺得computer graphics和應用結合的比較緊,根據一個工具/語言把CG涉及到的理論和處理方法理解了就差不多了。例如我學的時候是用的跨平台OpenGL加上紅寶書來動手實踐,不過要記得把數學公式理論什麼的理解才行。


補充一點。如果題主有比較好的數學和物理基礎,可以從基於物理的離線渲染入手,嘗試完成美國一些名校的rendering課程的assignment,建立正確的世界觀,再去學習實時繪製。這麼做對初學者難度有點大,但如果立志於圖形學,長遠看,很有好處。


先去找大學僧和高中僧借本書,把向量矩陣基礎知識看了來,然後看一下簡單的繪製模型的樣例。理解了這裡面的變換、渲染流程等等之後,你可以一邊深入學習,一邊研究更加底層的東西。


寫個簡單軟體渲染器,再摸懂pbrt基本就入門了。


推薦閱讀:

關於非實感圖形學或者風格化渲染有哪些好的書或者paper?
軟體渲染器實現Phong Shading的性能優化?
在基於高度圖的遊戲大世界中該怎麼做動態物體的遮擋剔除比較好呢?
OpenGL適合用來加速圖像處理嗎?
請問光柵化與渲染這兩個術語的區別和聯繫是什麼?

TAG:計算機圖形學 |