Skip to content

Commit a0ba22c

Browse files
author
태재영
committed
ko: pulling vertices
1 parent b4d8614 commit a0ba22c

29 files changed

+583
-141
lines changed

webgl/lessons/ko/webgl-2-textures.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,9 @@ void main() {
116116
}
117117
```
118118

119-
WebGL에는 "texture unit"이라는 것이 있습니다.
119+
WebGL에는 "텍스처 유닛"이 있습니다.
120120
이는 텍스처에 대한 레퍼런스 배열이라 생각할 수 있습니다.
121-
각 sampler에 대해 사용할 texture unit을 셰이더에 알려줍니다.
121+
각 sampler에 대해 사용할 텍스처 유닛을 셰이더에 알려줍니다.
122122

123123
```
124124
// Sampler location 탐색
@@ -127,15 +127,15 @@ WebGL에는 "texture unit"이라는 것이 있습니다.
127127
128128
...
129129
130-
// 함께 렌더링할 texture unit 설정
131-
gl.uniform1i(u_image0Location, 0); // texture unit 0
132-
gl.uniform1i(u_image1Location, 1); // texture unit 1
130+
// 함께 렌더링할 텍스처 유닛 설정
131+
gl.uniform1i(u_image0Location, 0); // 텍스처 유닛 0
132+
gl.uniform1i(u_image1Location, 1); // 텍스처 유닛 1
133133
```
134134

135-
그런 다음 텍스처를 각각의 texture unit에 할당해야 합니다.
135+
그런 다음 텍스처를 각각의 텍스처 유닛에 할당해야 합니다.
136136

137137
```
138-
// 특정 텍스처를 사용하도록 각각의 texture unit 설정
138+
// 특정 텍스처를 사용하도록 각각의 텍스처 유닛 설정
139139
gl.activeTexture(gl.TEXTURE0);
140140
gl.bindTexture(gl.TEXTURE_2D, textures[0]);
141141
gl.activeTexture(gl.TEXTURE1);
@@ -153,9 +153,9 @@ WebGL에는 "texture unit"이라는 것이 있습니다.
153153

154154
몇 가지 살펴봐야 할 것이 있습니다.
155155

156-
Texture unit을 생각하는 간단한 방법: 모든 텍스처 함수는 "active texture unit"에서 작동한다.
157-
"active texture unit"은 작업하려는 texture unit의 전역 변수입니다.
158-
texture unit은 2가지 target을 가지는데요.
156+
텍스처 유닛을 생각하는 간단한 방법: 모든 텍스처 함수는 "active texture unit"에서 작동한다.
157+
"active texture unit"은 작업하려는 텍스처 유닛의 전역 변수입니다.
158+
텍스처 유닛은 2가지 target을 가지는데요.
159159
TEXTURE_2D target과 TEXTURE_CUBE_MAP target입니다.
160160
모든 텍스처 함수는 current active texture unit에서 지정된 target과 함께 작동합니다.
161161
JavaScript로 WebGL을 구현한다면 다음과 같을 겁니다.
@@ -199,15 +199,15 @@ var getContext = function() {
199199
};
200200
```
201201

202-
셰이더는 index를 texture unit으로 가져옵니다.
202+
셰이더는 인덱스를 텍스처 유닛으로 가져옵니다.
203203
이 두 줄이 더 명료하게 만들어주길 바랍니다.
204204

205205
```
206-
gl.uniform1i(u_image0Location, 0); // texture unit 0
207-
gl.uniform1i(u_image1Location, 1); // texture unit 1
206+
gl.uniform1i(u_image0Location, 0); // 텍스처 유닛 0
207+
gl.uniform1i(u_image1Location, 1); // 텍스처 유닛 1
208208
```
209209

210-
한 가지 유의해야할 점은, uniform을 사용할 때 texture unit에 대한 index를 사용하지만, gl.activeTexture를 호출할 때는 특수 상수 gl.TEXTURE0, gl.TEXTURE1 등을 전달해야 한다는 겁니다.
210+
한 가지 유의해야할 점은, 유니폼을 사용할 때 텍스처 유닛에 대한 인덱스를 사용하지만, gl.activeTexture를 호출할 때는 특수 상수 gl.TEXTURE0, gl.TEXTURE1 등을 전달해야 한다는 겁니다.
211211
다행히 상수는 연속적이므로 이렇게 대체할 수 있습니다.
212212

213213
```

