OpenGL中的着色模式GL_SMOOTH与GL_FLAT
glShadeModel
void glShadeModel ( GLenum mode)是OpenGL1.0提供的接口。作用是設置著色模式。
參數mode可以是GL_SMOOTH(默認值)或GL_FLAT。采用恒定著色時(即GL_FLAT),使用圖元中某個頂點的顏色來渲染整個圖元。
在使用光滑著色時(即GL_SMOOTH),獨立的處理圖元中各個頂點的顏色。對于線段圖元,線段上各點的顏色將根據兩個頂點的顏色通過差值得到。對于多邊形圖元,多邊形內部區域的顏色將根據所有頂點的顏色差值得到。
來源(百度百科)
·····················································································
兩種著色模式:平滑著色與單調著色
(1)平滑著色
gl.glShadeModel(GL10.GL_SMOOTH)
平滑著色可以實現一種顏色到另一種顏色的平滑漸變。
一個使用平滑著色的例子,如圖1所示。
圖1 平滑著色的例子
給定三個頂點的顏色值順序為紅、綠、藍色。
(2)、單調著色
gl.glShadeModel(GL10. GL_FLAT)
單調著色即GL_FLAT,單調著色表示圖元在內部不進行計算。一般而言,使用單調著色,圖元的內部顏色就是最后一個項點所指定的顏色。唯一例外的是GL_POLYGON( 多邊形 )圖元,它的內部顏色是第一個頂點的顏色。
一個使用單調著色的例子,如圖2所示。
圖2 單調著色的例子
給定三個頂點的顏色值順序同樣為紅、綠、藍色。
總結
以上是生活随笔為你收集整理的OpenGL中的着色模式GL_SMOOTH与GL_FLAT的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenGL初学时遇到的一些常见的函数之
- 下一篇: C语言/C++ 中除法得到结果的精度问题