У меня были похожие проблемы с отображением на разных устройствах. Вы можете попробовать увеличить значение 'far' в методе frustumM ():
Matrix.frustumM(projectionMatrix, 0, left, right, bottom, top, near, far)
Увеличение значения этого параметра решило проблему для меня.
Как правило, для усеченного конуса вы можете использовать различные значения параметров для книжной и альбомной ориентации, например:
protected val aspect = widthScreen.toFloat() / heightScreen.toFloat()
...
private fun setPerspectiveProjection() {
var left = -1.0f; var right = 1.0f
var bottom = -1.0f; var top = 1.0f
val near = 1.0f; val far = 145.0f
if (widthScreen < heightScreen) { // portrait orientation
bottom /= aspect
top /= aspect
} else { // landscape orientation
left *= aspect
right *= aspect
}
Matrix.frustumM(projectionMatrix, 0, left, right, bottom, top, near, far)
}