基础知识
数据类型 |
说明 |
|
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 |
指定片元的颜色 |
|
|
|
|
|
|
|
网友评论