Skip to content

Commit 6c7e9b1

Browse files
author
태재영
committed
ko: vocabulary
1 parent cfc6bfd commit 6c7e9b1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+636
-589
lines changed

webgl/lessons/ko/vocabulary.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
추후 번역하실 분들을 위해 정리합니다.
2+
3+
shader 셰이더
4+
vertex 정점
5+
fragment 프래그먼트
6+
space 공간
7+
texture 텍스처
8+
varying 베링
9+
attachment 어태치먼트
10+
geometry 지오메트리
11+
rasterization 래스터화
12+
primitive 프리미티브
13+
attribute 속성
14+
uniform 유니폼
15+
buffer 버퍼
16+
viewport 뷰포트
17+
bind 바인드(명사)/바인딩(동사)
18+
boilerplate 상용구
19+
orientation 오리엔테이션
20+
translation 평행 이동
21+
rotation 회전
22+
scale 스케일(명사)/크기 조정(동사)
23+
fallback 폴백
24+
stride 스트라이드
25+
normalize 정규화
26+
sampler 샘플러
27+
unit 유닛
28+
hue 색조
29+
saturation 채도
30+
luminance 휘도
31+
brightness 밝기
32+
contrast 대비
33+
sine 사인
34+
cosine 코사인
35+
radian 라디안
36+
projection 투영
37+
culling 컬링
38+
fudge factor 퍼지 팩터
39+
scene 장면
40+
shininess 광택
41+
specular 반사
42+
getter 접근자
43+
setter 설정자
44+
shape 도형
45+
material 머티리얼
46+
lathe 선반 가공
47+
smoothing group 스무딩 그룹
48+
method 메서드
49+
mipmap 밉맵
50+
decal 데칼

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Description: WebGL에서 Canvas 2D의 drawImage 함수를 구현하는 방법
33
TOC: 2D - DrawImage
44

55

6-
이 글은 [WebGL orthographic 3D](webgl-3d-orthographic.html)에서 이어집니다.
6+
이 글은 [WebGL 3D 직교 투영](webgl-3d-orthographic.html)에서 이어집니다.
77
아직 읽지 않았다면 [거기](webgl-3d-orthographic.html)부터 시작하는 게 좋습니다.
88
또한 텍스처와 텍스처 좌표가 어떻게 작동하는지 알아야 하기 때문에 [WebGL 3D 텍스처](webgl-3d-textures.html)를 읽어주세요.
99

@@ -33,7 +33,7 @@ Canvas 2D API는 `drawImage`라는 이미지를 그리는 용도의 굉장히
3333
비슷한 WebGL 기반의 함수를 만들기 위해 `x, y`, `x + width, y`, `x, y + height`, `x + width, y + height`에 대한 정점을 업로드한 다음, 다른 위치에 다른 이미지를 그릴 때 다른 정점 세트를 생성합니다.
3434

3535
하지만 더 일반적인 방법은 단위 사각형을 사용하는 겁니다.
36-
1단위 크기의 사각형 하나를 업로드합니다.
36+
크기가 1인 사각형 하나를 업로드합니다.
3737
그런 다음 [행렬 수학](webgl-2d-matrices.html)을 사용하여 해당 단위 사각형의 크기를 조정하고 이동시켜 원하는 위치에 있도록 합니다.
3838

3939
먼저 간단한 정점 셰이더가 필요합니다.
@@ -71,7 +71,7 @@ Canvas 2D API는 `drawImage`라는 이미지를 그리는 용도의 굉장히
7171
// 셰이더 프로그램 쌍을 사용하도록 WebGL에 지시
7272
gl.useProgram(program);
7373

74-
// 버퍼에서 데이터를 가져오기 위한 attribute 설정
74+
// 버퍼에서 데이터를 가져오기 위한 속성 설정
7575
gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
7676
gl.enableVertexAttribArray(positionLocation);
7777
gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);
@@ -85,7 +85,7 @@ Canvas 2D API는 `drawImage`라는 이미지를 그리는 용도의 굉장히
8585
// 이 행렬은 사각형을 dstX,dstY로 이동시킵니다.
8686
matrix = m4.translate(matrix, dstX, dstY, 0);
8787

88-
// 이 행렬은 사각형을 1단위에서 texWidth,texHeight 단위로 크기를 조정합니다.
88+
// 이 행렬은 사각형을 1유닛에서 texWidth,texHeight 유닛으로 크기를 조정합니다.
8989
matrix = m4.scale(matrix, texWidth, texHeight, 1);
9090

9191
// 행렬 설정
@@ -224,7 +224,7 @@ Canvas 2D API는 `drawImage`라는 이미지를 그리는 용도의 굉장히
224224
// 이 행렬은 픽셀에서 클립 공간으로 변환합니다.
225225
var projectionMatrix = m3.projection(canvas.width, canvas.height, 1);
226226

227-
* // 이 행렬은 사각형을 1단위에서 dstWidth,dstHeight 단위로 크기 조정합니다.
227+
* // 이 행렬은 사각형을 1유닛에서 dstWidth,dstHeight 유닛으로 크기 조정합니다.
228228
* var scaleMatrix = m4.scaling(dstWidth, dstHeight, 1);
229229

230230
// 이 행렬은 사각형을 dstX,dstY로 이동시킵니다.
@@ -315,7 +315,7 @@ Canvas 2D API는 `drawImage`라는 이미지를 그리는 용도의 굉장히
315315
// 이 행렬은 픽셀에서 클립 공간으로 변환합니다.
316316
var projectionMatrix = m3.projection(canvas.width, canvas.height, 1);
317317

318-
// 이 행렬은 사각형을 1단위에서 dstWidth,dstHeight 단위로 크기 조정합니다.
318+
// 이 행렬은 사각형을 1유닛에서 dstWidth,dstHeight 유닛으로 크기 조정합니다.
319319
var scaleMatrix = m4.scaling(dstWidth, dstHeight, 1);
320320

321321
// 이 행렬은 사각형을 dstX,dstY로 이동시킵니다.
@@ -349,7 +349,7 @@ Canvas 2D API는 `drawImage`라는 이미지를 그리는 용도의 굉장히
349349

350350
Canvas 2D API와 달리 WebGL 버전은 Canvas 2D `drawImage`가 처리하지 않는 경우를 처리합니다.
351351

352-
한 가지 경우로 source나 dest에 대해 음수 너비와 높이를 전달할 수 있습니다.
352+
한 가지 경우로 `source``dest` 대해 음수 너비와 높이를 전달할 수 있습니다.
353353
음수 `srcWidth``srcX`의 왼쪽에 있는 픽셀을 선택합니다.
354354
음수 `dstWidth``dstX`의 왼쪽에 그려집니다.
355355
Canvas 2D API에서 최선의 경우 에러거나 최악의 경우 정의되지 않은 동작이 발생할 수 있습니다.
@@ -372,7 +372,7 @@ Canvas 2D API에서 최선의 경우 에러거나 최악의 경우 정의되지
372372
* var texMatrix = m4.zRotate(texMatrix, srcRotation);
373373
* var texMatrix = m4.translate(texMatrix, texWidth * -0.5, texHeight * -0.5, 0);
374374
*
375-
* // 픽셀 공간에 있기 때문에 scale과 translation은 이제 픽셀 단위입니다.
375+
* // 픽셀 공간에 있기 때문에 "scale"과 "translation"은 이제 픽셀 단위입니다.
376376
* var texMatrix = m4.translate(texMatrix, srcX, srcY, 0);
377377
* var texMatrix = m4.scale(texMatrix, srcWidth, srcHeight, 1);
378378

