Revision f2fe7e28
Added by Leszek Koltunski over 9 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!