webgl/lessons/ko/webgl-2d-drawimage.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ Canvas 2D API는 `drawImage`라는 이미지를 그리는 용도의 굉장히
9191
// 행렬 설정
9292
gl.uniformMatrix4fv(matrixLocation, false, matrix);
9393

94-
// texture unit 0에서 텍스처를 가져오도록 셰이더에 지시
94+
// 텍스처 유닛 0에서 텍스처를 가져오도록 셰이더에 지시
9595
gl.uniform1i(textureLocation, 0);
9696

9797
// 사각형 그리기 (삼각형 2개, 정점 6개)
@@ -237,7 +237,7 @@ Canvas 2D API는 `drawImage`라는 이미지를 그리는 용도의 굉장히
237237
// 행렬 설정
238238
gl.uniformMatrix4fv(matrixLocation, false, matrix);
239239

240-
// texture unit 0에서 텍스처를 가져오도록 셰이더에 지시
240+
// 텍스처 유닛 0에서 텍스처를 가져오도록 셰이더에 지시
241241
gl.uniform1i(textureLocation, 0);
242242

243243
// 사각형 그리기 (삼각형 2개, 정점 6개)
@@ -335,7 +335,7 @@ Canvas 2D API는 `drawImage`라는 이미지를 그리는 용도의 굉장히
335335
+ // 텍스처 행렬 설정
336336
+ gl.uniformMatrix4fv(textureMatrixLocation, false, texMatrix);
337337

338-
// texture unit 0에서 텍스처를 가져오도록 셰이더에 지시
338+
// 텍스처 유닛 0에서 텍스처를 가져오도록 셰이더에 지시
339339
gl.uniform1i(textureLocation, 0);
340340

341341
// 사각형 그리기 (삼각형 2개, 정점 6개)

webgl/lessons/ko/webgl-2d-matrices.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ attribute vec2 a_position;
425425
uniform mat3 u_matrix;
426426
427427
void main() {
428-
// 위치를 행렬로 곱하기
428+
// 위치에 행렬 곱하기
429429
gl_Position = vec4((u_matrix * vec3(a_position, 1)).xy, 0, 1);
430430
}
431431
</script>

