shader

2022-04-09  本文已影响0人  许彦峰

基础知识

数据类型 说明
float 浮点数
vec4 4个浮点数组成的矢量3
存储限定符 说明 特点
uniform 一般用来表示变换矩阵,材质,光照参数和颜色等信息。 它可以在vertex和fragment共享使用(相当于一个被vertex和fragment shader共享的全局变量)
attribute 一般用来表示一些顶点的数据,如:顶点坐标,法线,纹理坐标,顶点颜色等。 只能在vertex shader中使用的变量
varying 一般vertex shader修改varying变量的值,然后fragment shader使用该varying变量的值。因此varying变量在vertex和fragment shader二者之间的声明必须是一致的。application不能使用此变量。 vertex和fragment shader之间做数据传递用的。

Vertex.glsl

用来描述顶点特性,如位置、颜色等

void main(){
    gl_Position = vec4(0.0, 0.0, 0.0, 1.0);
    gl_PointSize = 10.0;
}
内置变量 说明 备注
vec4 gl_Position 表示顶点的位置 必须赋值,否则无法正常工作
float gl_PointSize 表示顶点的尺寸 默认值1.0

Fragment.glsl

void main(){
  gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
}
内置变量 说明
vec4 gl_FragColor 指定片元的颜色
上一篇下一篇

猜你喜欢

热点阅读