GLSL三种修饰符区别与用途(uniform,attribute和varying)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值