着色器材质内置变量
gl_PointSize
类型 【float】
gl_PointSize 在渲染模式中,顶点是一个点,我们其实是看不到的,所以他的表现方式位正方形面的表现。
gl_PointSize:用来设置顶点渲染出来的正方形面的像素大小(默认是0,理论上可以无限大)
void main(){
gl_PointSize = 20.0;
}
gl_Position
类型 【vec4】
gl_Position 表示最终传入片元着色器片元化要使用的顶点位置坐标。
void main(){
// 前三个值分表代表 x,y,z的坐标位置
gl_Position = vec4(1.0, 1.0, 1.0 ,1.0);
}
gl_FragColor
类型 【vec4】
gl_FragColor 用来设置片元像素的颜色
void main(){
// 他的四个值按顺序对应rgba色中的,r:红,g:绿,b:蓝 ,a:透明度 ,值得范围均为0~1;
gl_FragColor = vec4(1.0, 1.0, 1.0 ,1.0);
}
gl_FragCoord
类型 【vec2】 坐标单位-像素
gl_FragCoord 表示webGl在canvas上渲染的片元或者像素的坐标,坐标原点是画布的左上角,x轴为水平向右方向,y轴竖直向下,
void main(){
// 可以根据像素坐标设置画布区域颜色
if(gl_FragCoord.x < 600.0){
gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
}else{
gl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);
}
}
gl_PointCoord
类型 【vec2】 坐标单位-像素
gl_PointCoord 表示webGl在canvas上渲染的片元或者像素的坐标,坐标原点是画布的左上角,他整个画布范围是0-1,即左上角为 [0,0],右下角为 [1,1];
void main(){
if(gl_PointCoord.x < 0.5){
gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
}else{
gl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);
}
}