Revision f2fe7e28
Added by Leszek Koltunski almost 8 years ago
src/main/java/org/distorted/library/EffectQueueVertex.java | ||
---|---|---|
22 | 22 |
import android.opengl.GLES20; |
23 | 23 |
|
24 | 24 |
import org.distorted.library.message.EffectMessage; |
25 |
import org.distorted.library.type.Data1D; |
|
26 |
import org.distorted.library.type.Data2D; |
|
27 |
import org.distorted.library.type.Data3D; |
|
28 |
import org.distorted.library.type.Data4D; |
|
25 | 29 |
import org.distorted.library.type.Dynamic; |
30 |
import org.distorted.library.type.Dynamic1D; |
|
26 | 31 |
import org.distorted.library.type.Dynamic2D; |
32 |
import org.distorted.library.type.Dynamic4D; |
|
33 |
import org.distorted.library.type.Static1D; |
|
27 | 34 |
import org.distorted.library.type.Static2D; |
28 | 35 |
import org.distorted.library.type.Static4D; |
29 | 36 |
|
... | ... | |
154 | 161 |
|
155 | 162 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
156 | 163 |
|
157 |
synchronized long add(EffectNames eln, Dynamic inter, Static4D region, Dynamic2D point)
|
|
164 |
synchronized long add(EffectNames eln, Data3D data, Data2D center, Data4D region)
|
|
158 | 165 |
{ |
159 | 166 |
if( mMax[INDEX]>mNumEffects ) |
160 | 167 |
{ |
... | ... | |
171 | 178 |
|
172 | 179 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
173 | 180 |
|
174 |
synchronized long add(EffectNames eln, Dynamic inter, Static4D region, Static2D point)
|
|
181 |
synchronized long add(EffectNames eln, Data3D data, Data2D center)
|
|
175 | 182 |
{ |
176 | 183 |
if( mMax[INDEX]>mNumEffects ) |
177 | 184 |
{ |
... | ... | |
182 | 189 |
mUniforms[NUM_UNIFORMS*mNumEffects+7] = point.getX()-mObjHalfX; |
183 | 190 |
mUniforms[NUM_UNIFORMS*mNumEffects+8] =-point.getY()+mObjHalfY; |
184 | 191 |
|
185 |
return addPriv(eln,region);
|
|
192 |
return addPriv(eln,null);
|
|
186 | 193 |
} |
187 | 194 |
|
188 | 195 |
return -1; |
... | ... | |
190 | 197 |
|
191 | 198 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
192 | 199 |
|
193 |
synchronized long add(EffectNames eln, float v1, float v2, float v3, Static4D region, Static2D point)
|
|
200 |
synchronized long add(EffectNames eln, Data1D data, Data2D center, Data4D region)
|
|
194 | 201 |
{ |
195 | 202 |
if( mMax[INDEX]>mNumEffects ) |
196 | 203 |
{ |
... | ... | |
209 | 216 |
|
210 | 217 |
return -1; |
211 | 218 |
} |
212 |
|
|
219 |
|
|
220 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
221 |
// sink, swirl |
|
222 |
|
|
223 |
synchronized long add(EffectNames eln, Data1D data, Data2D center) |
|
224 |
{ |
|
225 |
if( mMax[INDEX]>mNumEffects ) |
|
226 |
{ |
|
227 |
EffectNames.fillWithUnities(eln.ordinal(), mUniforms, NUM_UNIFORMS*mNumEffects); |
|
228 |
|
|
229 |
if( data instanceof Dynamic1D) |
|
230 |
mInterI[mNumEffects] = (Dynamic1D)data; |
|
231 |
else if( data instanceof Static1D) |
|
232 |
{ |
|
233 |
mInterI[mNumEffects] = null; |
|
234 |
mUniforms[NUM_UNIFORMS*mNumEffects] = ((Static1D)data).getX(); |
|
235 |
} |
|
236 |
|
|
237 |
mUniforms[NUM_UNIFORMS*mNumEffects+7] = point.getX()-mObjHalfX; |
|
238 |
mUniforms[NUM_UNIFORMS*mNumEffects+8] =-point.getY()+mObjHalfY; |
|
239 |
|
|
240 |
return addPriv(eln,null); |
|
241 |
} |
|
242 |
|
|
243 |
return -1; |
|
244 |
} |
|
245 |
|
|
213 | 246 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
214 | 247 |
|
215 |
private long addPriv(EffectNames eln, Static4D region)
|
|
248 |
private long addPriv(EffectNames eln, Data4D region)
|
|
216 | 249 |
{ |
217 | 250 |
if( region!=null ) |
218 | 251 |
{ |
219 |
float z = region.getZ(); |
|
252 |
if( region instanceof Dynamic4D) |
|
253 |
{ |
|
254 |
mInterP[mNumEffects] = (Dynamic4D)region; |
|
255 |
} |
|
256 |
else if ( region instanceof Static4D) |
|
257 |
{ |
|
258 |
Static4D tmp = (Static4D)region; |
|
259 |
|
|
260 |
float z = tmp.getZ(); |
|
220 | 261 |
|
221 |
mUniforms[NUM_UNIFORMS*mNumEffects+3] = region.getX(); |
|
222 |
mUniforms[NUM_UNIFORMS*mNumEffects+4] =-region.getY(); // invert y already |
|
223 |
mUniforms[NUM_UNIFORMS*mNumEffects+5] = z<=0.0f ? 1000*mObjHalfX : z; |
|
224 |
mUniforms[NUM_UNIFORMS*mNumEffects+6] = region.getW(); |
|
262 |
mUniforms[NUM_UNIFORMS*mNumEffects+3] = tmp.getX(); |
|
263 |
mUniforms[NUM_UNIFORMS*mNumEffects+4] =-tmp.getY(); // invert y already |
|
264 |
mUniforms[NUM_UNIFORMS*mNumEffects+5] = z<=0.0f ? 1000*mObjHalfX : z; |
|
265 |
mUniforms[NUM_UNIFORMS*mNumEffects+6] = tmp.getW(); |
|
266 |
} |
|
267 |
else return -1; |
|
225 | 268 |
} |
226 | 269 |
else |
227 | 270 |
{ |
Also available in: Unified diff
Major push towards simplifying DistortedObject's public API.
Beginning of work on VERTEX Effects - does not compile ATM!