彩現
閱讀設定
(由彩現引擎跳轉過嚟)
喺電腦圖像相關領域上,彩現(粵拼:coi2 jin6;英文:rendering)係指運用電腦程式,由一柞立體模型嗰度整一幅二維電腦影像出嚟嘅過程。
繪畫距離(draw distance)係指一件物件要離個鏡頭幾遠,先可以做到彩現最後出現喺幅圖像嗰度。
景檔案
[編輯]内文:景檔案
想做彩現嘅人會首先整一個景檔案(scene file)出嚟,呢個檔案會包含咗多種資訊,包括係「個景入面用咗啲乜嘢立體模型」、「每個立體模型喺邊個位置」、「光源喺邊」、「個鏡頭擺喺邊個位置」、同埋「幾何變換」呀噉,描述個景係點嘅。然後部電腦會將呢個檔案入面嘅數據傳去一個彩現程式嗰度,等個程式做一大柞人手做唔嚟嘅運算,計出個鏡頭會睇到嘅(二維)影像應該係點嘅樣嘅,並且將個鏡頭所睇到嘅影像俾出嚟做輸出(輸出會係一幅點陣圖或者第啲二維圖像)[1][2]。
掃描線彩現
[編輯]内文:掃描線彩現
掃描線彩現(scanline rendering)係最常用嘅彩現演算法之一。是但搵一幅電腦圖像,幅嘢都係由一大柞(好多時數以百萬粒)像素組成嘅。掃描線演算法會每粒像素睇一次,並且按照個鏡頭嘅位置、啲 3D 模型嘅位置、以及光源嘅位置同角度等嘅資訊嚟計出嗰粒像素應該顯示啲乜嘢色水。如是者,經過幾百萬次計算,部電腦就可以計出幅圖應該係乜嘢樣嘅。喺現代嘅電腦當中,呢啲運算快得好交關-唔使幾秒部電腦經已俾到幅圖出嚟[3][4]。
個彩現程式通常都係內置咗喺個電腦圖像軟件入面嘅,而且好多時會有啲特殊功能嚟做一啲特殊效果。彩現嘅過程涉及好多唔同嘅演算法,例如[1][2]:
- 三維投影(3D projection)-係指將三維空間入面嘅點對應落去一個二維平面嗰度嘅過程。一個彩現程式要(例如)由鏡頭嗰度射多條虛想嘅線出去,再睇下鏡頭每點射出去嘅線最先接觸到個景入面邊嚿嘢,從而計出個二維圖像每一點要顯示由邊嚿嘢邊忽嚟嘅光。
- 光線追蹤(ray tracing)-個程式又可以模擬物理學上嘅光,假想有光由光源嗰度射出,並且計出每條光線會由乜嘢表面反射(同埋反射咗之後變成乜嘢顏色),最後進入個鏡頭嗰度變成乜嘢樣。呢種做法可以創造出好真實嘅圖像,但係運算量好大,所以好多時會造成要嘥好多時間做彩現。
- 濃淡處理(shading)-個程式要能夠以唔同程度嘅黑暗,嚟描繪一個立體模型嘅唔同部份,就好似喺畫畫嗰陣用重啲嘅筆觸嚟令某啲地方深色啲,用輕嘅筆觸嚟令某啲地方淺色啲噉。某啲部份黑啲能夠令到一件物體望落有景深,令到佢望落比較似立體。喺現今嘅電腦圖像界,要做濃淡處理可以有好多演算法。
睇埋
[編輯]攷
[編輯]- ↑ 1.0 1.1 Bouknight, W. J. (1970). "A procedure for generation of three-dimensional half-tone computer graphics presentations". Communications of the ACM. 13 (9): 527–536.
- ↑ 2.0 2.1 Phong, B-T (1975). "Illumination for computer generated pictures". Communications of the ACM. 18 (6): 311–316.
- ↑ Computer Graphics: Scan Line Polygon Fill Algorithm. Own shares in HackerNoon.
- ↑ Scanline Fill Algorithm 互聯網檔案館嘅歸檔,歸檔日期2016年1月5號,..
拎
[編輯]- GPU Rendering Magazine, online CGI magazine about advantages of GPU rendering
- SIGGRAPH The ACMs special interest group in graphics — the largest academic and professional association and conference.