目录
2.颜色缓冲(GL_COLOR_BUFFER_BIT),深度缓冲(GL_DEPTH_BUFFER_BIT),模板缓冲(GL_STENCIL_BUFFER_BIT)
3.纹理过滤的两个方法:GL_NEAREST和GL_LINEAR
1.单缓冲和双缓冲的区别。
- 单缓冲:实际上就是将所有的绘图指令在窗口上执行,就是直接在窗口上绘图,这样的绘图效率是比较慢的,如果使用单缓冲,而电脑比较慢,你回到屏幕的闪烁。
- 双缓冲:实际上的绘图指令是在一个缓冲区完成,这里的绘图非常的快,在绘图指令完成之后,再通过交换指令(glfwSwapBuffers(window))把完成的图形立即显示在屏幕上,这就避免了出现绘图的不完整,同时效率很高。 一般用OpenGL绘图都是用双缓冲,单缓冲一般只用于显示单独的一副非动态的图像
2.颜色缓冲(GL_COLOR_BUFFER_BIT),深度缓冲(GL_DEPTH_BUFFER_BIT),模板缓冲(GL_STENCIL_BUFFER_BIT)
- 颜色缓冲:这个缓冲区更新存储颜色数据。
- 深度缓冲:这个缓冲区存储顶点深度值。
- 模板缓冲:用来做模板测试。模板缓冲类似于深度缓冲。模板测试的结果决定了像素的颜色值是否要被写入到渲染目标,像素的深度值是否要被写入深度缓冲。(自行了解)。
3.纹理过滤的两个方法:GL_NEAREST和GL_LINEAR
- 临近过滤:
,取点的最近区域颜色。
- 线性过滤:
,取点的周围区域颜色的线性插值。
4.多级渐远纹理(Mipmap),OpenGL中的过滤方式
过滤方式 | 描述 |
GL_NEAREST_MIPMAP_NEAREST | 使用最邻近的多级渐远纹理来匹配像素大小,并使用邻近插值进行纹理采样 |
GL_LINEAR_MIPMAP_NEAREST | 使用最邻近的多级渐远纹理级别,并使用线性插值进行采样 |
GL_NEAREST_MIPMAP_LINEAR | 在两个最匹配像素大小的多级渐远纹理之间进行线性插值,使用邻近插值进行采样 |
GL_LINEAR_MIPMAP_LINEAR | 在两个邻近的多级渐远纹理之间使用线性插值,并使用线性插值进行采样 |
经过控制变量法得出:
第一个参数:用什么方式进行纹理采样。
第二个参数: NEAREST:用最临近的多级渐远纹理(Mipmap);LINEAR:在两个相邻(最匹配)的多级渐远纹理(Mipmap)之间使用插值。
这个自行体会。learnopengl cn里面的解释,用控制变量法我也乱了。