attribute和uniform的区别
发布网友
发布时间:2022-05-30 19:25
我来回答
共2个回答
热心网友
时间:2023-11-04 15:30
这两个词没有直接关系吧。
attribute:属性,归属于
uniform:*
attribute英 [əˈtrɪbju:t] 美 [əˈtrɪbjut]
vt. 认为…是;把…归于;把…品质归于某人;认为某事[物]属于某人[物]
[ˈætribju:t]
n. 属性;(人或物的)特征;价值;[语法学]定语
uniform 英 [ˈju:nɪfɔ:m] 美 [ˈju:nɪfɔ:rm]
n. *;军服;通讯中用以代表字母 u 的词 adj. (形状,性质等)一样的;规格一致的;始终如一的 v. 使规格一律;使均一;使穿* 网 络
热心网友
时间:2023-11-04 15:30
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声明需要一致