Я хочу показать GLSurfaceView
поверх текущего содержимого моей активности в виде наложения. Однако содержимое ниже должно быть видимым.
Вот мои настройки GLSurfaceView
:
setEGLConfigChooser(8, 8, 8, 8, 16, 0)
setZOrderOnTop(true)
holder.setFormat(PixelFormat.TRANSLUCENT)
setRenderer(renderer)
И в рендерере у меня есть:
override fun onSurfaceCreated(unused: GL10, config: EGLConfig) {
// Set the background frame color
GLES20.glClearColor(1.0f, 0.0f, 0.0f, 0.1f)
}
override fun onDrawFrame(unused: GL10) {
// Redraw background color
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT)
}
override fun onSurfaceChanged(unused: GL10, width: Int, height: Int) {
GLES20.glViewport(0, 0, width, height)
}
Я вижу, что он полупрозрачный, но определенно прозрачность не 10%, как значение альфа. Это намного выше. Даже если установить чистый цвет на (1, 0, 0, 0), я могу увидеть очень насыщенный красный оверлей поверх основного содержимого.
Любые идеи, как визуализировать GLSurfaceView поверх основного содержимого и поддержка прозрачности?