@@ -422,7 +422,7 @@ Canvas 2D API에서 최선의 경우 에러거나 최악의 경우 정의되지
422422
v_texcoord.y < 0.0 ||
423423
v_texcoord.x > 1.0 ||
424424
v_texcoord.y > 1.0) {
425-
* gl_FragColor = vec4(0, 0, 1, 1); // blue
425+
* gl_FragColor = vec4(0, 0, 1, 1); // 파란색
426426
+ return;
427427
}
428428
gl_FragColor = texture2D(texture, v_texcoord);
@@ -442,7 +442,7 @@ Canvas 2D API에서 최선의 경우 에러거나 최악의 경우 정의되지
442442
WebGL은 제공하는 기능의 창의적인 사용이 전부기 때문에 오히려 더 창의적인 방법을 권장하고 싶습니다.
443443
</p>
444444
<p>
445-
아마 위치에 단위 사각형을 사용하고 이러한 단위 사각형의 위치가 텍스처 좌표와 정확히 일치한다는 눈치채셨을 겁니다.
445+
아마 위치에 단위 사각형을 사용하고 이러한 단위 사각형의 위치가 텍스처 좌표와 정확히 일치한다는 것을 눈치채셨을 겁니다.
446446
따라서 위치를 텍스처 좌표처럼 사용할 수 있습니다.
447447
</p>
448448
<pre class="prettyprint showlinemods">

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -540,7 +540,7 @@ matrix = m3.scale(matrix, scale[0], scale[1]);
540540
541541
> {{{diagram url="resources/matrix-space-change.html?stage=0" caption="클립 공간" }}}
542542
>
543-
> 흰색 영역은 캔버스입니다. 파랑색은 캔버스 바깥입니다. 우리는 클립 공간에 있습니다.
543+
> 흰색 영역은 캔버스입니다. 파란색은 캔버스 바깥입니다. 우리는 클립 공간에 있습니다.
544544
> 전달된 위치는 클립 공간에 있어야 합니다.
545545
546546
2단계: `matrix = m3.projection(gl.canvas.clientWidth, gl.canvas.clientHeight);`

webgl/lessons/ko/webgl-2d-matrix-stack.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
Title: WebGL 행렬 스택 구현
2-
Description: WebGL에서 Canvas 2D의 translate/rotate/scale 함수를 구현하는 방법
2+
Description: WebGL에서 Canvas 2D의 평행 이동/회전/스케일 함수를 구현하는 방법
33
TOC: 2D - 행렬 스택
44

55

66
이 글은 [WebGL 2D DrawImage](webgl-2d-drawimage.html)에서 이어집니다.
77
아직 읽지 않았다면 [거기](webgl-2d-drawimage.html)부터 시작하는 게 좋습니다.
88

9-
지난 글에서 우리는 source rectangle과 destination rectangle을 모두 지정하는 기능을 포함하여 Canvas 2D의 `drawImage` 함수와 동일한 WebGL을 구현했습니다.
9+
지난 글에서 우리는 원본 사각형과 결과 사각형을 모두 지정하는 기능을 포함하여 Canvas 2D의 `drawImage` 함수와 동일한 WebGL을 구현했습니다.
1010

1111
아직 하지 않은 것은 임의의 지점에서 회전 및 크기 조정하는 겁니다.
12-
더 많은 매개변수를 추가하여 이를 수행할 수 있으며, 최소한 중심점과 rotation 그리고 x와 y의 scale을 지정해야 합니다.
12+
더 많은 매개변수를 추가하여 이를 수행할 수 있으며, 최소한 중심점과 회전 그리고 x와 y의 스케일을 지정해야 합니다.
1313
다행히 더 일반적이고 유용한 방법이 있습니다.
1414
Canvas 2D API가 이를 수행하는 방법은 행렬 스택을 사용하는 겁니다.
1515
Canvas 2D API의 행렬 스택 함수는 `save`, `restore`, `translate`, `rotate`, `scale`이 있습니다.
1616

1717
행렬 스택은 구현하기 매우 간단합니다.
1818
우선 행렬의 스택을 만듭니다.
19-
그리고 [이전에 만들었던 함수들](webgl-2d-matrices.html)을 이용하여 translation, rotation, scale 행렬로 스택의 최상단 행렬을 곱하는 함수를 만들면 되는데요.
19+
그리고 [이전에 만들었던 함수들](webgl-2d-matrices.html)을 이용하여 평행 이동, 회전, 스케일 행렬로 스택의 최상단 행렬을 곱하는 함수를 만들면 되는데요.
2020

2121
다음은 구현입니다.
2222

