1

在大多数 Android OpenGL 示例中,我看到人们在 onSurfaceChanged 中调用 glViewport。但是,我只是注意到,如果我将其注释掉,我的程序仍然表现相同。所以有必要调用它吗?

4

1 回答 1

1

当您的 gl 视图尺寸被修改时,有必要调用处理glViewport程序。onSurfaceChanged通常是在设备旋转并交换视图的宽度和高度时。

如果width = height未旋转或视图,则无需调用 to glViewport

默认情况下Activity将在旋转后重新创建。为避免这种情况,您需要指定您的活动本身正在处理旋转。您需要将这些配置选项添加到您的AndroidManifest.xml

<activity android:name="Activity"
        android:configChanges="screenSize|orientation">

完成此操作后,您的活动将保留您的 OpenGL 上下文。

于 2013-04-09T15:12:51.463 回答