Revision 1dec66e0
Added by Leszek Koltunski 12 months ago
src/main/java/org/distorted/library/effectqueue/EffectQueueMatrix.java | ||
---|---|---|
21 | 21 |
package org.distorted.library.effectqueue; |
22 | 22 |
|
23 | 23 |
import android.opengl.GLES30; |
24 |
import android.opengl.Matrix; |
|
25 | 24 |
|
25 |
import org.distorted.library.helpers.MatrixHelper; |
|
26 | 26 |
import org.distorted.library.effect.EffectType; |
27 | 27 |
import org.distorted.library.effect.MatrixEffect; |
28 | 28 |
import org.distorted.library.message.EffectMessageSender; |
... | ... | |
89 | 89 |
|
90 | 90 |
void send(float distance, float mipmap, float[] projection, int variant) |
91 | 91 |
{ |
92 |
Matrix.setIdentityM(mModelViewMatrixP, 0); |
|
93 |
Matrix.translateM(mModelViewMatrixP, 0, 0,0, -distance); |
|
94 |
|
|
95 |
if( mipmap!=1 ) |
|
96 |
{ |
|
97 |
Matrix.scaleM(mModelViewMatrixP, 0, mipmap, mipmap, mipmap); |
|
98 |
} |
|
99 |
|
|
100 |
mModelViewMatrixV[ 0] = mModelViewMatrixP[ 0]; |
|
101 |
mModelViewMatrixV[ 1] = mModelViewMatrixP[ 1]; |
|
102 |
mModelViewMatrixV[ 2] = mModelViewMatrixP[ 2]; |
|
103 |
mModelViewMatrixV[ 3] = mModelViewMatrixP[ 3]; |
|
104 |
mModelViewMatrixV[ 4] = mModelViewMatrixP[ 4]; |
|
105 |
mModelViewMatrixV[ 5] = mModelViewMatrixP[ 5]; |
|
106 |
mModelViewMatrixV[ 6] = mModelViewMatrixP[ 6]; |
|
107 |
mModelViewMatrixV[ 7] = mModelViewMatrixP[ 7]; |
|
108 |
mModelViewMatrixV[ 8] = mModelViewMatrixP[ 8]; |
|
109 |
mModelViewMatrixV[ 9] = mModelViewMatrixP[ 9]; |
|
110 |
mModelViewMatrixV[10] = mModelViewMatrixP[10]; |
|
111 |
mModelViewMatrixV[11] = mModelViewMatrixP[11]; |
|
112 |
mModelViewMatrixV[12] = mModelViewMatrixP[12]; |
|
113 |
mModelViewMatrixV[13] = mModelViewMatrixP[13]; |
|
114 |
mModelViewMatrixV[14] = mModelViewMatrixP[14]; |
|
115 |
mModelViewMatrixV[15] = mModelViewMatrixP[15]; |
|
92 |
// i.e. setIdentity(); translate(0,0,-distance); scale(mipmap,mipmap,mipmap) |
|
93 |
mModelViewMatrixV[ 0] = mModelViewMatrixP[ 0] = mipmap; |
|
94 |
mModelViewMatrixV[ 1] = mModelViewMatrixP[ 1] = 0; |
|
95 |
mModelViewMatrixV[ 2] = mModelViewMatrixP[ 2] = 0; |
|
96 |
mModelViewMatrixV[ 3] = mModelViewMatrixP[ 3] = 0; |
|
97 |
mModelViewMatrixV[ 4] = mModelViewMatrixP[ 4] = 0; |
|
98 |
mModelViewMatrixV[ 5] = mModelViewMatrixP[ 5] = mipmap; |
|
99 |
mModelViewMatrixV[ 6] = mModelViewMatrixP[ 6] = 0; |
|
100 |
mModelViewMatrixV[ 7] = mModelViewMatrixP[ 7] = 0; |
|
101 |
mModelViewMatrixV[ 8] = mModelViewMatrixP[ 8] = 0; |
|
102 |
mModelViewMatrixV[ 9] = mModelViewMatrixP[ 9] = 0; |
|
103 |
mModelViewMatrixV[10] = mModelViewMatrixP[10] = mipmap; |
|
104 |
mModelViewMatrixV[11] = mModelViewMatrixP[11] = 0; |
|
105 |
mModelViewMatrixV[12] = mModelViewMatrixP[12] = 0; |
|
106 |
mModelViewMatrixV[13] = mModelViewMatrixP[13] = 0; |
|
107 |
mModelViewMatrixV[14] = mModelViewMatrixP[14] = -distance; |
|
108 |
mModelViewMatrixV[15] = mModelViewMatrixP[15] = 1; |
|
116 | 109 |
|
117 | 110 |
float[] array = mUBF.getBackingArray(); |
118 | 111 |
|
... | ... | |
123 | 116 |
} |
124 | 117 |
|
125 | 118 |
// combined Model-View-Projection matrix |
126 |
Matrix.multiplyMM(mMVPMatrix, 0, projection, 0, mModelViewMatrixP, 0);
|
|
119 |
MatrixHelper.multiply(mMVPMatrix, projection, mModelViewMatrixP);
|
|
127 | 120 |
|
128 | 121 |
GLES30.glUniformMatrix4fv(mMVMatrixVH[variant], 1, false, mModelViewMatrixV, 0); |
129 | 122 |
GLES30.glUniformMatrix4fv(mMVMatrixPH[variant], 1, false, mModelViewMatrixP, 0); |
Also available in: Unified diff
Implement the android.opengl.Matrix functions ourselves.