@@ -12,7 +12,7 @@ TOC: 원근 교정 텍스처 매핑
1212"[ 동작 원리] ( webgl-how-it-works.html ) "에서 varying이 어떻게 작동하는지 다뤘는데요.
1313정점 셰이더는 varying을 선언하고 어떤 값으로 설정할 수 있습니다.
1414정점 셰이더가 3번 호출되면 WebGL은 삼각형을 그립니다.
15- 해당 삼각형을 그리는 동안 모든 픽셀에 대해 fragment shader를 호출하고 해당 픽셀을 어떤 색상으로 만들지 묻습니다.
15+ 해당 삼각형을 그리는 동안 모든 픽셀에 대해 프래그먼트 셰이더를 호출하고 해당 픽셀을 어떤 색상으로 만들지 묻습니다.
1616삼각형의 정점 3개 사이에서 3개의 값 사이를 보간한 varying을 전달할 겁니다.
1717
1818{{{diagram url="resources/fragment-shader-anim.html" width="600" height="400" caption="v_color는 v0, v1, v2 사이에서 보간" }}}
@@ -30,14 +30,14 @@ TOC: 원근 교정 텍스처 매핑
3030 gl_Position = a_position;
3131 }
3232
33- 일정한 색상으로 그리는 간단한 fragment shader가 있습니다.
33+ 일정한 색상으로 그리는 간단한 프래그먼트 셰이더가 있습니다.
3434
35- // fragment shader는 기본 정밀도를 가지고 있지 않으므로 하나를 선택해야 합니다.
35+ // 프래그먼트 셰이더는 기본 정밀도를 가지고 있지 않으므로 하나를 선택해야 합니다.
3636 // mediump은 좋은 기본값으로 "중간 정밀도"를 의미합니다.
3737 precision mediump float;
3838
3939 void main() {
40- // gl_FragColor는 fragment shader가 설정을 담당하는 특수 변수
40+ // gl_FragColor는 프래그먼트 셰이더가 설정을 담당하는 특수 변수
4141 gl_FragColor = vec4(1, 0, 0.5, 1); // 붉은 보라색 반환
4242 }
4343
@@ -65,7 +65,7 @@ Clip space에 2개의 사각형을 그리도록 만들어봅시다.
6565{{{example url="../webgl-clipspace-rectangles.html" }}}
6666
6767Varying float 하나를 추가해봅시다.
68- 해당 varying을 정점 셰이더에서 fragment shader로 전달할 겁니다.
68+ 해당 varying을 정점 셰이더에서 프래그먼트 셰이더로 전달할 겁니다.
6969
7070 attribute vec4 a_position;
7171 + attribute float a_brightness;
@@ -75,11 +75,11 @@ Varying float 하나를 추가해봅시다.
7575 void main() {
7676 gl_Position = a_position;
7777
78- + // Fragment shader로 밝기 전달
78+ + // 프래그먼트 셰이더로 밝기 전달
7979 + v_brightness = a_brightness;
8080 }
8181
82- Fragment shader에서는 해당 varying을 사용하여 색상을 설정할 겁니다.
82+ 프래그먼트 셰이더에서는 해당 varying을 사용하여 색상을 설정할 겁니다.
8383
8484 precision mediump float;
8585
@@ -194,7 +194,7 @@ WebGL이 `W`로 나누기 때문에 똑같은 결과를 얻을 수 있겠죠?
194194
195195WebGL은 ` W ` 를 사용하여 원근 교정 텍스처 매핑을 구현하거나 varying의 원근 교정 보간을 수행합니다.
196196
197- 실제로 이걸 더 쉽게 볼 수 있도록 fragment shader를 해킹해봅시다.
197+ 실제로 이걸 더 쉽게 볼 수 있도록 프래그먼트 셰이더를 해킹해봅시다.
198198
199199 gl_FragColor = vec4(fract(v_brightness * 10.), 0, 0, 1); // 빨강
200200
@@ -244,7 +244,7 @@ void main() {
244244+ // 수동으로 W 나누기
245245+ gl_Position /= gl_Position.w;
246246
247- // fragment shader로 texcoord 전달
247+ // 프래그먼트 셰이더로 texcoord 전달
248248 v_texcoord = a_texcoord;
249249}
250250```
0 commit comments