Revision d7829514
Added by Leszek Koltunski over 5 years ago
| src/main/java/org/distorted/examples/meshjoin/MeshJoinRenderer.java | ||
|---|---|---|
| 86 | 86 |
quatInt1.add(mQuat1); |
| 87 | 87 |
quatInt2.add(mQuat2); |
| 88 | 88 |
|
| 89 |
mSinkAssociation = 15;
|
|
| 89 |
mSinkAssociation = 0;
|
|
| 90 | 90 |
mSink = new VertexEffectSink( sink, center, new Static4D(0,0,0,0.75f) ); |
| 91 | 91 |
mSink.setMeshAssociation(mSinkAssociation); |
| 92 | 92 |
|
| ... | ... | |
| 214 | 214 |
|
| 215 | 215 |
for(int i=0; i<MESHES; i++) |
| 216 | 216 |
{
|
| 217 |
meshes[i] = new MeshTriangles(10);
|
|
| 217 |
meshes[i] = new MeshTriangles(5);
|
|
| 218 | 218 |
meshes[i].setEffectAssociation(0,association); |
| 219 | 219 |
association <<= 1; |
| 220 | 220 |
} |
| ... | ... | |
| 267 | 267 |
VertexEffectDeform effect10= new VertexEffectDeform(dVec2, dRad, dCen2, dReg); |
| 268 | 268 |
VertexEffectDeform effect11= new VertexEffectDeform(dVec3, dRad, dCen3, dReg); |
| 269 | 269 |
|
| 270 |
effect1.setMeshAssociation(15); // apply to all 4 meshes |
|
| 271 |
effect2.setMeshAssociation(15); // apply to all 4 meshes |
|
| 272 |
effect3.setMeshAssociation(15); // apply to all 4 meshes |
|
| 273 | 270 |
effect4.setMeshAssociation(14); // apply to mesh[1], [2] and [3] |
| 274 | 271 |
effect5.setMeshAssociation( 2); // apply only to mesh[1] |
| 275 | 272 |
effect6.setMeshAssociation( 4); // apply only to mesh[2] |
| 276 | 273 |
effect7.setMeshAssociation( 8); // apply only to mesh[3] |
| 277 |
effect8.setMeshAssociation(15); // apply to all 4 meshes |
|
| 278 |
effect9.setMeshAssociation(15); // apply to all 4 meshes |
|
| 279 |
effect10.setMeshAssociation(15); // apply to all 4 meshes |
|
| 280 |
effect11.setMeshAssociation(15); // apply to all 4 meshes |
|
| 281 | 274 |
|
| 282 | 275 |
result.apply(effect1); |
| 283 | 276 |
result.apply(effect2); |
| src/main/java/org/distorted/examples/predeform/PredeformActivity.java | ||
|---|---|---|
| 330 | 330 |
|
| 331 | 331 |
} |
| 332 | 332 |
|
| 333 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 334 |
|
|
| 335 |
int getWidth() |
|
| 336 |
{
|
|
| 337 |
return mNumCols; |
|
| 338 |
} |
|
| 339 |
|
|
| 340 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 341 |
|
|
| 342 |
int getHeight() |
|
| 343 |
{
|
|
| 344 |
return mNumRows; |
|
| 345 |
} |
|
| 346 |
|
|
| 347 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 348 |
|
|
| 349 |
int getDepth() |
|
| 350 |
{
|
|
| 351 |
return mNumSlic; |
|
| 352 |
} |
|
| 353 |
|
|
| 354 | 333 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 355 | 334 |
|
| 356 | 335 |
@Override |
| src/main/java/org/distorted/examples/predeform/PredeformEffect.java | ||
|---|---|---|
| 204 | 204 |
/////////////////////////////////////////////////////////////////////////////////////// |
| 205 | 205 |
|
| 206 | 206 |
case VERTEX_MOVE : |
| 207 |
case DISTORT : float ld = mAct.get().getWidth()/50.0f;
|
|
| 207 |
case DISTORT : float ld = 0.02f;
|
|
| 208 | 208 |
float xd = (mInter[0]-50)*ld; |
| 209 | 209 |
float yd = (mInter[1]-50)*ld; |
| 210 | 210 |
float zd = (mInter[2]-50)*ld; |
| 211 | 211 |
mSta3.set(xd,yd,zd); |
| 212 | 212 |
break; |
| 213 |
case DEFORM : float le = mAct.get().getWidth()/50.0f;
|
|
| 213 |
case DEFORM : float le = 0.02f;
|
|
| 214 | 214 |
float xe = (mInter[0]-50)*le; |
| 215 | 215 |
float ye = (mInter[1]-50)*le; |
| 216 | 216 |
float ze = (mInter[2]-50)*le; |
| ... | ... | |
| 218 | 218 |
float re = (mInter[3])*le; |
| 219 | 219 |
mSta1.set(re); |
| 220 | 220 |
break; |
| 221 |
case WAVE : float l2 = mAct.get().getWidth()/50.0f;
|
|
| 221 |
case WAVE : float l2 = 0.02f;
|
|
| 222 | 222 |
float x2 = (mInter[0]-50)*l2; |
| 223 | 223 |
float y2 = (mInter[1]-50)*l2; |
| 224 | 224 |
float z2 = (mInter[2]-50)*180 / 50.0f; |
| ... | ... | |
| 355 | 355 |
{
|
| 356 | 356 |
PredeformActivity act = mAct.get(); |
| 357 | 357 |
|
| 358 |
float x = (mInterCenter[0]*0.012f - 0.6f)*act.getWidth();
|
|
| 359 |
float y = (mInterCenter[1]*0.012f - 0.6f)*act.getHeight();
|
|
| 360 |
float z = (mInterCenter[2]*0.012f - 0.6f)*act.getDepth();
|
|
| 358 |
float x = (mInterCenter[0]*0.012f - 0.6f); |
|
| 359 |
float y = (mInterCenter[1]*0.012f - 0.6f); |
|
| 360 |
float z = (mInterCenter[2]*0.012f - 0.6f); |
|
| 361 | 361 |
|
| 362 | 362 |
if( mName.getType() == EffectType.MATRIX ) |
| 363 | 363 |
{
|
| ... | ... | |
| 396 | 396 |
{
|
| 397 | 397 |
PredeformActivity act = mAct.get(); |
| 398 | 398 |
|
| 399 |
float factorX = act.getWidth() / 100.0f;
|
|
| 400 |
float factorY = act.getHeight()/ 100.0f;
|
|
| 401 |
// float factorZ = act.getDepth() / 100.0f;
|
|
| 399 |
float factorX = 0.01f;
|
|
| 400 |
float factorY = 0.01f;
|
|
| 401 |
// float factorZ = 0.01f;
|
|
| 402 | 402 |
|
| 403 | 403 |
int deduct = (mName.getType() == EffectType.VERTEX ? 50:0); |
| 404 | 404 |
|
| src/main/res/layout/meshjoinlayout.xml | ||
|---|---|---|
| 29 | 29 |
android:text="@string/color_yellow" |
| 30 | 30 |
android:onClick="onClick" |
| 31 | 31 |
android:layout_weight="1" |
| 32 |
android:checked="true"/>
|
|
| 32 |
android:checked="false"/>
|
|
| 33 | 33 |
<CheckBox |
| 34 | 34 |
android:layout_width="wrap_content" |
| 35 | 35 |
android:layout_height="match_parent" |
| ... | ... | |
| 37 | 37 |
android:text="@string/color_green" |
| 38 | 38 |
android:onClick="onClick" |
| 39 | 39 |
android:layout_weight="1" |
| 40 |
android:checked="true"/>
|
|
| 40 |
android:checked="false"/>
|
|
| 41 | 41 |
<CheckBox |
| 42 | 42 |
android:layout_width="wrap_content" |
| 43 | 43 |
android:layout_height="match_parent" |
| ... | ... | |
| 45 | 45 |
android:text="@string/color_blue" |
| 46 | 46 |
android:onClick="onClick" |
| 47 | 47 |
android:layout_weight="1" |
| 48 |
android:checked="true"/>
|
|
| 48 |
android:checked="false"/>
|
|
| 49 | 49 |
<CheckBox |
| 50 | 50 |
android:layout_width="wrap_content" |
| 51 | 51 |
android:layout_height="match_parent" |
| ... | ... | |
| 53 | 53 |
android:text="@string/color_red" |
| 54 | 54 |
android:onClick="onClick" |
| 55 | 55 |
android:layout_weight="1" |
| 56 |
android:checked="true"/>
|
|
| 56 |
android:checked="false"/>
|
|
| 57 | 57 |
|
| 58 | 58 |
</LinearLayout> |
| 59 | 59 |
|
Also available in: Unified diff
1) Cube: convert it to the latest library. Main difference: objects are rendered better, individual cubits have rounded corners.
2) Examples: some adjustments to MeshJoin & Predeform
3) Library: fix a bug in main_vertex_shader's 'degree' function, which didn't work proprely in case of a vertex which was exactly at the center (i.e. vector PS was zero)