GLSL三种修饰符区别与用途(uniform,attribute和varying)
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
1.uniform變量
uniform變量是application傳遞給shader的變量,在application外部賦值,在shader內(nèi)部,不能被修改。如果uniform變量在vertex和fragment兩者之間聲明方式一樣,則可以在vertex和fragment共享使用。
uniform一般用來表示:材質(zhì),參數(shù),變換矩陣和公用顏色等信息。
例子:
uniform vec3 lightPosition;//光源位置
uniform mat4 viewMatrix;//視圖矩陣
?
2.attribute變量
attribute變量只能在vertex shader中使用的變量,不能在fragment shader中聲明attribute變量,也不能在fragment shader中使用。
一般用于表示一些頂點(diǎn)數(shù)據(jù),如:發(fā)現(xiàn),紋理坐標(biāo),頂點(diǎn)坐標(biāo),頂點(diǎn)顏色等等
?
3.varying變量
varying變量用于vertex和fragment shader之間做數(shù)據(jù)傳遞使用。一般vertex shader修改varying,fragment shader使用該varying值。因此varying在vertex和fragment聲明需要一致
轉(zhuǎn)載于:https://my.oschina.net/gdxz111/blog/776445
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的GLSL三种修饰符区别与用途(uniform,attribute和varying)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 9大方法为云安全保驾护航
- 下一篇: 发送json给服务器