參考:phong模型:環境光 + 漫反射 + 鏡面反射。funwithwebgl2 012-phong lighting
lambertian模型:漫反射。
1、環境光
void
main()
2、漫反射
漫反射是模擬光照到粗糙的物體表面的效果,會考慮到光的射入方向,但是不考慮觀察者的視線方向,垂直射入的光線會比斜著射入的光線更加的明亮。
光線方向與模型表面的法線方向夾角越小應該看上去越亮。這一特性可以用點乘表示。
計算公式: diffuse = kdiffuse × n • l × cbase
varying vec4 fcolor;
// 光的顏色
uniform vec4 diffuseproduct;
// 光的方向
uniform vec4 lightposition;
void
main()
3、鏡面反射
鏡面反射是模擬光照到光滑的物體表面的效果,會產生明亮的斑點或強光,除了需要考慮到光的射入方向也要考慮觀察者的視線方向。
計算公式:
specular = kspecular × pow
(max
(r • v,0
), kspecularpower)
4、布光方式
1)三點布光
物理天空+主光
天空盒+乙個主光源。
reference links
WebGL 平行光和環境光
馮氏反射模型引申了這個四步走的光照系統,首先所有的光線都有以下兩個屬性 發生漫反射光的rgb值。發生鏡面反射光的rgb值。其次所有材質都有以下四個屬性 反射的環境光rgb值 反射的漫反射光rgb值 反射的鏡面反射光rgb值 物體的反光度,它決定了鏡面反射的細節 對於場景中的每一點,它的顏色都是由照射...
WebGL程式設計(1) 學習總結之WebGL常用方法
webgl簡介 webgl,是一項使用canvas在網頁上繪製和渲染複雜三維圖形 3d圖形 並允許使用者與之進行互動的技術,webgl的技術規範繼承自免費和開源的opengl標準,而後者在計算機圖形學 電子遊戲 計算機輔助設計等領域已被廣泛使用多年。由於webgl處理的是三維圖形,所以它使用的是三維...
WebGL學習筆記3
webgl lesson 10 loading a world,and the most basic kind of camera 這個demo載入了乙個場景,並且能處理鍵盤事件。載入場景 xmlhttprequest http get request a callback function當載入場...