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