首页 > 解决方案 > 对 Android 设备上的退化三角带的普遍支持?

问题描述

我正在使用适用于 android 的 opengl es 3.0 api。我正在为位图文本渲染器编写功能,而且,它可以在我的两台设备上完美运行,都是三星。但在我的 kindle fire 10 HD(第 7 代)平板电脑上,一切都搞砸了。它从纹理图集的错误部分采样,显示错误的字形,有时不会显示整个消息,有时当我通过映射缓冲区切换消息时,它会在开始动画之前立即显示整个消息其中。无论如何,我似乎认为它与我正在使用的退化三角形条带有关,所以我问,对它们的支持不是在所有支持 opengl es 3.0 的 android 设备中普遍存在吗?我以前在与着色器相关的东西上遇到过 kindle fire 的麻烦。如果我不这样做,它根本就行不通

标签: androidopengl-esandroid-ndk

解决方案


退化的三角形“应该可以工作”;API 中没有不支持硬件的功能。它们只是由于两个重合顶点而恰好具有零面积的三角形。

从历史上看,它们对于使用三角条的任何内容都很常见,所以老实说,如果它们被破坏,我会感到惊讶。

如果我不为浮点数和 sampler2DArray 指定一个精度,它就根本不起作用,这是我迄今为止发现的。

那不是错误。这就是规范要求你做的。请参阅 OpenGL ES 3.2 着色器语言规范中的“4.7.4. 默认精度限定符”。


推荐阅读