Project

General

Profile

« Previous | Next » 

Revision 9f9924f8

Added by Leszek Koltunski over 3 years ago

Remove the 'binding' parameter from the UBO in the vertex shader - this is not part of OpenGL ES 3.0, only introduced in 3.1, and we want to be compatible with 3.0.
Now we need to dynamically detect the UBO index and form a BlockBinding ourselves.

View differences:

src/main/java/org/distorted/library/main/DistortedLibrary.java
264 264

  
265 265
    mMainProgramH = mMainProgram.getProgramHandle();
266 266
    EffectQueue.getUniforms(mMainProgramH,0);
267
    MeshBase.getUniforms(mMainProgramH,0);
267 268
    mMainTextureH= GLES30.glGetUniformLocation( mMainProgramH, "u_Texture");
268 269
    mTransformFeedbackH= GLES30.glGetUniformLocation( mMainProgramH, "u_TransformFeedback");
269 270

  
......
362 363

  
363 364
    mFullProgramH = mFullProgram.getProgramHandle();
364 365
    EffectQueue.getUniforms(mFullProgramH,3);
366
    MeshBase.getUniforms(mFullProgramH,3);
365 367
    }
366 368

  
367 369
///////////////////////////////////////////////////////////////////////////////////////////////////
......
396 398

  
397 399
    mMainOITProgramH = mMainOITProgram.getProgramHandle();
398 400
    EffectQueue.getUniforms(mMainOITProgramH,1);
401
    MeshBase.getUniforms(mMainOITProgramH,1);
399 402
    mMainOITTextureH    = GLES30.glGetUniformLocation( mMainOITProgramH, "u_Texture");
400 403
    mMainOITSizeH       = GLES30.glGetUniformLocation( mMainOITProgramH, "u_Size");
401 404
    mMainOITNumRecordsH = GLES30.glGetUniformLocation( mMainOITProgramH, "u_numRecords");
......
545 548
    mesh.bindVertexAttribs(mFullProgram);
546 549
    queue.compute(1);
547 550
    queue.send(0.0f,3);
548
    mesh.send(mFullProgramH);
551
    mesh.send(mFullProgramH,3);
549 552

  
550 553
    GLES30.glBindBufferBase(GLES30.GL_TRANSFORM_FEEDBACK_BUFFER, 0, tfo );
551 554
    GLES30.glBeginTransformFeedback( GLES30.GL_POINTS);
......
573 576
      GLES30.glUniform2ui(mMainOITSizeH, surface.mWidth, surface.mHeight);
574 577
      GLES30.glUniform1ui(mMainOITNumRecordsH, (int)(mBufferSize*surface.mWidth*surface.mHeight) );
575 578
      mesh.bindVertexAttribs(mMainOITProgram);
576
      mesh.send(mMainOITProgramH);
579
      mesh.send(mMainOITProgramH,1);
577 580

  
578 581
      float inflate     = mesh.getInflate();
579 582
      float distance    = surface.mDistance;
......
586 589
      if( mesh.getShowNormals() )
587 590
        {
588 591
        mMainProgram.useProgram();
589
        mesh.send(mMainProgramH);
592
        mesh.send(mMainProgramH,0);
590 593
        EffectQueue.send(queues, distance, mipmap, projection, inflate, 0 );
591 594
        displayNormals(projection,mesh);
592 595
        }
......
607 610
      mMainProgram.useProgram();
608 611
      GLES30.glUniform1i(DistortedLibrary.mMainTextureH, 0);
609 612
      mesh.bindVertexAttribs(DistortedLibrary.mMainProgram);
610
      mesh.send(mMainProgramH);
613
      mesh.send(mMainProgramH,0);
611 614

  
612 615
      float inflate     = mesh.getInflate();
613 616
      float distance    = surface.mDistance;

Also available in: Unified diff