我正在尝试在完全支持OpenGL ES 2.0的Google Native Client(PNaCl)应用程序上运行VTK Sphere example。在Win32上,该示例工作得很好(左下图),但在使用GLES2的应用程序中,它使用工件渲染(右下图)。球体略微旋转,因此可以更好地看到伪影。 但是2D ImageRotate example可以正常使用GLES2,所以我怀疑这些工件与VTK中的3D渲染有关。
Here is video我已经录制过,渲染问题在立方体上更明显。立方体的一些墙壁是透明的。 有什么想法吗? VTK是否完全支持GLES2?
答案 0 :(得分: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,
};
现在它正确渲染。