1
0
mirror of https://github.com/LearnOpenGL-CN/LearnOpenGL-CN.git synced 2025-08-23 04:35:28 +08:00

Fix all the titles

This commit is contained in:
Meow J
2016-07-06 01:42:55 +08:00
parent 5dad4f21d8
commit 3ef7a53627
44 changed files with 512 additions and 527 deletions

View File

@@ -6,7 +6,7 @@
翻译 | [Django](http://bullteacher.com/)
校对 | [Geequlim](http://geequlim.com)
在你的渲染大冒险中,你可能会遇到模型边缘有锯齿的问题。锯齿边出现的原因是由顶点数据像素化之后成为片段的方式所引起的。下面是一个简单的立方体,它体现了锯齿边的效果:
在你的渲染大冒险中,你可能会遇到模型边缘有锯齿的问题。**锯齿边(Jagged Edge)**出现的原因是由顶点数据像素化之后成为片段的方式所引起的。下面是一个简单的立方体,它体现了锯齿边的效果:
![](http://learnopengl.com/img/advanced/anti_aliasing_aliasing.png)
@@ -14,15 +14,15 @@
![](http://learnopengl.com/img/advanced/anti_aliasing_zoomed.png)
这当然不是我们在最终版本的应用里想要的效果。这个效果,很明显能看到边是由像素所构成的,这种现象叫做走样aliasing。有很多技术能够减少走样,产生更平滑的边缘,这些技术叫做反走样技术(anti-aliasing,也被称为抗锯齿技术)。
这当然不是我们在最终版本的应用里想要的效果。这个效果,很明显能看到边是由像素所构成的,这种现象叫做**走样(Aliasing)**。有很多技术能够减少走样,产生更平滑的边缘,这些技术叫做**抗锯齿技术**(Anti-aliasing也被称为反走样技术)。
首先,我们有一个叫做超级采样抗锯齿技术super sample anti-aliasing SSAA,它暂时使用一个更高的解析度(以超级采样方式)来渲染场景,当视频输出在帧缓冲中被更新时,解析度便降回原来的普通解析度。这个额外的解析度被用来防止锯齿边。虽然它确实为我们提供了一种解决走样问题的方案,但却由于必须绘制比平时更多的片段而降低了性能。所以这个技术只流行了一段时间。
首先,我们有一个叫做**超级采样抗锯齿技术(Super Sample Anti-aliasing, SSAA)**,它暂时使用一个更高的解析度(以超级采样方式)来渲染场景,当视频输出在帧缓冲中被更新时,解析度便降回原来的普通解析度。这个额外的解析度被用来防止锯齿边。虽然它确实为我们提供了一种解决走样问题的方案,但却由于必须绘制比平时更多的片段而降低了性能。所以这个技术只流行了一段时间。
这个技术的基础上诞生了更为现代的技术,叫做多采样抗锯齿multisample anti-aliasing或叫MSAA虽然它借用了SSAA的理念但却以更加高效的方式实现了它。这节教程我们会展开讨论这个MSAA技术它是OpenGL内建的。
这个技术的基础上诞生了更为现代的技术,叫做**多采样抗锯齿(Multisample Anti-aliasing)**或叫MSAA虽然它借用了SSAA的理念但却以更加高效的方式实现了它。这节教程我们会展开讨论这个MSAA技术它是OpenGL内建的。
## 多重采样(Multisampling)
## 多重采样
为了理解什么是多重采样以及它是如何解决锯齿问题的我们先要更深入了解一个OpenGL光栅化的工作方式。
为了理解什么是多重采样(Multisampling)以及它是如何解决锯齿问题的我们先要更深入了解一个OpenGL光栅化的工作方式。
光栅化是你的最终的经处理的顶点和片段着色器之间的所有算法和处理的集合。光栅化将属于一个基本图形的所有顶点转化为一系列片段。顶点坐标理论上可以含有任何坐标,但片段却不是这样,这是因为它们与你的窗口的解析度有关。几乎永远都不会有顶点坐标和片段的一对一映射,所以光栅化必须以某种方式决定每个特定顶点最终结束于哪个片段/屏幕坐标上。
@@ -68,7 +68,7 @@ MSAA的真正工作方式是每个像素只运行一次片段着色器
## OpenGL中的MSAA
如果我们打算在OpenGL中使用MSAA那么我们必须使用一个可以为每个像素储存一个以上的颜色值的颜色缓冲(因为多采样需要我们为每个采样点储存一个颜色)。我们这就需要一个新的缓冲类型,它可以储存要求数量的多重采样样本,它叫做**多样本缓冲(multisample buffer)**。
如果我们打算在OpenGL中使用MSAA那么我们必须使用一个可以为每个像素储存一个以上的颜色值的颜色缓冲(因为多采样需要我们为每个采样点储存一个颜色)。我们这就需要一个新的缓冲类型,它可以储存要求数量的多重采样样本,它叫做**多样本缓冲(Multisample Buffer)**。
多数窗口系统可以为我们提供一个多样本缓冲以代替默认的颜色缓冲。GLFW同样给了我们这个功能我们所要作的就是提示GLFW我们希望使用一个带有N个样本的多样本缓冲而不是普通的颜色缓冲这要在创建窗口前调用`glfwWindowHint`来完成: