Computer graphics 筆記
1. 在螢幕上, 將3D實體成現在2D的螢幕上. 簡言之, 即透過3D繪圖的演算法, 計算出投影(projection).
2. 對一個實景(scene)作 projection, 需要一些資訊, 並將這些資訊轉為數值作計算:
$ 定義一個頂點(Vertex), 並與其他vertice組成一個mesh架構, 來描述整個scene.
$ 每個Vertex具有許多屬性(attribute)
* coordinate
* normal
* color
* texture cordinate
$ 由vertice間連結成的mesh, 主要有3種primitive: point, line, and triangle.
$ 最後將這些primitives(geometric object)轉為RGB(pixels).
3. 3D computer graphics最主要的兩個過程是modeling跟rendering.
$ modeling: 將scene轉為vertex & mesh architecture.
$ rendering, render: 目前覺得最合理的意思是著色. 也就是將vertex轉為pixels.
4. rendering的技術有三:
$ ray-tracing:
定義由投影點(camera/eye)到該pixel的位置的路徑為ray, 並透過光的反射折射等原理,
根據一路上碰到的物體或光源來得知該pixel的顏色.(好抽象...)
$ radiosity:
(略, 太難懂)
$ rasterizing:
光柵化, 是說將vector graphics轉為raster graphics的過程.
raster graphics是指由pixel組成的圖形, 就是點陣圖.
vector graphics是指由geometric model組成的圖型.
EX. 在一個白色畫面上有一個紅色的圓
Raster grphics: 這是一個由紅色跟白色pixel所排列出的圖形
vector grphics: 以向量的方式表示這個圓(圓心,半徑,顏色)
5. 在硬體加速上, rasterizing實現度最高, 為實作3D pipeline主流(但realistic最差)
[參考1]
Comments
Post a Comment