博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GLSL三种修饰符区别与用途(uniform,attribute和varying)
阅读量:6987 次
发布时间:2019-06-27

本文共 570 字,大约阅读时间需要 1 分钟。

hot3.png

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

你可能感兴趣的文章
C++11: CAS
查看>>
我的友情链接
查看>>
pfSense book之证书管理
查看>>
haproxy日志问题解决
查看>>
AFNetWorking 2.0 使用
查看>>
VMware克隆Linux系统后,网络问题解决
查看>>
Linux系统下vsftp服务器搭建(二)
查看>>
Citrix User Profile Management 设定参考
查看>>
网络库性能对比
查看>>
博客开张
查看>>
jquery.Callbacks的实现
查看>>
同一环境下新建Standby RAC库
查看>>
随手笔记NO.4
查看>>
未来监护人:FCC专员正在努力推迟网络中立投票
查看>>
LVS负载均衡群集(LVS-NAT)
查看>>
【Zabbix】如何搭建memcached?并使用Zabbix监控memcached?
查看>>
完爆 Best Fit,看阿里如何优化 Sigma 在线调度策略节约亿级成本
查看>>
spring事务
查看>>
NoSQL最新现状和趋势:云NoSQL数据库将成重要增长引擎
查看>>
python系统监控--转载
查看>>