2016-04-22 93 views
1

我想在完全支持OpenGL ES 2.0的Google Native Client(PNaCl)应用程序上运行VTK Sphere example。在Win32上,该示例工作得很好(下图左侧),但是在使用GLES2的应用程序中,它使用工件呈现(右下图)。球体稍微旋转,所以人造物更容易看见。 但是2D ImageRotate example与GLES2一起工作良好,所以我怀疑这些工件与VTK中的3D渲染有关。VTK - 使用OpenGL ES 2.0呈现工件

Here is video我记录了,渲染问题在多维数据集上可见性更好。立方体的一些墙壁是透明的。 任何想法为什么? VTK是否完全支持GLES2?

Win32 (left) and GL ES 2.0 (right) Win32 (left) and GL ES 2.0 (right)

回答

0

我终于得到它为我期望的工作。

问题是我在创建OpenGL上下文时没有正确设置深度(还有样本大小 - 反锯齿问题)。 如果有人将来会面临这样的问题,你必须定义你的ATTRIB列表类似的东西:

const int32_t attrib_list[] = 
{ 
    PP_GRAPHICS3DATTRIB_ALPHA_SIZE,  8, 
    PP_GRAPHICS3DATTRIB_DEPTH_SIZE,  24, 
    PP_GRAPHICS3DATTRIB_SAMPLES,  8, 
    PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS, 8, 

    // ... 

    PP_GRAPHICS3DATTRIB_NONE, 
}; 

现在,它的正常显示。