Skip to content

Commit c2f9437

Browse files
authored
Merge pull request #16 from skyfe79/06-3.ViewTransformation
refactoring update method
2 parents f7de20f + 595ded7 commit c2f9437

File tree

3 files changed

+21
-24
lines changed

3 files changed

+21
-24
lines changed

06-3.ViewTransformation/app/src/main/java/kr/pe/burt/android/viewtransformation/Model.java

-5
Original file line numberDiff line numberDiff line change
@@ -113,13 +113,8 @@ public void setCamera(Matrix4f mat) {
113113
camera.load(mat);
114114
}
115115

116-
public void updateWithDelta(long dt) {
117-
}
118-
119116
public void draw(long dt) {
120117

121-
updateWithDelta(dt);
122-
123118
shader.begin();
124119

125120
camera.multiply(modelMatrix());

06-3.ViewTransformation/app/src/main/java/kr/pe/burt/android/viewtransformation/OGLRenderer.java

+19-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import android.opengl.GLES20;
55
import android.opengl.GLSurfaceView;
66
import android.renderscript.Float3;
7+
import android.renderscript.Matrix4f;
78

89
import javax.microedition.khronos.egl.EGLConfig;
910
import javax.microedition.khronos.opengles.GL10;
@@ -17,6 +18,8 @@
1718
*/
1819
public class OGLRenderer implements GLSurfaceView.Renderer {
1920

21+
private static final float ONE_SEC = 1000.0f; // 1 second
22+
2023
private Context context;
2124
private Square square;
2225
private long lastTimeMillis = 0L;
@@ -48,8 +51,23 @@ public void onDrawFrame(GL10 gl10) {
4851
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
4952

5053
long currentTimeMillis = System.currentTimeMillis();
51-
square.draw(currentTimeMillis - lastTimeMillis);
54+
updateWithDelta(currentTimeMillis - lastTimeMillis);
5255
lastTimeMillis = currentTimeMillis;
5356
}
5457

58+
59+
public void updateWithDelta(long dt) {
60+
61+
final float secsPerMove = 2.0f * ONE_SEC;
62+
float movement = (float)(Math.sin(System.currentTimeMillis() * 2 * Math.PI / secsPerMove));
63+
64+
Matrix4f camera = new Matrix4f();
65+
camera.translate(0.0f, -1.0f * movement, 0.0f);
66+
camera.rotate(360.0f * movement, 0.0f, 0.0f, 1.0f);
67+
camera.scale(movement, movement, movement);
68+
square.setCamera(camera);
69+
70+
71+
square.draw(dt);
72+
}
5573
}

06-3.ViewTransformation/app/src/main/java/kr/pe/burt/android/viewtransformation/Square.java

+2-18
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
*/
1414
public class Square extends Model {
1515

16-
private static final float ONE_SEC = 1000.0f; // 1 second
16+
1717

1818

1919
static final float squareCoords[] = {
@@ -32,21 +32,5 @@ public Square(ShaderProgram shader) {
3232
super("square", shader, squareCoords, indices);
3333
}
3434

35-
@Override
36-
public void updateWithDelta(long dt) {
37-
final float secsPerMove = 2.0f * ONE_SEC;
38-
float movement = (float)(Math.sin(System.currentTimeMillis() * 2 * Math.PI / secsPerMove));
39-
40-
Matrix4f camera = new Matrix4f();
41-
camera.translate(0.0f, -1.0f * movement, 0.0f);
42-
camera.rotate(360.0f * movement, 0.0f, 0.0f, 1.0f);
43-
camera.scale(movement, movement, movement);
44-
setCamera(camera);
45-
46-
setPosition(new Float3(
47-
position.x,
48-
position.y,
49-
position.z)
50-
);
51-
}
35+
5236
}

0 commit comments

Comments
 (0)