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))




原文地址:https://www.cnblogs.com/yjbjingcha/p/7324413.html