环境:eclipse,ndkr8,opengl es2.0,android
最近使用eclipse和NDK进行android opengl es2.0的开发,发现了绘制的物体显示与深度无关,而与绘制的前后顺序有关。想了一下,应该是深度测试没有开启,开启了glEnable(GL_DEPTH_TEST),但是发现深度测试还是不起作用。网上查询了一下,原因是eclipse创建的窗口没有开启深度测试。
[cpp] view plain copy
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))