Repositioning the triangle
Our matrix-fu has really gotten us places. Let's go further.
I want to move the triangle out of the way. We'll do this by setting up another transformation matrix and then using it on the model when it's time to draw.
Add two new matrices named triTransform
and triView
:
// Model variables private float[] triTransform; // Viewing variables private float[] triView;
Initialize them in onCreate
as well:
triTransform = new float[16]; triView = new float[16];
Let's set the model matrix that positions the triangle in the initializeScene
method (called by onSurfaceCreated
). We'll offset it by 5 units in X and backwards 5 units in Z. Add the following code to initializeScene
:
// Position the triangle Matrix.setIdentityM(triTransform, 0); Matrix.translateM(triTransform, 0, 5, 0, -5);
Lastly, we use the model matrix to build the modelViewProjection
matrix in onDrawEye
. Modify onDrawEye
, as follows:
...