Project

General

Profile

« Previous | Next » 

Revision 302e40d1

Added by Leszek Koltunski 11 months ago

MeshBandedTriangle implemented

View differences:

src/main/java/org/distorted/examples/meshfile/MeshFileRenderer.java
36 36
import org.distorted.library.main.DistortedLibrary;
37 37
import org.distorted.library.main.DistortedScreen;
38 38
import org.distorted.library.main.DistortedTexture;
39
import org.distorted.library.mesh.MeshBandedTriangle;
39 40
import org.distorted.library.mesh.MeshBase;
40 41
import org.distorted.library.mesh.MeshFile;
41 42
import org.distorted.library.mesh.MeshMultigon;
......
59 60
import static org.distorted.examples.meshfile.MeshFileActivity.MULTIGON;
60 61
import static org.distorted.examples.meshfile.MeshFileActivity.POLYGON;
61 62
import static org.distorted.examples.meshfile.MeshFileActivity.PROCEDURAL;
63
import static org.distorted.examples.meshfile.MeshFileActivity.TRIANGLE;
62 64
import static org.distorted.objectlib.main.TwistyObject.MESH_NICE;
63 65

  
64 66
///////////////////////////////////////////////////////////////////////////////////////////////////
......
198 200
        {
199 201
        createMultigon();
200 202
        }
203
      else if( resourceID==TRIANGLE )
204
        {
205
        createTriangle();
206
        }
201 207
      else
202 208
        {
203 209
        openMesh(resourceID);
......
222 228
      float F = 0.5f;
223 229
      float E = SQ3/2;
224 230

  
225
      if( resourceID == R.raw.deferredjob ||
226
          resourceID == R.raw.meshjoin    ||
227
          resourceID == PROCEDURAL        ||
228
          resourceID == POLYGON           ||
229
          resourceID == MULTIGON          ||
231
      if( resourceID == R.raw.deferredjob || resourceID == R.raw.meshjoin    ||
232
          resourceID == PROCEDURAL        || resourceID == POLYGON           ||
233
          resourceID == MULTIGON          || resourceID == TRIANGLE          ||
230 234
          resourceID == R.raw.predeform    ) return createWhiteTexture();
231 235

  
232 236
      if( resourceID == R.raw.cube2       ||
......
278 282
      return bitmap;
279 283
      }
280 284

  
285
///////////////////////////////////////////////////////////////////////////////////////////////////
286

  
287
    private void createTriangle()
288
      {
289
      float[] vL = {-1.0f, -0.5f};
290
      float[] vR = { 1.0f, -0.5f};
291
      float[] vT = { 0.0f,  1.0f};
292
      float C = 2f;
293
      float[] bands = { 1.0f, 0.00f*C, /*0.9f, 0.05f*C,*/ 0.8f, 0.06f*C, 0.5f, 0.09f*C, 0.0f, 0.10f*C};
294
      float[] normL = { vL[0]-vT[0], vL[1]-vT[1] };
295
      float[] normR = { vR[0]-vT[0], vR[1]-vT[1] };
296
      int mode = MeshBandedTriangle.MODE_NORMAL;
297
      int extraBands    = 2;
298
      int extraVertices = 1;
299

  
300
      mMesh = new MeshBandedTriangle(vL,vR,vT,bands,normL,normR,mode,extraBands,extraVertices);
301
      mMesh.setEffectAssociation(0,0,0);
302
      }
303

  
281 304
///////////////////////////////////////////////////////////////////////////////////////////////////
282 305

  
283 306
    private void createPolygon()
......
287 310

  
288 311
      int extraIndex    = 0;
289 312
      int extraVertices = 0;
290
      float[] vertices = new float[] { -A,-A, A,-A, A,A, -A,A };
313
      float[] vertices = { -A,-A, A,-A, A,A, -A,A };
291 314

  
292 315
      float C = 2f;
293
      float[] bands = new float[] { 1.0f, 0.00f*C, 0.9f, 0.04f*C,  0.8f, 0.07f*C, 0.5f, 0.09f*C, 0.0f, 0.10f*C};
316
      float[] bands = { 1.0f, 0.00f*C, 0.9f, 0.04f*C,  0.8f, 0.07f*C, 0.5f, 0.09f*C, 0.0f, 0.10f*C};
294 317

  
295 318
/*
296 319
      int numBands      = 5;

Also available in: Unified diff