2016-04-22 114 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, 
}; 

現在,它的正常顯示。