webgl/lessons/ko/webgl-2d-translation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ function setGeometry(gl) {
198198
199199
// 위치를 넣을 버퍼 생성
200200
var positionBuffer = gl.createBuffer();
201-
// ARRAY_BUFFER에 할당 (ARRAY_BUFFER = positionBuffer)
201+
// ARRAY_BUFFER에 바인딩 (ARRAY_BUFFER = positionBuffer)
202202
gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
203203
+ // 버퍼에 geometry 데이터 넣기
204204
+ setGeometry(gl);

webgl/lessons/ko/webgl-3d-lighting-directional.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ function setNormals(gl) {
261261
+varying vec3 v_normal;
262262

263263
void main() {
264-
// 위치를 행렬로 곱하기
264+
// 위치에 행렬 곱하기
265265
gl_Position = u_matrix * a_position;
266266

267267
- // 색상을 프래그먼트 셰이더로 전달
@@ -353,7 +353,7 @@ attribute vec3 a_normal;
353353
varying vec3 v_normal;
354354
355355
void main() {
356-
// 위치를 행렬로 곱하기
356+
// 위치에 행렬 곱하기
357357
* gl_Position = u_worldViewProjection * a_position;
358358
359359
* // 법선의 방향을 정하고 프래그먼트 셰이더로 전달
@@ -423,7 +423,7 @@ uniform mat4 u_worldViewProjection;
423423
varying vec3 v_normal;
424424
425425
void main() {
426-
// 위치를 행렬로 곱하기
426+
// 위치에 행렬 곱하기
427427
gl_Position = u_worldViewProjection * a_position;
428428
429429
// 법선의 방향을 정하고 프래그먼트 셰이더로 전달

webgl/lessons/ko/webgl-3d-lighting-point.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ TOC: 점 조명
5151
+varying vec3 v_surfaceToLight;
5252

5353
void main() {
54-
// 위치를 행렬로 곱하기
54+
// 위치에 행렬 곱하기
5555
gl_Position = u_worldViewProjection * a_position;
5656

5757
// 법선의 방향을 정하고 프래그먼트 셰이더로 전달
@@ -171,7 +171,7 @@ surface -> light 벡터는 단위 벡터가 아니기 때문에 프래그먼트
171171
+varying vec3 v_surfaceToView;
172172

173173
void main() {
174-
// 위치를 행렬로 곱하기
174+
// 위치에 행렬 곱하기
175175
gl_Position = u_worldViewProjection * a_position;
176176

177177
// 법선의 방향을 정하고 프래그먼트 셰이더로 전달

webgl/lessons/ko/webgl-3d-orthographic.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ attribute vec2 a_position;
2727
uniform mat3 u_matrix;
2828
2929
void main() {
30-
// 위치를 행렬로 곱하기
30+
// 위치에 행렬 곱하기
3131
gl_Position = vec4((u_matrix * vec3(a_position, 1)).xy, 0, 1);
3232
}
3333
</script>
@@ -42,7 +42,7 @@ void main() {
4242
*uniform mat4 u_matrix;
4343
4444
void main() {
45-
// 위치를 행렬로 곱하기
45+
// 위치에 행렬 곱하기
4646
* gl_Position = u_matrix * a_position;
4747
}
4848
</script>
@@ -402,7 +402,7 @@ uniform mat4 u_matrix;
402402
+varying vec4 v_color;
403403
404404
void main() {
405-
// 위치를 행렬로 곱하기
405+
// 위치에 행렬 곱하기
406406
gl_Position = u_matrix * a_position;
407407
408408
+ // 프래그먼트 셰이더로 색상 전달

webgl/lessons/ko/webgl-3d-perspective-correct-texturemapping.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ uniform mat4 u_matrix;
238238
varying vec2 v_texcoord;
239239
240240
void main() {
241-
// 위치를 행렬로 곱하기
241+
// 위치에 행렬 곱하기
242242
gl_Position = u_matrix * a_position;
243243
244244
+ // 수동으로 W 나누기

webgl/lessons/ko/webgl-3d-perspective.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Z가 증가할수록, 멀어질수록, 더 작게 그려지는 걸 볼 수 있
5858
+uniform float u_fudgeFactor;
5959
...
6060
void main() {
61-
// 위치를 행렬로 곱하기
61+
// 위치에 행렬 곱하기
6262
vec4 position = u_matrix * a_position;
6363
6464
+ // 나누려는 z 조정
@@ -112,7 +112,7 @@ WebGL은 정점 셰이더의 `gl_Position`에 할당한 x,y,z,w 값을 가져와
112112
uniform float u_fudgeFactor;
113113
...
114114
void main() {
115-
// 위치를 행렬로 곱하기
115+
// 위치에 행렬 곱하기
116116
vec4 position = u_matrix * a_position;
117117
118118
// 나누려는 z 조정
@@ -233,7 +233,7 @@ w_out = z_in * fudgeFactor + 1;
233233
uniform mat4 u_matrix;
234234
235235
void main() {
236-
// 위치를 행렬로 곱하기
236+
// 위치에 행렬 곱하기
237237
gl_Position = u_matrix * a_position;
238238
...
239239
}

webgl/lessons/ko/webgl-3d-textures.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ WebGL에서 어떻게 텍스처를 적용할까요?
2222
*varying vec2 v_texcoord;
2323

2424
void main() {
25-
// 위치를 행렬로 곱하기
25+
// 위치에 행렬 곱하기
2626
gl_Position = u_matrix * a_position;
2727

2828
* // texcoord를 프래그먼트 셰이더로 전달
@@ -460,7 +460,7 @@ WebGL이 "texture complete"여야 하는데요.
460460
이게 가장 좋은 이유는 로드하는 텍스처가 하나뿐이기 때문에 셰이더는 하나의 텍스처만을 참조하여 단순하게 유지되며, 평면으로 나누는 경우처럼 텍스처당 한 번씩 그리기 호출을 하는 대신에 단 한번의 그리기 호출만 필요하기 때문입니다.
461461

462462
여기서 다룬 것 이외에 알고 싶을 수 있는 텍스처 관련 글들이 있는데요.
463-
먼저 [texture unit state 작동 방식](webgl-texture-units.html)입니다.
463+
먼저 [텍스처 유닛 상태 작동 방식](webgl-texture-units.html)입니다.
464464
그리고 [한 번에 2개 이상의 텍스처를 사용하는 방법](webgl-2-textures.html)입니다.
465465
또 다른 것은 [다른 도메인의 이미지를 사용하는 방법](webgl-cors-permission.html)이 있습니다.
466466
마지막으로 어찌보면 사소하지만 알아두면 좋은 [원근 교정 텍스처 매핑](webgl-3d-perspective-correct-texturemapping.html)입니다.

0 commit comments

Comments
 (0)