【发布时间】:2017-09-09 16:02:46
【问题描述】:
我有一个 opengles 3.1 应用程序,它可以在桌面上很好地呈现,但不能在 android 上呈现。
出错的地方是我有统一的缓冲区对象。在顶点着色器中,我有以下示例
layout (std140, binding = 0) uniform matrixUbo
{
mat4 projection;
mat4 view;
};
使用桌面驱动程序可以正常工作,但在 android 上它会失败。我正在测试的opengles版本是3.2兼容的,函数调用在android中可用。
我已经尝试在顶点着色器中设置绑定并使用 glUniformBlockBinding 方法设置它们,两者都不能在 android 上工作(但都可以在桌面上工作)。
如果我不使用这些矩阵,那么对象确实可以渲染(我可以在我的 android 手机上看到它们正常)但是当我包含这些矩阵时,没有绘制任何东西告诉我矩阵全是零。
为了在 android 上支持 UBO,有什么特别需要做的吗?
我很乐意根据需要提供更多信息。
【问题讨论】:
标签: android opengl-es-3.1