Revision b11171e8
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/library/main/DistortedLibrary.java | ||
---|---|---|
529 | 529 |
mesh.bindTransformAttribs(mNormalProgram); |
530 | 530 |
GLES30.glLineWidth(8.0f); |
531 | 531 |
GLES30.glDrawArrays(GLES30.GL_LINES, 0, 2*num); |
532 |
mNormalProgram.stopUsingProgram(); |
|
532 | 533 |
} |
533 | 534 |
|
534 | 535 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
569 | 570 |
GLES30.glEndTransformFeedback(); |
570 | 571 |
mesh.copyTransformToVertex(); |
571 | 572 |
GLES30.glBindBufferBase(GLES30.GL_TRANSFORM_FEEDBACK_BUFFER, 0, 0); |
573 |
mFullProgram.stopUsingProgram(); |
|
572 | 574 |
} |
573 | 575 |
|
574 | 576 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
596 | 598 |
|
597 | 599 |
EffectQueue.send(queues, mMainOITProgramH, distance, mipmap, projection, inflate, 1 ); |
598 | 600 |
GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, mesh.getNumVertices() ); |
601 |
mMainOITProgram.stopUsingProgram(); |
|
599 | 602 |
|
600 |
if( mesh.getShowNormals() ) |
|
601 |
{ |
|
602 |
mMainProgram.useProgram(); |
|
603 |
mesh.send(mMainProgramH,0); |
|
604 |
EffectQueue.send(queues, mMainProgramH, distance, mipmap, projection, inflate, 0 ); |
|
605 |
displayNormals(projection,mesh); |
|
606 |
} |
|
603 |
if( mesh.getShowNormals() ) displayNormals(projection,mesh); |
|
607 | 604 |
} |
608 | 605 |
} |
609 | 606 |
|
... | ... | |
630 | 627 |
|
631 | 628 |
EffectQueue.send(queues, mMainProgramH, distance, mipmap, projection, inflate, 0 ); |
632 | 629 |
GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, mesh.getNumVertices() ); |
630 |
mMainProgram.stopUsingProgram(); |
|
633 | 631 |
|
634 | 632 |
if( mesh.getShowNormals() ) displayNormals(projection,mesh); |
635 | 633 |
} |
... | ... | |
642 | 640 |
if( mBlitProgram!=null ) |
643 | 641 |
{ |
644 | 642 |
mBlitProgram.useProgram(); |
645 |
|
|
646 | 643 |
GLES30.glViewport(0, 0, surface.mWidth, surface.mHeight ); |
647 | 644 |
GLES30.glUniform1i(mBlitTextureH, 0); |
648 | 645 |
GLES30.glUniform1f( mBlitDepthH , 1.0f-surface.mNear); |
649 | 646 |
GLES30.glVertexAttribPointer(mBlitProgram.mAttribute[0], 2, GLES30.GL_FLOAT, false, 0, mQuadPositions); |
650 | 647 |
GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, 4); |
648 |
mBlitProgram.stopUsingProgram(); |
|
651 | 649 |
} |
652 | 650 |
} |
653 | 651 |
|
... | ... | |
658 | 656 |
if( mBlitDepthProgram!=null ) |
659 | 657 |
{ |
660 | 658 |
mBlitDepthProgram.useProgram(); |
661 |
|
|
662 | 659 |
GLES30.glViewport(0, 0, surface.mWidth, surface.mHeight ); |
663 | 660 |
GLES30.glUniform1i(mBlitDepthTextureH, 0); |
664 | 661 |
GLES30.glUniform1i(mBlitDepthDepthTextureH, 1); |
665 | 662 |
GLES30.glUniform2f(mBlitDepthTexCorrH, corrW, corrH ); |
666 | 663 |
GLES30.glVertexAttribPointer(mBlitDepthProgram.mAttribute[0], 2, GLES30.GL_FLOAT, false, 0, mQuadPositions); |
667 | 664 |
GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, 4); |
665 |
mBlitDepthProgram.stopUsingProgram(); |
|
668 | 666 |
} |
669 | 667 |
} |
670 | 668 |
|
... | ... | |
801 | 799 |
} |
802 | 800 |
|
803 | 801 |
mOITClearProgram.useProgram(); |
804 |
|
|
805 | 802 |
GLES30.glViewport(0, 0, surface.mWidth, surface.mHeight ); |
806 | 803 |
GLES30.glUniform2f(mOITClearTexCorrH, 1.0f, 1.0f ); // corrections do not really matter here - only present because of common vertex shader. |
807 | 804 |
GLES30.glUniform1f( mOITClearDepthH , 1.0f); // likewise depth |
808 | 805 |
GLES30.glUniform2ui(mOITClearSizeH, surface.mWidth, surface.mHeight); |
809 | 806 |
GLES30.glVertexAttribPointer(mOITClearProgram.mAttribute[0], 2, GLES30.GL_FLOAT, false, 0, mQuadPositions); |
810 | 807 |
GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, 4); |
808 |
mOITClearProgram.stopUsingProgram(); |
|
811 | 809 |
} |
812 | 810 |
|
813 | 811 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
818 | 816 |
if( mOITBuildProgram!=null ) |
819 | 817 |
{ |
820 | 818 |
mOITBuildProgram.useProgram(); |
821 |
|
|
822 | 819 |
GLES30.glViewport(0, 0, surface.mWidth, surface.mHeight ); |
823 | 820 |
GLES30.glUniform1i(mOITBuildTextureH, 0); |
824 | 821 |
GLES30.glUniform1i(mOITBuildDepthTextureH, 1); |
... | ... | |
828 | 825 |
GLES30.glUniform1f(mOITBuildDepthH , 1.0f-surface.mNear); |
829 | 826 |
GLES30.glVertexAttribPointer(mOITBuildProgram.mAttribute[0], 2, GLES30.GL_FLOAT, false, 0, mQuadPositions); |
830 | 827 |
GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, 4); |
828 |
mOITBuildProgram.stopUsingProgram(); |
|
831 | 829 |
} |
832 | 830 |
} |
833 | 831 |
|
... | ... | |
839 | 837 |
if( mOITCollapseProgram!=null ) |
840 | 838 |
{ |
841 | 839 |
mOITCollapseProgram.useProgram(); |
842 |
|
|
843 | 840 |
GLES30.glViewport(0, 0, surface.mWidth, surface.mHeight ); |
844 | 841 |
GLES30.glUniform1i(mOITCollapseDepthTextureH, 1); |
845 | 842 |
GLES30.glUniform2f(mOITCollapseTexCorrH, corrW, corrH ); |
... | ... | |
847 | 844 |
GLES30.glUniform1f( mOITCollapseDepthH , 1.0f-surface.mNear); |
848 | 845 |
GLES30.glVertexAttribPointer(mOITCollapseProgram.mAttribute[0], 2, GLES30.GL_FLOAT, false, 0, mQuadPositions); |
849 | 846 |
GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, 4); |
847 |
mOITCollapseProgram.stopUsingProgram(); |
|
850 | 848 |
} |
851 | 849 |
} |
852 | 850 |
|
... | ... | |
858 | 856 |
if( mOITRenderProgram!=null ) |
859 | 857 |
{ |
860 | 858 |
mOITRenderProgram.useProgram(); |
861 |
|
|
862 | 859 |
GLES30.glViewport(0, 0, surface.mWidth, surface.mHeight ); |
863 | 860 |
GLES30.glUniform2f(mOITRenderTexCorrH, corrW, corrH ); |
864 | 861 |
GLES30.glUniform2ui(mOITRenderSizeH, surface.mWidth, surface.mHeight); |
865 | 862 |
GLES30.glUniform1f( mOITRenderDepthH , 1.0f-surface.mNear); |
866 | 863 |
GLES30.glVertexAttribPointer(mOITRenderProgram.mAttribute[0], 2, GLES30.GL_FLOAT, false, 0, mQuadPositions); |
867 | 864 |
GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, 4); |
865 |
mOITRenderProgram.stopUsingProgram(); |
|
868 | 866 |
} |
869 | 867 |
} |
870 | 868 |
|
Also available in: Unified diff
Add DistortedProgram.stopUsingProgram()