我在我的应用程序中使用了各种“嵌套”上下文(用于着色器和几何共享),所以我不能使用 VAO,因为它们不能跨上下文共享。
我的网格数据作为唯一顶点的“池”存储在一个 VBO 中,在另一个 VBO 中存储构成面的索引。我目前正在我的 CAD 应用程序中成功地使用它进行线框渲染,但我想添加一个平面阴影模式 - 为此我需要面部法线。
如果我需要顶点法线,我只需将数据附加到顶点位置数据,但我不能在这里这样做,因为顶点将具有不同的面法线,具体取决于它属于哪个面正在被渲染。理想情况下,我想创建另一个 VBO 对来保存我的面部法线和索引,但是如果没有 VAO,我无法将两个 VBO 绑定到同一个目标 - 即使它们用于不同的属性。
我很欣赏正常的路线是使用 VAO,它可以让您将多个 VBO 分配给同一个目标,但我不能使用它们,因为我的几何上下文是共享的,而 VAO 不是。这个问题有其他解决方案吗?