OpenGL系統設計-光照與材質(1)

來源:互聯網
上載者:User

 

光照與材質

 

光照是電腦圖形學的重要組成部分,沒有光照,任何物體看起來就象是塑料作成的,還是缺少真實感。

在大自然中,光也是最重要的組成要素之一。籍於光,我們才能認識世界。能夠產生光的物體稱為光源。對人類來說,太陽就是最大、最重要的光源,其他小如燃燒的蠟燭,發光的二極體也是光源。有光就有陰影,在光照不到的地方就形成了陰影。

當光照在物體上時,不論是什麼物體,都會反射光,但是反射光的強弱和物體的屬性相關。透明的物體還會透射光,將一部分光透射出去。因為光的本質是能量,所以透射和反射的都是能量,並且任何物體都會吸收光。

 

(修改)反射光通常可以分成三部分:環境反射、漫反射、鏡面反射。環境反射光假定入射光均勻地從周圍環境入射至景物表面並等量地向各個方向反射出去,通常物體表面還會受到從周圍環境來的反射光(如來自地面、天空、牆壁等的反射光)的照射,這些光常統稱為環境光線(Ambient Light);漫反射分量表示特定光源在景物表面的反射光中那些向空間各方向均勻反射出去的光,這些光常稱為漫射光(Diffuse Light);鏡面反射光為朝一定方向的反射光,如一個點光源照射一個金屬球時會在球面上形成一塊特別亮的地區,呈現所謂“高光(Highlight)”,它是光源在金屬球面上產生的鏡面反射光(Specular Light)。對於較光滑物體,其鏡面反射光的高光地區小而亮;相反,粗糙表面的鏡面反射光呈發散狀態,其高光地區大而不亮。

 

OpenGL中的光應用分為三部分:光源屬性、材質屬性和全域光屬性。

光照也有RGBA和色彩索引表兩種模式。相對於色彩索引表模式,RGBA模式更加靈活,更少的約束。因此,RGBA模式在OpenGL中應用廣泛的多。

 

OpenGL光照是基於Phone光照模型的。在幾何體的每一個頂點,顏色值是由幾何體的材質屬性和光源屬性共同決定的。頂點顏色的最終值是要疊加四個分量,這四個分量就是OpenGL的四種光:環境光線(Ambient Light)、漫射光(Diffuse Light)、鏡面光(Specular Light)和輻射光(Emission Light)。

輻射光是最簡單的一種光,它直接從物體發出並且不受任何光源影響。環境光線是由情境中所有不能確定方向的光。

漫射光來自一個方向,當照射到物體上,則在各個方向上均勻地發散出去。所以,視點的位置不影響看到的漫射光的亮度。漫射光是當前光照下表現出來的最基本的部分。基本上所有的光都有漫射成分,聚焦能力越強的光,其漫射成分就越小,如雷射速,聚焦能力越弱的光,其漫射成分就越大,如手電筒發出的光。

鏡面光來自固定方向並沿另一方向反射出去,一個平行雷射束在高品質的鏡面上產生100%的鏡面反射。光亮的金屬和塑料具有很高非反射成分,而象粉筆和地毯等幾乎沒有反射成分。因此,從某種意義上講,物體的反射程度等同於其上的光強(或光亮度)。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.