@@ -39,7 +39,7 @@ MatrixStack.prototype.restore = function() {
3939
}
4040
};
4141
42-
// Current matrix의 복사본을 스택에 복사
42+
// 현재 행렬의 복사본을 스택에 복사
4343
MatrixStack.prototype.save = function() {
4444
this.stack.push(this.getCurrentMatrix());
4545
};
@@ -48,44 +48,44 @@ MatrixStack.prototype.save = function() {
4848
또한 최상단 행렬을 가져오고 설정하기 위한 함수가 필요합니다.
4949

5050
```
51-
// Current matrix(스택의 최상단)의 복사본 가져오기
51+
// 현재 행렬(스택의 최상단)의 복사본 가져오기
5252
MatrixStack.prototype.getCurrentMatrix = function() {
5353
return this.stack[this.stack.length - 1].slice();
5454
};
5555
56-
// Current matrix 설정
56+
// 현재 행렬 설정
5757
MatrixStack.prototype.setCurrentMatrix = function(m) {
5858
return this.stack[this.stack.length - 1] = m;
5959
};
6060
```
6161

62-
마지막으로 이전의 행렬 함수를 이용하여`translate`, `rotate`, `scale`을 구현해야 합니다.
62+
마지막으로 이전의 행렬 함수를 이용하여 `translate`, `rotate`, `scale`을 구현해야 합니다.
6363

6464
```
65-
// Current matrix 이동
65+
// 현재 행렬 이동
6666
MatrixStack.prototype.translate = function(x, y, z) {
6767
var m = this.getCurrentMatrix();
6868
this.setCurrentMatrix(m4.translate(m, x, y, z));
6969
};
7070
71-
// Z를 중심으로 current matrix 회전
71+
// Z를 중심으로 현재 행렬 회전
7272
MatrixStack.prototype.rotateZ = function(angleInRadians) {
7373
var m = this.getCurrentMatrix();
7474
this.setCurrentMatrix(m4.zRotate(m, angleInRadians));
7575
};
7676
77-
// Current matrix 크기 조정
77+
// 현재 행렬 크기 조정
7878
MatrixStack.prototype.scale = function(x, y, z) {
7979
var m = this.getCurrentMatrix();
8080
this.setCurrentMatrix(m4.scale(m, x, y, z));
8181
};
8282
```
8383

8484
3D 행렬 수학 함수를 사용하고 있는데요.
85-
Translation의 `z``0`을 사용하고 scale의 `z``1`을 사용할 수 있지만, Canvas 2D의 2D 함수 사용에 너무 익숙해서 종종 `z`에 대한 지정을 까먹어서 코드가 끊기므로 `z`를 선택적으로 만들어봅시다.
85+
`translate` `z``0`을 사용하고 `scale` `z``1`을 사용할 수 있지만, Canvas 2D의 2D 함수 사용에 너무 익숙해서 종종 `z`에 대한 지정을 까먹어서 코드가 끊기므로 `z`를 선택적으로 만들어봅시다.
8686

8787
```
88-
// Current matrix 이동
88+
// 현재 행렬 이동
8989
MatrixStack.prototype.translate = function(x, y, z) {
9090
+ if (z === undefined) {
9191
+ z = 0;
@@ -96,7 +96,7 @@ MatrixStack.prototype.translate = function(x, y, z) {
9696
9797
...
9898
99-
// Current matrix 크기 조정
99+
// 현재 행렬 크기 조정
100100
MatrixStack.prototype.scale = function(x, y, z) {
101101
+ if (z === undefined) {
102102
+ z = 1;
@@ -115,7 +115,7 @@ var matrix = m4.orthographic(0, gl.canvas.width, gl.canvas.height, 0, -1, 1);
115115
// 이 행렬은 사각형을 dstX,dstY로 이동시킵니다.
116116
matrix = m4.translate(matrix, dstX, dstY, 0);
117117
118-
// 이 행렬은 사각형을 1단위에서 dstWidth,dstHeight 단위로 크기를 조정합니다.
118+
// 이 행렬은 사각형을 1유닛에서 dstWidth,dstHeight 유닛으로 크기를 조정합니다.
119119
matrix = m4.scale(matrix, dstWidth, dstHeight, 1);
120120
```
121121

@@ -131,13 +131,13 @@ var matrixStack = new MatrixStack();
131131
// 이 행렬은 픽셀에서 클립 공간으로 변환합니다.
132132
var matrix = m4.orthographic(0, gl.canvas.width, gl.canvas.height, 0, -1, 1);
133133
134-
+// 이 행렬은 원점을 current matrix stack에 해당하는 곳으로 이동시킵니다.
134+
+// 이 행렬은 원점을 현재 행렬 스택에 해당하는 곳으로 이동시킵니다.
135135
+matrix = m4.multiply(matrix, matrixStack.getCurrentMatrix());
136136
137137
// 이 행렬은 사각형을 dstX,dstY로 이동시킵니다.
138138
matrix = m4.translate(matrix, dstX, dstY, 0);
139139
140-
// 이 행렬은 사각형을 1단위에서 dstWidth,dstHeight 단위로 크기를 조정합니다.
140+
// 이 행렬은 사각형을 1유닛에서 dstWidth,dstHeight 유닛으로 크기를 조정합니다.
141141
matrix = m4.scale(matrix, dstWidth, dstHeight, 1);
142142
```
143143

@@ -309,6 +309,6 @@ matrixStack.rotateZ(time);
309309
새로운 원점이므로 스택에 텍스처가 없다면 텍스처가 그려질 위치를 기준으로 원점이 이동할 곳을 결정하면 됩니다.
310310

311311
행렬 스택이 이전에 다뤘던 [장면 그래프](webgl-scene-graph.html)와 굉장히 비슷하다는 것을 알아채셨을 겁니다.
312-
장면 그래프는 node tree가 있으며 tree를 탐색하면서 각 node를 parent node로 곱했습니다.
312+
장면 그래프는 노드 트리가 있으며 트리를 탐색하면서 각 노드를 부모 노드로 곱했습니다.
313313
행렬 스택은 사실상 동일한 프로세스의 또 다른 버전입니다.
314314

webgl/lessons/ko/webgl-2d-vs-3d-library.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ WebGL의 경우 래스터화 API라고 부르는 게 중요하다고 생각한
1919
WebGL과 OpenGL ES 2.0+는 모두 3D를 그리는데 사용되지만 이 설명에는 맞지 않습니다.
2020

2121
비유를 위해, C++은 기본적으로 "process word"를 하지 않습니다.
22-
C++을 "word processor"라고 부르진 않지만 word processor가 C++로 작성될 수는 있습니다.
22+
C++을 "word processor"라고 부르진 않지만 워드 프로세서가 C++로 작성될 수는 있습니다.
2323
비슷하게 WebGL은 기본적으로 3D 그래픽을 그리지 않습니다.
2424
WebGL로 3D 그래픽을 그리는 라이브러리를 작성할 수는 있지만 그 자체로 3D 그래픽을 수행하진 않습니다.
2525

@@ -34,7 +34,7 @@ WebGL로 3D 그래픽을 그리는 라이브러리를 작성할 수는 있지만
3434
renderer.setSize(c.clientWidth, c.clientHeight);
3535
c.appendChild(renderer.domElement);
3636

37-
// Camera 만들기 및 설정
37+
// 카메라 만들기 및 설정
3838
camera = new THREE.PerspectiveCamera(
3939
70, c.clientWidth / c.clientHeight, 1, 1000);
4040
camera.position.z = 400;
@@ -152,11 +152,11 @@ WebGL을 3D 라이브러리라고 부르는 건 잘못된 것 같습니다.
152152
WebGL에 유입되는 사용자들은 "오, 3D 라이브러리다. 멋지다. 이걸로 3D를 할 수 있을 거야"라고 생각한 다음, 전혀 그렇지 않다는 걸 알아 냅니다.
153153

154154
한 걸음 더 나아갈 수도 있습니다.
155-
다음은 캔버스로 wireframe cube를 그립니다.
155+
다음은 캔버스로 와이어프레임 큐브를 그립니다.
156156

157157
{{{example url="resources/3d-in-canvas.html" }}}
158158

159-
그리고 여기는 WebGL로 wireframe cube를 그립니다.
159+
그리고 여기는 WebGL로 와이어프레임 큐브를 그립니다.
160160

161161
{{{example url="resources/3d-in-webgl.html" }}}
162162

@@ -166,7 +166,7 @@ WebGL 버전은 우리가 제공한 수식이 GLSL에 있고 GPU에 의해 실
166166

167167
마지막 데모의 요점은 WebGL이 사실상 Canvas 2D와 유사한 래스터화 엔진일 뿐이라는 걸 보여주는 겁니다.
168168
물론 WebGL은 3D를 구현하는데 도움이 되는 기능들을 가지고 있는데요.
169-
WebGL에는 depth sorting을 훨씬 더 쉽게 만드는 depth buffer가 있습니다.
169+
WebGL에는 깊이 정렬을 훨씬 더 쉽게 만드는 깊이 버퍼가 있습니다.
170170
또한 3D 수학을 처리하는데 유용한 수학 함수들이 내장되어 있지만 3D로 만드는 건 없습니다.
171171
수학 라이브러리인거죠.
172172
해당 수학이 1D, 2D, 3D인 것에 상관없이 수식에 사용합니다.

webgl/lessons/ko/webgl-and-alpha.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,11 @@ WebGL은 이걸 좀 더 OpenGL처럼 만들기 위한 여러 방법을 가지고
7171

7272
알파가 있는 이미지를 WebGL로 로딩하는 경우 저의 기본값입니다.
7373
WebGL은 미리 곱하지 않은 색상 값인 PNG 파일 그대로의 값을 제공할 겁니다.
74-
pre-multiplied는 손실인 반면 이건 무손실이기 때문에 일반적으로 OpenGL 프로그램에 사용됩니다.
74+
`pre-multiplied` 손실인 반면 이건 무손실이기 때문에 일반적으로 OpenGL 프로그램에 사용됩니다.
7575

7676
1, 0.5, 0.5, 0 // RGBA
7777

78-
`r`, `g`, `b`가 0이 되는 걸 의미하는 `a = 0`이기 때문에 un-premultiplied는 가능한 값인 반면 pre-multiplied는 불가능한 값입니다.
78+
`r`, `g`, `b`가 0이 되는 걸 의미하는 `a = 0`이기 때문에 `un-premultiplied` 가능한 값인 반면 `pre-multiplied` 불가능한 값입니다.
7979

8080
원한다면 WebGL이 알파를 미리 곱하도록 할 수 있습니다.
8181
이렇게 `UNPACK_PREMULTIPLY_ALPHA_WEBGL`를 true로 설정하여 이를 수행하는데
@@ -85,9 +85,9 @@ pre-multiplied는 손실인 반면 이건 무손실이기 때문에 일반적으
8585
기본값은 un-premultiplied 입니다.
8686

8787
대부분의 Canvas 2D 구현은 pre-multiplied 알파로 작동한다는 점에 유의하세요.
88-
이는 WebGL로 전송하고 `UNPACK_PREMULTIPLY_ALPHA_WEBGL`이 false일 때 WebGL이 다시 un-premultipiled로 전환할 것임을 의미합니다.
88+
이는 WebGL로 전송하고 `UNPACK_PREMULTIPLY_ALPHA_WEBGL`이 false일 때 WebGL이 다시 `un-premultipiled` 전환할 것임을 의미합니다.
8989

90-
### #6) pre-multiplied 알파와 함께 작동하는 blending equation 사용
90+
### #6) pre-multiplied 알파와 함께 작동하는 혼합 방정식 사용
9191

9292
제가 작성하거나 작업한 거의 모든 OpenGL 앱들이 사용 중인데
9393

webgl/lessons/ko/webgl-animation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ WebGL에서 무언가에 애니메이션을 적용하려면 어떻게 해야 할
8181
...
8282

8383
초 단위의 `deltaTime`이 있으면 모든 계산은 초당 어떤 일이 일어나길 원하는 단위 수가 될 수 있습니다.
84-
이 경우 `rotationSpeed`는 1.2고 이는 초당 1.2radian씩 회전한다는 걸 의미합니다.
84+
이 경우 `rotationSpeed`는 1.2고 이는 초당 1.2라디안씩 회전한다는 걸 의미합니다.
8585
이는 1/5 회전, 즉 프레임률에 상관없이 완전히 회전하는데 5초가 걸립니다.
8686

8787
* rotation[1] += rotationSpeed * deltaTime;

0 commit comments

Comments
 (0)