Project

General

Profile

« Previous | Next » 

Revision 604b2899

Added by Leszek Koltunski about 7 years ago

Dynamic display of bounding rectangles (with coords computed by Vertex Shader and gotten with Transform Feedback) works now.

Major problem: the glMapBufferRange() slows doewn rendering in a major way. Multiblur's FPS:

Nexus5X : 35.4 before -> 12.6 after
Nexus4 26.5 before -> ~12 after

View differences:

src/main/java/org/distorted/library/MeshObject.java
38 38
   static final int POS_DATA_SIZE= 3;
39 39
   static final int NOR_DATA_SIZE= 3;
40 40
   static final int TEX_DATA_SIZE= 2;
41
   static final int NDC_DATA_SIZE= 2;
41 42

  
42 43
   static final int OFFSET0 =                                                           0;
43 44
   static final int OFFSET1 = (POS_DATA_SIZE                            )*BYTES_PER_FLOAT;
44 45
   static final int OFFSET2 = (POS_DATA_SIZE+NOR_DATA_SIZE              )*BYTES_PER_FLOAT;
46

  
47
   static final int TFSIZE  = (POS_DATA_SIZE+NOR_DATA_SIZE+NDC_DATA_SIZE)*BYTES_PER_FLOAT;
45 48
   static final int VERTSIZE= (POS_DATA_SIZE+NOR_DATA_SIZE+TEX_DATA_SIZE)*BYTES_PER_FLOAT;
46 49

  
47 50
   int numVertices;
......
81 84
       {
82 85
       GLES30.glGenBuffers(1, mAttTFO, 0);
83 86
       GLES30.glBindBuffer(GLES30.GL_TRANSFORM_FEEDBACK_BUFFER, mAttTFO[0]);
84
       GLES30.glBufferData(GLES30.GL_TRANSFORM_FEEDBACK_BUFFER, numVertices*VERTSIZE, null, GLES30.GL_STATIC_READ);
87
       GLES30.glBufferData(GLES30.GL_TRANSFORM_FEEDBACK_BUFFER, numVertices*TFSIZE, null, GLES30.GL_STATIC_READ);
85 88
       GLES30.glBindBuffer(GLES30.GL_TRANSFORM_FEEDBACK_BUFFER, 0);
86 89
       }
87 90
     }

Also available in: Unified diff