旋转Android OpenGL ES 2.0视口

旋转Android OpenGL ES 2.0视口,android,opengl-es,viewport,opengl-es-2.0,Android,Opengl Es,Viewport,Opengl Es 2.0,我为Android应用程序获取的OpenGL ES 2.0渲染上下文处于纵向模式(480x800),但我希望以横向模式(800x480)渲染 如何旋转OpenGL视口,最好不修改发送到着色器的矩阵 我有很多着色器,其中一些使用标识矩阵(如字体渲染器)。看起来我需要在矩阵的几个地方添加一个旋转分量。有没有办法全局旋转视口 我可以从Android请求一个景观渲染上下文吗 这个问题有什么架构模式吗?我在应用程序中做了两件事。首先,将此行修改为清单文件: <activity android:nam

我为Android应用程序获取的OpenGL ES 2.0渲染上下文处于纵向模式(480x800),但我希望以横向模式(800x480)渲染

如何旋转OpenGL视口,最好不修改发送到着色器的矩阵

我有很多着色器,其中一些使用标识矩阵(如字体渲染器)。看起来我需要在矩阵的几个地方添加一个旋转分量。有没有办法全局旋转视口

我可以从Android请求一个景观渲染上下文吗


这个问题有什么架构模式吗?

我在应用程序中做了两件事。首先,将此行修改为清单文件:

<activity android:name=".YourActivity" android:label="@string/app_name" android:configChanges="keyboardHidden|orientation">
这将设置您的视图端口,但您也必须更新其中的矩阵,以考虑新的屏幕几何体。您实际上不必向矩阵添加额外的旋转,只需在“onSurfaceChanged”方法中重新设置项目矩阵即可


嗯。

我在应用程序中做两件事。首先,将此行修改为清单文件:

<activity android:name=".YourActivity" android:label="@string/app_name" android:configChanges="keyboardHidden|orientation">
这将设置您的视图端口,但您也必须更新其中的矩阵,以考虑新的屏幕几何体。您实际上不必向矩阵添加额外的旋转,只需在“onSurfaceChanged”方法中重新设置项目矩阵即可


HTH.

通过添加解决问题通过添加解决问题
谢谢,我已经做了前两件事。我没有一个单独的投影矩阵,因为我使用着色器,所以我不能做你的第三个建议。你可以有一个单独的投影矩阵-这取决于你。我推荐它,因为它有助于在着色器计算中保持世界空间和投影后空间数学的分离。@路德,您留下了“矩阵旋转”的关键部分。我想这可能会有帮助。谢谢,我已经做了前两件事了。我没有一个单独的投影矩阵,因为我使用着色器,所以我不能做你的第三个建议。你可以有一个单独的投影矩阵-这取决于你。我推荐它,因为它有助于在着色器计算中保持世界空间和投影后空间数学的分离。@路德,您留下了“矩阵旋转”的关键部分。我想这可能会有帮助。