@@ -9,7 +9,7 @@ TOC: WebGL 纹理映射的透视纠正
99
1010在"[ 工作原理] ( webgl-how-it-works.html ) "中我们讲过了可变量的工作原理,
1111顶点着色器可以声明可变量并给它赋值,一旦顶点着色器被引用 3 次就会画一个三角形。
12- 绘制这个三角形的每个像素都会调用片断着色器获得像素颜色 ,
12+ 绘制这个三角形的每个像素都会调用片段着色器获得像素颜色 ,
1313在三个顶点之间的点会得到差之后的可变量。
1414
1515{{{diagram url="resources/fragment-shader-anim.html" width="600" height="400" caption="v_color is interpolated between v0, v1 and v2" }}}
@@ -27,14 +27,14 @@ TOC: WebGL 纹理映射的透视纠正
2727 gl_Position = a_position;
2828 }
2929
30- 还有一个简单的片断着色器提供固定的颜色
30+ 还有一个简单的片段着色器提供固定的颜色
3131
32- // 片断着色器没有默认的精度 ,
32+ // 片段着色器没有默认的精度 ,
3333 // 中等精度是个不错的默认值
3434 precision mediump float;
3535
3636 void main() {
37- // gl_FragColor 是片断着色器需要设置的一个特殊变量
37+ // gl_FragColor 是片段着色器需要设置的一个特殊变量
3838 gl_FragColor = vec4(1, 0, 0.5, 1); // 返回红紫色
3939 }
4040
@@ -60,7 +60,7 @@ TOC: WebGL 纹理映射的透视纠正
6060
6161{{{example url="../webgl-clipspace-rectangles.html" }}}
6262
63- 再添加一个浮点型可变量,并把它从顶点着色器直接传递到片断着色器
63+ 再添加一个浮点型可变量,并把它从顶点着色器直接传递到片段着色器
6464
6565 attribute vec4 a_position;
6666 + attribute float a_brightness;
@@ -70,11 +70,11 @@ TOC: WebGL 纹理映射的透视纠正
7070 void main() {
7171 gl_Position = a_position;
7272
73- + // 直接传递亮度到片断着色器
73+ + // 直接传递亮度到片段着色器
7474 + v_brightness = a_brightness;
7575 }
7676
77- 在片断着色器中使用可变量设置颜色
77+ 在片段着色器中使用可变量设置颜色
7878
7979 precision mediump float;
8080
@@ -183,7 +183,7 @@ TOC: WebGL 纹理映射的透视纠正
183183
184184事实是WebGL使用 ` W ` 实现纹理映射或者可变量插值的透视投影。
185185
186- 如果将片断着色器改成这样就更容以看出效果
186+ 如果将片段着色器改成这样就更容以看出效果
187187
188188 gl_FragColor = vec4(fract(v_brightness * 10.), 0, 0, 1); // 红色
189189
@@ -231,7 +231,7 @@ void main() {
231231+ // 手工除以 W
232232+ gl_Position /= gl_Position.w;
233233
234- // 将纹理坐标传到片断着色器
234+ // 将纹理坐标传到片段着色器
235235 v_texcoord = a_texcoord;
236236}
237237```
0 commit comments