纯色填充

1 / 30
写你的第一行着色器代码,用 gl_FragColor 和 vec4 把整块画布填成你想要的颜色。

示例代码让整个画面变成了红色,核心就是这一行:

我们来拆开理解它。


gl_FragColor 是什么

着色器的工作是:屏幕上每个像素都问它「我该是什么颜色?」,着色器就回答一个颜色。

gl_FragColor 就是你写答案的地方。把颜色写在这里,像素就显示这个颜色。


vec4 是什么

vec4 里放了 4 个数字,分别代表红、绿、蓝、透明度

每个数字的范围是 0.0 到 1.0,你可以把它理解成百分比:

  • 1.0 = 100%,这个颜色开到最大
  • 0.5 = 50%,这个颜色开一半
  • 0.0 = 0%,这个颜色完全关掉

所以 vec4(1.0, 0.0, 0.0, 1.0) 的意思是:红色 100%,绿色 0%,蓝色 0%,不透明 → 纯红色。

透明度一般都写 1.0,先不用管它。


试着改一改

对照下面的表格,在示例代码里换几个数字,感受一下效果:

颜色代码
绿vec4(0.0, 1.0, 0.0, 1.0)
vec4(0.0, 0.0, 1.0, 1.0)
vec4(1.0, 1.0, 1.0, 1.0)
vec4(0.0, 0.0, 0.0, 1.0)

练习

练习区的画面现在是黑色的,修改 vec4 里的数字,让它变成红色

答案解析

答案就是把第一个数改成 1.0

四个数字分别对应:

  • 1.0 → 红色开到最大
  • 0.0 → 绿色关掉
  • 0.0 → 蓝色关掉
  • 1.0 → 完全不透明(固定写这个就行)

练习代码的初始状态是 vec4(0.0, 0.0, 0.0, 1.0),四个颜色通道全是 0,所以是黑色。把第一个 0.0 改成 1.0,红色通道打开,就变成红色了。

试着把 1.0 换成 0.5,看看会变成什么颜色。

GLSL 代码编辑器

正确代码预览

当前代码预览