Revision b7074bc6
Added by Leszek Koltunski about 4 years ago
src/main/java/org/distorted/library/mesh/MeshBase.java | ||
---|---|---|
19 | 19 |
|
20 | 20 |
package org.distorted.library.mesh; |
21 | 21 |
|
22 |
import android.opengl.GLES31;
|
|
22 |
import android.opengl.GLES30;
|
|
23 | 23 |
import android.opengl.Matrix; |
24 | 24 |
|
25 | 25 |
import org.distorted.library.effect.MatrixEffect; |
26 |
import org.distorted.library.main.DistortedLibrary; |
|
27 | 26 |
import org.distorted.library.main.InternalBuffer; |
28 | 27 |
import org.distorted.library.program.DistortedProgram; |
29 | 28 |
import org.distorted.library.type.Static4D; |
... | ... | |
114 | 113 |
mInflate = 0.0f; |
115 | 114 |
mComponent = new ArrayList<>(); |
116 | 115 |
|
117 |
mVBO = new InternalBuffer(GLES31.GL_ARRAY_BUFFER , GLES31.GL_STATIC_READ);
|
|
118 |
mTFO = new InternalBuffer(GLES31.GL_TRANSFORM_FEEDBACK_BUFFER, GLES31.GL_STATIC_READ);
|
|
116 |
mVBO = new InternalBuffer(GLES30.GL_ARRAY_BUFFER , GLES30.GL_STATIC_READ);
|
|
117 |
mTFO = new InternalBuffer(GLES30.GL_TRANSFORM_FEEDBACK_BUFFER, GLES30.GL_STATIC_READ);
|
|
119 | 118 |
} |
120 | 119 |
|
121 | 120 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
142 | 141 |
mComponent.add(comp); |
143 | 142 |
} |
144 | 143 |
|
145 |
mVBO = new InternalBuffer(GLES31.GL_ARRAY_BUFFER , GLES31.GL_STATIC_READ);
|
|
146 |
mTFO = new InternalBuffer(GLES31.GL_TRANSFORM_FEEDBACK_BUFFER, GLES31.GL_STATIC_READ);
|
|
144 |
mVBO = new InternalBuffer(GLES30.GL_ARRAY_BUFFER , GLES30.GL_STATIC_READ);
|
|
145 |
mTFO = new InternalBuffer(GLES30.GL_TRANSFORM_FEEDBACK_BUFFER, GLES30.GL_STATIC_READ);
|
|
147 | 146 |
|
148 | 147 |
System.arraycopy(original.mVertAttribs,0,mVertAttribs,0,original.mNumVertices*VERT_ATTRIBS); |
149 | 148 |
setAttribs(mVertAttribs); |
... | ... | |
308 | 307 |
{ |
309 | 308 |
int index = mVBO.createImmediately(mNumVertices*VERT_SIZE, mVertAttribs); |
310 | 309 |
|
311 |
GLES31.glBindBuffer(GLES31.GL_ARRAY_BUFFER, index );
|
|
312 |
GLES31.glVertexAttribPointer(program.mAttribute[0], POS_DATA_SIZE, GLES31.GL_FLOAT, false, VERT_SIZE, OFFSET_POS);
|
|
313 |
GLES31.glVertexAttribPointer(program.mAttribute[1], NOR_DATA_SIZE, GLES31.GL_FLOAT, false, VERT_SIZE, OFFSET_NOR);
|
|
314 |
GLES31.glVertexAttribPointer(program.mAttribute[2], INF_DATA_SIZE, GLES31.GL_FLOAT, false, VERT_SIZE, OFFSET_INF);
|
|
315 |
GLES31.glVertexAttribPointer(program.mAttribute[3], TEX_DATA_SIZE, GLES31.GL_FLOAT, false, VERT_SIZE, OFFSET_TEX);
|
|
316 |
GLES31.glBindBuffer(GLES31.GL_ARRAY_BUFFER, 0);
|
|
310 |
GLES30.glBindBuffer(GLES30.GL_ARRAY_BUFFER, index );
|
|
311 |
GLES30.glVertexAttribPointer(program.mAttribute[0], POS_DATA_SIZE, GLES30.GL_FLOAT, false, VERT_SIZE, OFFSET_POS);
|
|
312 |
GLES30.glVertexAttribPointer(program.mAttribute[1], NOR_DATA_SIZE, GLES30.GL_FLOAT, false, VERT_SIZE, OFFSET_NOR);
|
|
313 |
GLES30.glVertexAttribPointer(program.mAttribute[2], INF_DATA_SIZE, GLES30.GL_FLOAT, false, VERT_SIZE, OFFSET_INF);
|
|
314 |
GLES30.glVertexAttribPointer(program.mAttribute[3], TEX_DATA_SIZE, GLES30.GL_FLOAT, false, VERT_SIZE, OFFSET_TEX);
|
|
315 |
GLES30.glBindBuffer(GLES30.GL_ARRAY_BUFFER, 0);
|
|
317 | 316 |
} |
318 | 317 |
|
319 | 318 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
326 | 325 |
{ |
327 | 326 |
int index = mTFO.createImmediately(mNumVertices*TRAN_SIZE, null); |
328 | 327 |
|
329 |
GLES31.glBindBuffer(GLES31.GL_ARRAY_BUFFER, index );
|
|
330 |
GLES31.glVertexAttribPointer(program.mAttribute[0], POS_DATA_SIZE, GLES31.GL_FLOAT, false, 0, 0);
|
|
331 |
GLES31.glBindBuffer(GLES31.GL_ARRAY_BUFFER, 0);
|
|
328 |
GLES30.glBindBuffer(GLES30.GL_ARRAY_BUFFER, index );
|
|
329 |
GLES30.glVertexAttribPointer(program.mAttribute[0], POS_DATA_SIZE, GLES30.GL_FLOAT, false, 0, 0);
|
|
330 |
GLES30.glBindBuffer(GLES30.GL_ARRAY_BUFFER, 0);
|
|
332 | 331 |
} |
333 | 332 |
|
334 | 333 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
365 | 364 |
*/ |
366 | 365 |
public void setShowNormals(boolean show) |
367 | 366 |
{ |
368 |
mShowNormals = (DistortedLibrary.GLSL >= 300 && show);
|
|
367 |
mShowNormals = show;
|
|
369 | 368 |
} |
370 | 369 |
|
371 | 370 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
Also available in: Unified diff
Lower requirements - now only OpenGL ES 3.0 is required; if running on such platform, OIT part of the API ( which is the only one which actually requires 3.1) is switched off.