我正在3D中渲染具有alpha紋理的多個(gè)對象。所有紋理都可以很好地加載,但是當(dāng)我嘗試在彼此之前渲染它們時(shí),我得到以下信息:剩下的就是我所擁有的。 是我想要的剩下的就是我所擁有的。正確的是應(yīng)該的。網(wǎng)格只是為了幫助可視化透視圖。剪切紅色圓圈紋理前面的紋理。我到處尋找答案,并說可以使用:GLES20.glEnable( GLES20.GL_BLEND );GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA );但是我正在使用它,但仍然無法正常工作。我正確放置在onSurfaceCreated()函數(shù)中的設(shè)置是:GLES20.glClearColor( 0.75f, 0.85f, 1f, 1.0f );GLES20.glEnable( GLES20.GL_BLEND );GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA );GLES20.glEnable( GLES20.GL_DEPTH_TEST );GLES20.glDepthFunc( GLES20.GL_LEQUAL );GLES20.glDepthMask( true );GLES20.glClearDepthf( 1f );我的片段著色器是:uniform sampler2D texture;varying vec2 texCoord; void main(){ gl_FragColor = texture2D( texture, texCoord );} 我是否需要在Android清單中包含任何內(nèi)容以啟用Alpha測試?我不想最終不得不手動(dòng)組織多邊形或使用alpha throw(),因?yàn)槲倚枰⑶蚁M承┫袼厥前胪该鞯摹H绾问?D Alpha測試深度緩沖區(qū)起作用?
OpenGL ES2 Alpha測試問題
ibeautiful
2019-11-02 10:52:44