Revision 7cf57d72
Added by Leszek Koltunski about 7 years ago
src/main/java/org/distorted/library/MeshObject.java | ||
---|---|---|
86 | 86 |
GLES30.glBufferData(GLES30.GL_ARRAY_BUFFER, dataLength* TEX_DATA_SIZE*BYTES_PER_FLOAT, mMeshTexture , GLES30.GL_STATIC_READ); |
87 | 87 |
} |
88 | 88 |
|
89 |
if( mPosTBO[0]<0 ) |
|
89 |
if( mPosTBO[0]<0 ) // Buffer for Transform Feedback. Since we are rendering with GL_TRIANGLE_STRIP, after passing N vertices |
|
90 |
// we will get (N-2) triangles back, each 3 vertices of 12 bytes. |
|
90 | 91 |
{ |
91 | 92 |
GLES30.glBindBuffer(GLES30.GL_TRANSFORM_FEEDBACK_BUFFER, mPosTBO[0]); |
92 |
GLES30.glBufferData(GLES30.GL_TRANSFORM_FEEDBACK_BUFFER, dataLength*POSITION_DATA_SIZE*BYTES_PER_FLOAT, null, GLES30.GL_STATIC_READ);
|
|
93 |
GLES30.glBufferData(GLES30.GL_TRANSFORM_FEEDBACK_BUFFER, 3*(dataLength-2)*POSITION_DATA_SIZE*BYTES_PER_FLOAT, null, GLES30.GL_STATIC_READ);
|
|
93 | 94 |
GLES30.glBindBuffer(GLES30.GL_TRANSFORM_FEEDBACK_BUFFER, 0); |
94 | 95 |
} |
95 | 96 |
|
Also available in: Unified diff
This version appears to be fully working on Nexus 5X (it transfers back all the vertices and, if there are no vertex effects, the vertices transferred back are identical to the ones passed).
This however crashes with GL_INVALID_OPERATION during glDrawArrays() when run on Nexus 4.