Project

General

Profile

« Previous | Next » 

Revision 1b80a6e2

Added by Leszek Koltunski over 2 years ago

New postprocess effect 'Border' (not working yet) and adding it to the testing app 'Triblur'.

View differences:

src/main/java/org/distorted/examples/triblur/TriblurActivity.java
36 36

  
37 37
public class TriblurActivity extends Activity implements SeekBar.OnSeekBarChangeListener, AdapterView.OnItemSelectedListener
38 38
{
39
    private static final int NONE0 = 0;
40
    private static final int NONE1 = 1;
41
    private static final int NONE2 = 2;
42
    private static final int BLUR0 = 3;
43
    private static final int BLUR1 = 4;
44
    private static final int BLUR2 = 5;
45
    private static final int GLOW0 = 6;
46
    private static final int GLOW1 = 7;
47
    private static final int GLOW2 = 8;
48

  
49 39
    private int mQuality;
50 40
    private int mBackground;
51 41

  
......
74 64

  
75 65
        privateQuality(1);
76 66
        privateBackgroundColor(1);
77
        privateEffect(BLUR0);
78
        privateEffect(BLUR1);
79
        privateEffect(BLUR2);
80 67
        }
81 68

  
82
      Spinner typeSpinner  = findViewById(R.id.triblur_spinnerQuality);
83
      typeSpinner.setOnItemSelectedListener(this);
84

  
85 69
      String[] objectType = new String[] {"Quality Highest", "Quality High", "Quality Medium", "Quality Low"};
70
      setUpSpinner(R.id.triblur_spinnerQuality, objectType);
71
      String[] renderType = new String[] {"Render: Normal", "Render: OIT" };
72
      setUpSpinner(R.id.triblur_spinnerMode, renderType);
73

  
74
      String[] effects = new String[] {"NONE", "BLUR", "GLOW", "BORDER" };
75
      setUpSpinner(R.id.triblur_effect0, effects);
76
      setUpSpinner(R.id.triblur_effect1, effects);
77
      setUpSpinner(R.id.triblur_effect2, effects);
78
      }
86 79

  
87
      ArrayAdapter<String> adapterType = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, objectType);
88
      adapterType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
89
      typeSpinner.setAdapter(adapterType);
90

  
91
      Spinner bitmapSpinner  = findViewById(R.id.triblur_spinnerMode);
92
      bitmapSpinner.setOnItemSelectedListener(this);
80
///////////////////////////////////////////////////////////////////////////////////////////////////
93 81

  
94
      String[] objectBitmap = new String[] { "Render: Normal", "Render: OIT" };
82
    private void setUpSpinner(int spinnerID, String[] options)
83
      {
84
      Spinner typeSpinner  = findViewById(spinnerID);
85
      typeSpinner.setOnItemSelectedListener(this);
95 86

  
96
      ArrayAdapter<String> adapterBitmap = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, objectBitmap);
97
      adapterBitmap.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
98
      bitmapSpinner.setAdapter(adapterBitmap);
87
      ArrayAdapter<String> adapterType = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, options);
88
      adapterType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
89
      typeSpinner.setAdapter(adapterType);
99 90
      }
100 91

  
101 92
///////////////////////////////////////////////////////////////////////////////////////////////////
......
110 101
                                          TriblurRenderer renderer = v.getRenderer();
111 102
                                          renderer.setRenderModeToOIT(pos==1);
112 103
                                          break;
104
        case R.id.triblur_effect0       : privateEffect(0,pos);
105
                                          break;
106
        case R.id.triblur_effect1       : privateEffect(1,pos);
107
                                          break;
108
        case R.id.triblur_effect2       : privateEffect(2,pos);
109
                                          break;
113 110
        }
114 111
      }
115 112

  
......
211 208

  
212 209
///////////////////////////////////////////////////////////////////////////////////////////////////
213 210

  
214
    public void onStartTrackingTouch(SeekBar bar) { }
211
  public void onStartTrackingTouch(SeekBar bar) { }
215 212

  
216 213
///////////////////////////////////////////////////////////////////////////////////////////////////
217 214

  
218
    public void onStopTrackingTouch(SeekBar bar)  { }
215
  public void onStopTrackingTouch(SeekBar bar)  { }
219 216

  
220 217
///////////////////////////////////////////////////////////////////////////////////////////////////
221 218

  
222
  public void effect(View v)
223
    {
224
    switch(v.getId())
225
      {
226
      case R.id.triblurRadioNone0: privateEffect(NONE0); break;
227
      case R.id.triblurRadioNone1: privateEffect(NONE1); break;
228
      case R.id.triblurRadioNone2: privateEffect(NONE2); break;
229
      case R.id.triblurRadioBlur0: privateEffect(BLUR0); break;
230
      case R.id.triblurRadioBlur1: privateEffect(BLUR1); break;
231
      case R.id.triblurRadioBlur2: privateEffect(BLUR2); break;
232
      case R.id.triblurRadioGlow0: privateEffect(GLOW0); break;
233
      case R.id.triblurRadioGlow1: privateEffect(GLOW1); break;
234
      case R.id.triblurRadioGlow2: privateEffect(GLOW2); break;
235
      }
236
    }
237

  
238
///////////////////////////////////////////////////////////////////////////////////////////////////
239

  
240
  private void privateEffect(int index)
219
  private void privateEffect(int object, int effect)
241 220
    {
242 221
    TriblurSurfaceView view = findViewById(R.id.triblurSurfaceView);
243 222
    TriblurRenderer renderer = view.getRenderer();
244 223

  
245
    switch(index)
246
      {
247
      case NONE0: renderer.setEffects(0,0); break;
248
      case NONE1: renderer.setEffects(1,0); break;
249
      case NONE2: renderer.setEffects(2,0); break;
250
      case BLUR0: renderer.setEffects(0,1); break;
251
      case BLUR1: renderer.setEffects(1,1); break;
252
      case BLUR2: renderer.setEffects(2,1); break;
253
      case GLOW0: renderer.setEffects(0,2); break;
254
      case GLOW1: renderer.setEffects(1,2); break;
255
      case GLOW2: renderer.setEffects(2,2); break;
256
      }
224
    renderer.setEffects(object,effect);
257 225
    }
258 226

  
259 227
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff