Revision 3bec5dc2
Added by Leszek Koltunski over 9 years ago
| src/main/java/org/distorted/examples/fragment3d/Fragment3DActivity.java | ||
|---|---|---|
| 292 | 292 |
|
| 293 | 293 |
setContentView(view); |
| 294 | 294 |
|
| 295 |
String[] effects = new String[] {"CHROMA", "ALPHA", "BRIGHTNESS", "SATURATION"};
|
|
| 295 |
String[] effects = new String[] { "MACROBLOCK",
|
|
| 296 |
"ALPHA", |
|
| 297 |
"SMOOTH_ALPHA", |
|
| 298 |
"CHROMA", |
|
| 299 |
"SMOOTH_CHROMA", |
|
| 300 |
"BRIGHTNESS", |
|
| 301 |
"SMOOTH_BRIGHTNESS", |
|
| 302 |
"SATURATION", |
|
| 303 |
"SMOOTH_SATURATION", |
|
| 304 |
"CONTRAST", |
|
| 305 |
"SMOOTH_CONTRAST" }; |
|
| 296 | 306 |
|
| 297 | 307 |
Spinner effectSpinner = (Spinner)findViewById(R.id.fragment3dspinner ); |
| 298 | 308 |
effectSpinner.setOnItemSelectedListener(this); |
| ... | ... | |
| 312 | 322 |
|
| 313 | 323 |
switch(mEffectAdd) |
| 314 | 324 |
{
|
| 315 |
case 0 : name = EffectNames.CHROMA ; break; |
|
| 316 |
case 1 : name = EffectNames.ALPHA ; break; |
|
| 317 |
case 2 : name = EffectNames.BRIGHTNESS; break; |
|
| 318 |
case 3 : name = EffectNames.SATURATION; break; |
|
| 325 |
case 0 : name = EffectNames.MACROBLOCK ; break; |
|
| 326 |
case 1 : name = EffectNames.ALPHA ; break; |
|
| 327 |
case 2 : name = EffectNames.SMOOTH_ALPHA ; break; |
|
| 328 |
case 3 : name = EffectNames.CHROMA ; break; |
|
| 329 |
case 4 : name = EffectNames.SMOOTH_CHROMA ; break; |
|
| 330 |
case 5 : name = EffectNames.BRIGHTNESS ; break; |
|
| 331 |
case 6 : name = EffectNames.SMOOTH_BRIGHTNESS; break; |
|
| 332 |
case 7 : name = EffectNames.SATURATION ; break; |
|
| 333 |
case 8 : name = EffectNames.SMOOTH_SATURATION; break; |
|
| 334 |
case 9 : name = EffectNames.CONTRAST ; break; |
|
| 335 |
case 10: name = EffectNames.SMOOTH_CONTRAST ; break; |
|
| 319 | 336 |
default: return; |
| 320 | 337 |
} |
| 321 | 338 |
|
| ... | ... | |
| 334 | 351 |
|
| 335 | 352 |
switch(mEffectAdd) |
| 336 | 353 |
{
|
| 337 |
case 0: mObject.chroma (dyn1, dyn3, regi, false); break;
|
|
| 354 |
case 0: mObject.macroblock(dyn1, regi ); break;
|
|
| 338 | 355 |
case 1: mObject.alpha (dyn1, regi, false); break; |
| 339 |
case 2: mObject.brightness(dyn1, regi, false); break; |
|
| 340 |
case 3: mObject.saturation(dyn1, regi, false); break; |
|
| 356 |
case 2: mObject.alpha (dyn1, regi, true ); break; |
|
| 357 |
case 3: mObject.chroma (dyn1, dyn3, regi, false); break; |
|
| 358 |
case 4: mObject.chroma (dyn1, dyn3, regi, true ); break; |
|
| 359 |
case 5: mObject.brightness(dyn1, regi, false); break; |
|
| 360 |
case 6: mObject.brightness(dyn1, regi, true ); break; |
|
| 361 |
case 7: mObject.saturation(dyn1, regi, false); break; |
|
| 362 |
case 8: mObject.saturation(dyn1, regi, true ); break; |
|
| 363 |
case 9: mObject.contrast (dyn1, regi, false); break; |
|
| 364 |
case 10:mObject.contrast (dyn1, regi, true ); break; |
|
| 365 |
|
|
| 341 | 366 |
} |
| 342 | 367 |
} |
| 343 | 368 |
|
| src/main/java/org/distorted/examples/fragment3d/Fragment3DEffect.java | ||
|---|---|---|
| 87 | 87 |
|
| 88 | 88 |
private void setRegionText() |
| 89 | 89 |
{
|
| 90 |
float f0 = ((int)(mRegionSta.getX()*100))/100.0f;
|
|
| 91 |
float f1 = ((int)(mRegionSta.getY()*100))/100.0f;
|
|
| 92 |
float f2 = ((int)(mRegionSta.getZ()*100))/100.0f;
|
|
| 93 |
float f3 = ((int)(mRegionSta.getW()*100))/100.0f;
|
|
| 90 |
int f0 = (int)mRegionSta.getX();
|
|
| 91 |
int f1 = (int)mRegionSta.getY();
|
|
| 92 |
int f2 = (int)mRegionSta.getZ();
|
|
| 93 |
int f3 = (int)mRegionSta.getW();
|
|
| 94 | 94 |
|
| 95 | 95 |
mTextRegion.setText("region ("+f0+","+f1+","+f2+","+f3+")");
|
| 96 | 96 |
} |
| ... | ... | |
| 101 | 101 |
{
|
| 102 | 102 |
switch(mName) |
| 103 | 103 |
{
|
| 104 |
case CHROMA : mSta1.set(mInter[0]/100.0f); |
|
| 105 |
mSta3.set(255.0f*mInter[1]/100, |
|
| 106 |
255.0f*mInter[2]/100, |
|
| 107 |
255.0f*mInter[3]/100); |
|
| 108 |
break; |
|
| 109 |
case ALPHA : mSta1.set(mInter[0]/100.0f); |
|
| 110 |
break; |
|
| 111 |
case BRIGHTNESS: mSta1.set(mInter[0]/100.0f); |
|
| 112 |
break; |
|
| 113 |
case SATURATION: mSta1.set(mInter[0]/100.0f); |
|
| 114 |
break; |
|
| 104 |
case MACROBLOCK : Fragment3DActivity act = mAct.get(); |
|
| 105 |
mSta1.set(mInter[0]*act.getWidth() / 100.0f); |
|
| 106 |
break; |
|
| 107 |
case ALPHA : |
|
| 108 |
case SMOOTH_ALPHA : |
|
| 109 |
case BRIGHTNESS : |
|
| 110 |
case SMOOTH_BRIGHTNESS: |
|
| 111 |
case SATURATION : |
|
| 112 |
case SMOOTH_SATURATION: |
|
| 113 |
case CONTRAST : |
|
| 114 |
case SMOOTH_CONTRAST : mSta1.set(mInter[0]/100.0f); |
|
| 115 |
break; |
|
| 116 |
|
|
| 117 |
case CHROMA : |
|
| 118 |
case SMOOTH_CHROMA : mSta1.set(mInter[0]/100.0f); |
|
| 119 |
mSta3.set(255.0f*mInter[1]/100, |
|
| 120 |
255.0f*mInter[2]/100, |
|
| 121 |
255.0f*mInter[3]/100); |
|
| 122 |
break; |
|
| 115 | 123 |
} |
| 116 | 124 |
} |
| 117 | 125 |
|
| ... | ... | |
| 121 | 129 |
{
|
| 122 | 130 |
switch(mName) |
| 123 | 131 |
{
|
| 124 |
case CHROMA : mInter[0] = 0; |
|
| 125 |
mInter[1] = 0; |
|
| 126 |
mInter[2] = 0; |
|
| 127 |
mInter[3] = 0; |
|
| 128 |
break; |
|
| 129 |
case ALPHA : mInter[0] = 100; |
|
| 130 |
break; |
|
| 131 |
case BRIGHTNESS: mInter[0] = 100; |
|
| 132 |
break; |
|
| 133 |
case SATURATION: mInter[0] = 100; |
|
| 134 |
break; |
|
| 132 |
case MACROBLOCK : mInter[0] = 3; |
|
| 133 |
break; |
|
| 134 |
case ALPHA : |
|
| 135 |
case SMOOTH_ALPHA : |
|
| 136 |
case BRIGHTNESS : |
|
| 137 |
case SMOOTH_BRIGHTNESS: |
|
| 138 |
case SATURATION : |
|
| 139 |
case SMOOTH_SATURATION: |
|
| 140 |
case CONTRAST : |
|
| 141 |
case SMOOTH_CONTRAST : mInter[0] = 50; |
|
| 142 |
break; |
|
| 143 |
|
|
| 144 |
case CHROMA : |
|
| 145 |
case SMOOTH_CHROMA : mInter[0] = 50; |
|
| 146 |
mInter[1] = 0; |
|
| 147 |
mInter[2] = 0; |
|
| 148 |
mInter[3] = 0; |
|
| 149 |
break; |
|
| 135 | 150 |
} |
| 136 | 151 |
} |
| 137 | 152 |
|
| ... | ... | |
| 139 | 154 |
|
| 140 | 155 |
private void setText() |
| 141 | 156 |
{
|
| 142 |
float f1 = ((int)mSta1.getX()*100)/100.0f;
|
|
| 157 |
float f1 = ((int)(mSta1.getX()*100))/100.0f;
|
|
| 143 | 158 |
|
| 144 |
switch(mName) |
|
| 159 |
String text = mName.name() +" "+f1; |
|
| 160 |
|
|
| 161 |
if( mName==EffectNames.CHROMA || mName==EffectNames.SMOOTH_CHROMA) |
|
| 145 | 162 |
{
|
| 146 |
case CHROMA : float f2 = ((int)mSta3.getX()*100)/100.0f; |
|
| 147 |
float f3 = ((int)mSta3.getY()*100)/100.0f; |
|
| 148 |
float f4 = ((int)mSta3.getZ()*100)/100.0f; |
|
| 149 |
mText.setText("chroma "+f1+"("+f2+","+f3+","+f4+")");
|
|
| 150 |
break; |
|
| 151 |
case ALPHA : mText.setText("alpha ("+f1+")");
|
|
| 152 |
break; |
|
| 153 |
case BRIGHTNESS: mText.setText("brightness ("+f1+")");
|
|
| 154 |
break; |
|
| 155 |
case SATURATION: mText.setText("saturation ("+f1+")");
|
|
| 156 |
break; |
|
| 163 |
int f2 = (int)mSta3.getX(); |
|
| 164 |
int f3 = (int)mSta3.getY(); |
|
| 165 |
int f4 = (int)mSta3.getZ(); |
|
| 166 |
text += "("+f2+","+f3+","+f4+")";
|
|
| 157 | 167 |
} |
| 168 |
|
|
| 169 |
mText.setText(text); |
|
| 158 | 170 |
} |
| 159 | 171 |
|
| 160 | 172 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| ... | ... | |
| 164 | 176 |
mAct = new WeakReference<>(act); |
| 165 | 177 |
mName = name; |
| 166 | 178 |
|
| 167 |
if( mName==EffectNames.CHROMA ) |
|
| 179 |
if( mName==EffectNames.CHROMA || mName==EffectNames.SMOOTH_CHROMA )
|
|
| 168 | 180 |
{
|
| 169 | 181 |
mDimension = 4; |
| 170 | 182 |
mDyn3 = new Dynamic3D(); |
| src/main/res/values/strings.xml | ||
|---|---|---|
| 93 | 93 |
<string name="example_cubes_subtitle">Tests the DistortedCubes render target.</string> |
| 94 | 94 |
<string name="example_quaternion">Quaternion</string> |
| 95 | 95 |
<string name="example_quaternion_subtitle">Random rotations using quaternions.</string> |
| 96 |
<string name="example_matrix3d">3D Matrix Effects</string>
|
|
| 96 |
<string name="example_matrix3d">Matrix Effects</string> |
|
| 97 | 97 |
<string name="example_matrix3d_subtitle">Test results of Matrix effects on a 3D object.</string> |
| 98 |
<string name="example_vertex3d">3D Vertex Effects</string>
|
|
| 98 |
<string name="example_vertex3d">Vertex Effects</string> |
|
| 99 | 99 |
<string name="example_vertex3d_subtitle">Test results of Vertex effects on a 3D object.</string> |
| 100 |
<string name="example_fragment3d">3D Fragment Effects</string>
|
|
| 100 |
<string name="example_fragment3d">Fragment Effects</string> |
|
| 101 | 101 |
<string name="example_fragment3d_subtitle">Test results of Fragment effects on a 3D object.</string> |
| 102 | 102 |
<string name="example_plainmonalisa">PlainMonaLisa</string> |
| 103 | 103 |
<string name="example_plainmonalisa_subtitle">MonaLisa rendered on a plain SurfaceView</string> |
Also available in: Unified diff
Fragment3D finished.