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