簡體   English   中英

在OpenGL ES 3.0或2.0 Android中渲染立體3D

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM