[英]Rendering stereoscopy 3D in OpenGL ES 3.0 or 2.0 Android
我正在使用3D對象,並且正在使用Android的OpenGL ES。 我想做的是實現兩個GLES20.glViewport()
這樣我可以使同一個對象兩次,一次在左邊,一次在右邊。 我看過OpenGL和C ++的教程,這是可能的。 但是在Android中則有所不同,因為我需要在onSurfaceChanged()
方法中調用GLES20.glViewport()
。 有人能幫助我嗎? 謝謝。
好吧,我現在知道該怎么做。 如果有人想實現這一點,那么這就是我的解決方案。
1.-在onSurfaceChanged()方法中定義glViewPort()。 這可以具有屏幕的完整分辨率。
2.-在繪制左對象置於其頂部的方法中:
GLES20.glEnable(GLES20.GL_SCISSOR_TEST);
GLES20.glScissor(0, 0, width/2, height);
GLES20.glViewport(0, 0, width/2, height);
然后進行繪圖所需的所有操作,最后在方法結束時禁用剪刀測試。
GLES20.glDisable(GLES20.GL_SCISSOR_TEST);
3.-對正確的對象執行相同的操作,但是更改函數的參數。
GLES20.glEnable(GLES20.GL_SCISSOR_TEST);
GLES20.glScissor(width/2, 0, width/2, height);
GLES20.glViewport(width/2, 0, width/2, height);
...
GLES20.glDisable(GLES20.GL_SCISSOR_TEST);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.