Android +NDK+eclipse+opengl ES2.0 开启深度测试

  参考:https://www.opengl.org/discussion_boards/showthread.php/172736-OpenGL-ES-Depth-Buffer-Problem      

环境:eclipse,ndkr8,opengl es2.0,android

           最近使用eclipse和NDK进行android opengl es2.0的开发,发现了绘制的物体显示与深度无关,而与绘制的前后顺序有关。想了一下,应该是深度测试没有开启,开启了glEnable(GL_DEPTH_TEST),但是发现深度测试还是不起作用。网上查询了一下,原因是eclipse创建的窗口没有开启深度测试。

 setEGLConfigChooser( translucent ?
                             new ConfigChooser(8, 8, 8, 8, depth, stencil) :
                             new ConfigChooser(5, 6, 5, 0, depth, stencil) );//depth可设置为16和setencil可设置为8,代表缓存位数



设置后,绘制的物体前后顺序果然与深度有关了。

总结一下开启深度测试:

(1)首先用于绘制的窗口得设置支持深度测试

(2)opengl es2.0的代码中,得开启深度测试(glEnable(GL_DEPTH_TEST))




你可能感兴趣的:(Android +NDK+eclipse+opengl ES2.0 开启深度测试)