柵格化
編輯在計算機圖形學中,光柵化(英式英語)或光柵化(美式英語)是獲取以矢量圖形格式(形狀)描述的圖像并將其轉換為光柵圖像(一系列像素、點或線, 當一起顯示時,創建通過形狀表示的圖像)。 然后可以將光柵化圖像顯示在計算機顯示器、視頻顯示器或打印機上,或以位圖文件格式存儲。 光柵化可能是指繪制 3D 模型的技術,或將 2D 渲染圖元(如多邊形、線段)轉換為光柵化格式的技術。
詞源
編輯術語光柵化來自德語光柵“網格、模式、模式”和拉丁語 rāstrum“刮刀、耙子”。
二維圖像
編輯線基元
Bresenham 的直線算法是用于繪制直線的算法示例。
圓形基元
諸如中點圓算法之類的算法用于將圓渲染到像素化畫布上。
3D 圖像
編輯光柵化是渲染 3D 模型的典型技術之一。 與光線追蹤等其他渲染技術相比,光柵化速度極快,因此被大多數實時 3D 引擎所采用。 然而,光柵化只是計算從場景幾何到像素的映射的過程,并沒有規定計算這些像素顏色的特定方法。 每個像素的特定顏色由像素著色器分配(在現代 GPU 中是完全可編程的)。 陰影可能會考慮物理效果,例如光線位置、它們的近似值或純粹的藝術意圖。
將 3D 模型光柵化到 2D 平面以在計算機屏幕(屏幕空間)上顯示的過程通常由圖形管道內的固定功能(非可編程)硬件執行。 這是因為沒有動機修改渲染時使用的光柵化技術,并且專用系統允許高效率。
三角形光柵化
數字 3D 模型的常見表示形式是多邊形。 在柵格化之前,單個多邊形被分解成三角形,因此 3D 柵格化中要解決的一個典型問題是三角形的柵格化。 三角形光柵化算法通常需要的屬性是光柵化兩個相鄰的三角形(即共享邊的三角形)
- 在三角形之間不留空洞(非光柵化像素),因此光柵化區域被完全填充(就像相鄰三角形的表面一樣)。 和
- 沒有像素被光柵化超過一次,即光柵化的三角形不重疊。 這是為了保證結果不依賴于三角形光柵化的順序。 過度繪制像素也可能意味著在將被覆蓋的像素上浪費計算能力。
這導致建立光柵化規則來保證上述條件。 一組這樣的規則稱為左上角規則,它規定像素被光柵化當且僅當
- 它的中心完全位于三角形內。 或者
- 它的中心恰好位于三角形邊緣(或多條邊,如果是角),即(或者,如果是角,所有是)上邊或左邊。
頂邊是完全水平且位于其他邊之上的邊,左邊是三角形左側的非水平邊。
此規則已實施,例如 通過 Direct3D 和許多 OpenGL 實現(即使規范沒有定義它,只需要一個一致的規則)。
質量
編輯光柵化的質量可以通過抗鋸齒來提高,這會產生平滑的邊緣。 亞像素精度是一種在比像素網格更精細的尺度上考慮位置的方法,即使圖元的端點落在相同的像素坐標中,也可以產生不同的結果,從而產生更平滑的運動動畫。 簡單或較舊的硬件,例如 PlayStation 1,在 3D 光柵化中缺乏亞像素精度。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/198034/