OpenGL學習之路15 環境光

2021-08-19 16:26:11 字數 1930 閱讀 1633

**放在github上

根據教程:ogldev一步步從零開始,記錄學習歷程

光照在3d圖形領域中有許多模型,常見的模型有:環境光、慢射光、鏡面反射光、點光源等等,這次只對環境光進行學習和實現

環境光是乙個沒有光源、沒有方向並且對場景中的所有物體產生相同的點亮效果的一種光

環境光可以理解成為世界的基本光,即我們這個三維空間的基本亮度。

環境光有兩個屬性:

- 顏色:即燈光的顏色,比如普通房子裡白熾燈房子裡就是白色的,特殊性場所紅房子裡粉紅色調就是粉紅的

- 強度:即光強,強度越大亮度也就越大

環境光的計算:

我們用乙個結構體來包括表示環境光的兩個屬性:

struct directionallight

;

平行光是有特定方向但是沒有特定的光源,就好比我們現實世界的太陽光。

太陽光照射到物體上,物體受到光線直直照射的地方光線強,而其它角度光線較弱,背面幾乎照不到,這些概念屬於漫反射範疇。

我們的環境光屬於,太陽照到我們物體上,而照到其他物體上也會反射光照到我們物體的背面,而這個基本的光就是我們的環境光。

首先,要在主程式裡將環境光的引數數值傳遞到著色器內,我們使用uniform變數來傳遞引數的值

可以看到四面體由暗到亮

openGL學習筆記(1) 環境搭建

參考環境 windows 10 企業版 visual studio 2015 glfw 3.3.2 cmake 3.18.0 win32 x86 構建glfw glfw是乙個專門針對opengl的c語言庫,它提供了一些渲染物體所需的最低限度的介面。將glfw加入到專案中 方法一 將生成的glfw3....

Cesium學習之路(一) 環境搭建

最近又是心血來潮啊,把cesium撈出來學習學習一波吧,思來想去還是來csdn上記錄下學習的過程和心得吧。本來想在自己 上貼練習的例子的。這次學習cesium,是想結合自己有實際做gis專案的經驗和熟悉arcgis js api的經驗,從實際的專案所需要的gis功能上針對性的去學習cesium可以實...

Python 之路(2 環境搭建

一 關於python版本 python版本的選擇,不做贅述,網上資料眾多,自行選擇。二 安裝python 本博選擇的是python3.7.0,之後的 也基於此版本。三 關於ide 工欲善其事必先利其器,python之路必從python ide開始。有很多的python ide工具可以用,但是要從中選...