【发布时间】:2015-07-31 10:38:30
【问题描述】:
我有一个与使用 Android NDK 在我的 OpenGL 应用程序中混合相关的图形故障。
奇怪的是,当我通过adb screencap命令截图时,问题完全消失了,结果看起来还可以。
我的问题是:
有没有办法知道制作屏幕截图的幕后发生了什么?例如,是否有 eglChooseConfig 调用了整个帧的某些特定值?或者是否有一些特定的初始 GL 状态被强制?
一些背景:
我的设备使用的是 Qualcomm Adreno 320。
当我为某些几何图形调用 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) 时,就会出现故障。
我还发现,设置 glColorMask(1, 1, 1, 0) 会导致我的设备(并且仅在此设备上)出现黑屏,而截屏会导致完整、正确的游戏帧。
该应用程序在其他几个 Android 设备上输出没有故障,并且其他应用程序运行良好,即使是那些广泛使用混合的应用程序。
【问题讨论】:
标签: android opengl-es android-ndk adb