OpenGL中的细节

目录

1.单缓冲和双缓冲的区别。

2.颜色缓冲(GL_COLOR_BUFFER_BIT),深度缓冲(GL_DEPTH_BUFFER_BIT),模板缓冲(GL_STENCIL_BUFFER_BIT)

3.纹理过滤的两个方法:GL_NEAREST和GL_LINEAR

4.多级渐远纹理(Mipmap),OpenGL中的过滤方式


1.单缓冲和双缓冲的区别。

  • 单缓冲:实际上就是将所有的绘图指令在窗口上执行,就是直接在窗口上绘图,这样的绘图效率是比较慢的,如果使用单缓冲,而电脑比较慢,你回到屏幕的闪烁。
  • 双缓冲:实际上的绘图指令是在一个缓冲区完成,这里的绘图非常的快,在绘图指令完成之后,再通过交换指令(glfwSwapBuffers(window)把完成的图形立即显示在屏幕上,这就避免了出现绘图的不完整,同时效率很高。 一般用OpenGL绘图都是用双缓冲,单缓冲一般只用于显示单独的一副非动态的图像

2.颜色缓冲(GL_COLOR_BUFFER_BIT),深度缓冲(GL_DEPTH_BUFFER_BIT),模板缓冲(GL_STENCIL_BUFFER_BIT

  • 颜色缓冲:这个缓冲区更新存储颜色数据。
  • 深度缓冲:这个缓冲区存储顶点深度值。
  • 模板缓冲:用来做模板测试。模板缓冲类似于深度缓冲。模板测试的结果决定了像素的颜色值是否要被写入到渲染目标,像素的深度值是否要被写入深度缓冲。(自行了解)。

3.纹理过滤的两个方法:GL_NEARESTGL_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里面的解释,用控制变量法我也乱了。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值