GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR,GL_SHININESS,GL_EMISSION,GL_COLOR_INDEXES的區別


(1)GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR屬性。這三個屬性與光源的三個對應屬性類似,每一屬性都由四個值組成。GL_AMBIENT表示各種光線照射到該材質上,經過很多次反射后最終遺留在環境中的光線強度(顏色)。GL_DIFFUSE表示光線照射到該材質上,經過漫反射后形成的光線強度(顏色)。GL_SPECULAR表示光線照射到該材質上,經過鏡面反射后形成的光線強度(顏色)。通常,GL_AMBIENT和GL_DIFFUSE都取相同的值,可以達到比較真實的效果。使用GL_AMBIENT_AND_DIFFUSE可以同時設置GL_AMBIENT和GL_DIFFUSE屬性。
(2)GL_SHININESS屬性。該屬性只有一個值,稱為“鏡面指數”,取值范圍是0到128。該值越小,表示材質越粗糙,點光源發射的光線照射到上面,也可以產生較大的亮點。該值越大,表示材質越類似於鏡面,光源照射到上面后,產生較小的亮點。
(3)GL_EMISSION屬性。該屬性由四個值組成,表示一種顏色。OpenGL認為該材質本身就微微的向外發射光線,以至於眼睛感覺到它有這樣的顏色,但這光線又比較微弱,以至於不會影響到其它物體的顏色。
(4)GL_COLOR_INDEXES屬性。該屬性僅在顏色索引模式下使用,由於顏色索引模式下的光照比RGBA模式要復雜,並且使用范圍較小,這里不做討論。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM