1.渲染概念
深度测试
颜色缓冲区
深度缓冲区 深度值越大
1.渲染概念
深度测试
颜色缓冲区
深度缓冲区 深度值越大
在原生的opengl中,所谓深度测试指的是,当前绘制指令里待绘制的所有点,其投影在屏幕上的前后覆盖关系是否受点的z坐标影响。
举同一帧内两条绘制指令的例子。
glenable(gl_depth_test)
glbegin()
绘制三角形A
glend()
gldsiable(gl_depth_test)
glbegin()
绘制三角形B(B的z坐标比A更远)
glend()
绘制B前面有gldisable(gl_depth_test)
所以B的绘制其与A的关系不再受z坐标影响,所以视口窗口里B会在A前面,如果我没有gldisable(gl_depth_test)这一句,那么A就会在B前面。
这跟什么colorbuffer,什么颜色缓冲区的关系扯得太远了。这都是固定管线时代就已经有的内容了……
1、做UI优化必然会牵扯到渲染
概念一 深度测试
前后关系,两个模型的深度分别是怎么样的
缓冲区:颜色缓冲区保存颜色,深度缓冲区保存深度(和相机的距离)
Zwrite on(深度写入)
ZTest Alway(深度写入)alway代表一直写入