初探計(jì)算機(jī)圖形編程技術(shù)之OpenGL編程光照篇

在人類通過眼睛能感知的世界中,最終中的一個(gè)因素就是光照,所以O(shè)penGL要想把現(xiàn)實(shí)世界展示到屏幕上也是離不開光照的。
光照效果

OpenGL的光照系統(tǒng)有三大部分組成:光源,材質(zhì),光照環(huán)境。

  • 光源就是光的來源,是“光”這種物質(zhì)的提供者;
  • 材質(zhì)是指被光源照射的物體的表面的反射、漫反射(OpenGL不考慮折射)特性;
  • 光照環(huán)境反應(yīng)環(huán)境中所有光源發(fā)出的光經(jīng)過無數(shù)次反射、漫反射之后整體環(huán)境所表現(xiàn)出來的光照效果。指定合適的光照環(huán)境參數(shù)可以使得最后形成的畫面更接近于真實(shí)場(chǎng)景。

OpenGL如何構(gòu)造光照模型

OpenGL需要知道的數(shù)據(jù):景物表面任何一點(diǎn)被光照射后投向觀察者眼中光亮度的大小?,F(xiàn)實(shí)情況一個(gè)物體表面上一點(diǎn)的光亮度,受很多因素影響,想用一個(gè)數(shù)學(xué)模型表達(dá)出來非常難。所以O(shè)penGL對(duì)這個(gè)過程進(jìn)行了簡單化處理,根據(jù)不同的環(huán)境將光照分成三種模型:漫射光,高光(鏡面反射光)以及環(huán)境光。
漫射光
高光
環(huán)境光
不同光的計(jì)算的數(shù)學(xué)模型
  1. phong光照模型
  • 環(huán)境光:
    環(huán)境光數(shù)學(xué)模型

    其中l(wèi)a是一個(gè)常數(shù)。

  • 漫射光:
    漫射光數(shù)學(xué)模型
  • 高光:
    高光數(shù)學(xué)模型

    三種光綜合得到總的光照模型:
    綜合光照
  1. Blinn光照模型

    在漫射光、環(huán)境光上跟Phong模型是一致的,主要是在高光上做了簡化處理:
    Blinn光照模型

    未完待續(xù)。。。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容