From 317c4942620298bc3a438b45da2161daf58cb826 Mon Sep 17 00:00:00 2001 From: Meow J Date: Tue, 23 May 2017 21:09:24 +0800 Subject: [PATCH 01/21] Add a link to LearnOpenGL's Github repo --- docs/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index 47c8bab..6dbe394 100644 --- a/docs/index.md +++ b/docs/index.md @@ -22,4 +22,6 @@ 这里是LearnOpenGL教程的中文翻译,英文版的地址为:[http://learnopengl.com/](http://learnopengl.com/) -由于翻译可能无法做到精确表达原文意思,我们推荐您在对问题有疑惑的时候去阅读一下英文版的教程。如果您对翻译有更好的建议,可以去我们的[GitHub工程](https://github.com/LearnOpenGL-CN/LearnOpenGL-CN)上提交Issue或者Pull Request。如果是对教程的内容有问题,请先查看原文,如果不是翻译错误的话,请直接在原网站评论区向作者(JoeyDeVries)反馈。 \ No newline at end of file +由于翻译可能无法做到精确表达原文意思,我们推荐您在对问题有疑惑的时候去阅读一下英文版的教程。如果您对翻译有更好的建议,可以去我们的[GitHub工程](https://github.com/LearnOpenGL-CN/LearnOpenGL-CN)上提交Issue或者Pull Request。如果是对教程的内容有问题,请先查看原文,如果不是翻译错误的话,请直接在原网站评论区向作者(JoeyDeVries)反馈。 + +如果教程中的源码无法打开的话,可以到教程的[GitHub页面](https://github.com/JoeyDeVries/LearnOpenGL)上去寻找所需的代码,每一节教程的源码以及练习都位于 `src` 目录下的对应章节目录中。 \ No newline at end of file From ee11839c5590f8ef21ce6b142c9a15f1e7630279 Mon Sep 17 00:00:00 2001 From: kenlee Date: Fri, 26 May 2017 17:10:09 +0800 Subject: [PATCH 02/21] add PBR.Lighting chapter --- docs/07 PBR/01 Theory.md | 4 +- docs/07 PBR/02 Lighting.md | 372 +++++++++++++++++- .../lighting_linear_vs_non_linear_and_hdr.png | Bin 0 -> 150083 bytes docs/img/07/02/lighting_radiance_direct.png | Bin 0 -> 35292 bytes docs/img/07/02/lighting_result.png | Bin 0 -> 194980 bytes docs/img/07/02/lighting_textured.png | Bin 0 -> 356438 bytes 6 files changed, 370 insertions(+), 6 deletions(-) mode change 100644 => 100755 docs/07 PBR/02 Lighting.md create mode 100644 docs/img/07/02/lighting_linear_vs_non_linear_and_hdr.png create mode 100644 docs/img/07/02/lighting_radiance_direct.png create mode 100644 docs/img/07/02/lighting_result.png create mode 100644 docs/img/07/02/lighting_textured.png diff --git a/docs/07 PBR/01 Theory.md b/docs/07 PBR/01 Theory.md index fdbbc63..d321d38 100644 --- a/docs/07 PBR/01 Theory.md +++ b/docs/07 PBR/01 Theory.md @@ -6,9 +6,9 @@ 翻译 | [J.moons](https://github.com/JiangMuWen) 校对 | Meow J(初校) -!!! warning +!!! Important - 注意,作者正在对PBR章节进行大的调整,原文的内容时时可能有更新,建议仍是阅读原文。 + 注意: 作者正在对PBR章节进行大的调整,原文的内容时时可能有更新,建议仍是阅读原文。 PBR,或者用更通俗一些的称呼是指基于物理的渲染(Physically Based Rendering),它指的是一些在不同程度上都基于与现实世界的物理原理更相符的基本理论所构成的渲染技术的集合。正因为基于物理的渲染目的便是为了使用一种更符合物理学规律的方式来模拟光线,因此这种渲染方式与我们原来的Phong或者Blinn-Phong光照算法相比总体上看起来要更真实一些。除了看起来更好些以外,由于它与物理性质非常接近,因此我们(尤其是美术师们)可以直接以物理参数为依据来编写表面材质,而不必依靠粗劣的修改与调整来让光照效果看上去正常。使用基于物理参数的方法来编写材质还有一个更大的好处,就是不论光照条件如何,这些材质看上去都会是正确的,而在非PBR的渲染管线当中有些东西就不会那么真实了。 diff --git a/docs/07 PBR/02 Lighting.md b/docs/07 PBR/02 Lighting.md old mode 100644 new mode 100755 index bd993f8..f08348a --- a/docs/07 PBR/02 Lighting.md +++ b/docs/07 PBR/02 Lighting.md @@ -1,9 +1,373 @@ # 光照 -**暂无翻译** +原文 | [Lighting](https://learnopengl.com/#!PBR/Lighting) + ---|--- +作者 | JoeyDeVries +翻译 | [KenLee](https://hellokenlee.github.io/) +校对 | 暂无 -这篇教程暂时还没有进行翻译,您可以先阅读[原文](https://learnopengl.com/#!PBR/Lighting),或经常来刷新看看是否有更新的进展。当然,我们更欢迎您在[GitHub上](https://github.com/LearnOpenGL-CN/LearnOpenGL-CN)认领翻译这篇文章,帮助我们完善这个教程系列。 +!!! Important -注意,作者正在对PBR章节进行大的调整,原文的内容时时可能有更新,所以建议暂时不要进行认领。 + 注意: 作者正在对PBR章节进行大的调整,原文的内容时时可能有更新,建议仍是阅读原文。 + +!!! Important - \ No newline at end of file + 译者注: +
+ 阅读本节请熟悉上一节提到的几个名词: +
+ - 辐射通量(Radiant flux)
+ - 辐射率(Radiance)
+ - 辐照度(Irradiance)
+ - 辐射强度(Radiant Intensity) + +在[上一个教程](https://learnopengl-cn.github.io/07%20PBR/01%20Theory/)中,我们讨论了一些PBR渲染的基础知识。 在本章节中,我们将重点放在把以前讨论过的理论转化为实际的渲染器,这个渲染器将使用直接的(或解析的)光源:比如点光源,定向灯或聚光灯。 + +我们先来看看上一个章提到的反射方程的最终版: + +$$ +L_o(p,\omega_o) = \int\limits_{\Omega} + (k_d\frac{c}{\pi} + k_s\frac{DFG}{4(\omega_o \cdot n)(\omega_i \cdot n)}) + L_i(p,\omega_i) n \cdot \omega_i d\omega_i +$$ + +我们大致上清楚这个反射方程在干什么,但我们仍然留有一些迷雾尚未揭开。比如说我们究竟将怎样表示场景上的辐照度(Irradiance), 辐射率(Radiance) \(L\)? 我们知道辐射率\(L\)(在计算机图形领域中)表示在给定立体角\(\omega\)的情况下光源的辐射通量(Radiant flux)\(\phi\)或光源在角度\(\omega\)下发送出来的光能。 在我们的情况下,不妨假设立体角\(\omega\)无限小,这样辐射度就表示光源在一条光线或单个方向向量上的辐射通量。 + +基于以上的知识,我们如何将其转化为以前的教程中积累的一些光照知识呢? 那么想象一下,我们有一个点光源(一个光源在所有方向具有相同的亮度),它的辐射通量为用RBG表示为**(23.47,21.31,20.79)**。该光源的辐射强度(Radiant Intensity)等于其在所有出射光线的辐射通量。 然而,当我们为一个表面上的特定的点\(p\)着色时,在其半球领域\(\Omega\)的所有可能的入射方向上,只有一个入射方向向量\(\omega_i\)直接来自于该点光源。 假设我们在场景中只有一个光源,位于空间中的某一个点,因而对于\(p\)点的其他可能的入射光线方向上的辐射率为0: + +![](../img/07/02/lighting_radiance_direct.png) + +如果从一开始,我们就假设点光源不受光线衰减(光照强度会随着距离变暗)的影响,那么无论我们把光源放在哪,入射光线的辐射率总是一样的(除去入射角\(cos\theta\)对辐射率的影响之外)。 正正是因为无论我们从哪个角度观察它,点光源总具有相同的辐射强度,我们可以有效地将其辐射强度建模为其辐射通量: 一个常量向量**(23.47,21.31,20.79)**。 + +然而,辐射率也需要将位置\(p\)作为输入,正如所有现实的点光源都会受光线衰减影响一样,点光源的辐射强度应该根据点\(p\)所在的位置和光源的位置以及他们之间的距离而做一些缩放。 因此,根据原始的辐射方程,我们会根据表面法向量\(n\)和入射角度\(w_i\)来缩放光源的辐射强度。 + +在实现上来说:对于直接点光源的情况,辐射率函数\(L\)先获取光源的颜色值, 然后光源和某点\(p\)的距离衰减,接着按照\(n \cdot w_i\)缩放,但是仅仅有一条入射角为\(w_i\)的光线打在点\(p\)上, 这个\(w_i\)同时也等于在\(p\)点光源的方向向量。写成代码的话会是这样: +```glsl +vec3 lightColor = vec3(23.47, 21.31, 20.79); +vec3 wi = normalize(lightPos - fragPos); +float cosTheta = max(dot(N, Wi), 0.0); +float attenuation = calculateAttenuation(fragPos, lightPos); +float radiance = lightColor * attenuation * cosTheta; +``` + +除了一些叫法上的差异以外,这段代码对你们来说应该很TM熟悉:这正是我们一直以来怎么计算(漫反射(diffuse))光照的!当涉及到直接照明(direct lighting)时,辐射率的计算方式和我们之前计算当只有一个光源照射在物体表面的时候非常相似。 + +!!! Important + + 请注意,这个假设是成立的条件是点光源体积无限小,相当于在空间中的一个点。如果我们认为该光源是具有体积的,它的辐射会在一个以上的入射光的方向不等于零。 + +对于其它类型的从单点发出来的光源我们类似地计算出辐射率。比如,定向光(directional light)拥有恒定的\(w_i\)而不会有衰减因子;而一个聚光灯光源则没有恒定的辐射强度,其辐射强度是根据聚光灯的方向向量来缩放的。 + +这也让我们回到了对于表面的半球领域(hemisphere)\(\Omega\)的积分\(\int\)上。由于我们事先知道的所有贡献光源的位置,因此对物体表面上的一个点着色并不需要我们尝试去求解积分。我们可以直接拿光源的(已知的)数目,去计算它们的总辐照度,因为每个光源仅仅只有一个方向上的光线会影响物体表面的辐射率。这使得PBR对直接光源的计算相对简单,因为我们只需要有效地遍历所有有贡献的光源。而当我们后来把环境照明也考虑在内的[IBL]()教程中,我们就必须采取积分去计算了,这是因为光线可能会在任何一个方向入射。 + +## 一个PBR表面模型 + +现在让我们开始写片段着色器来实现上述的PBR模型吧~ 首先我们需要把PBR相关的输入放进片段着色器。 + +```glsl +#version 330 core +out vec4 FragColor; +in vec2 TexCoords; +in vec3 WorldPos; +in vec3 Normal; + +uniform vec3 camPos; + +uniform vec3 albedo; +uniform float metallic; +uniform float roughness; +uniform float ao; +``` + +我们把通用的顶点着色器的输出作为输入的一部分。另一部分输入则是物体表面模型的一些材质参数。 + +然后再片段着色器的开始部分我们做一下任何光照算法都需要做的计算: + +```glsl +void main() +{ + vec3 N = normalize(Normal); + vec3 V = normalize(camPos - WorldPos); + [...] +} +``` + +### 直接光照明 + +在本教程的例子中我们会采用总共4个点光源来直接表示场景的辐照度。为了满足反射率方程,我们循环遍历每一个光源,计算他们独立的辐射率然后求和,接着根据BRDF和光源的入射角来缩放该辐射率。我们可以把循环当作在对物体的半球领域对所以直接光源求积分。首先我们来计算一些可以预计算的光照变量: + +```glsl +vec3 Lo = vec3(0.0); +for(int i = 0; i < 4; ++i) +{ + vec3 L = normalize(lightPositions[i] - WorldPos); + vec3 H = normalize(V + L); + + float distance = length(lightPositions[i] - WorldPos); + float attenuation = 1.0 / (distance * distance); + vec3 radiance = lightColors[i] * attenuation; + [...] +``` + +由于我们线性空间内计算光照(我们会在着色器的尾部进行Gamma校正),我们使用在物理上更为准确的平方倒数作为衰减。 + +!!! Important + + 相对于物理上正确来说,你可能仍然想使用常量,线性或者二次衰减方程(他们在物理上相对不准确),却可以为您提供在光的能量衰减更多的控制。 + +然后,对于每一个光源我们都想计算完整的 Cook-Torrance specular BRDF项: + +$$ +\frac{DFG}{4(\omega_o \cdot n)(\omega_i \cdot n)} +$$ + +首先我们想计算的是镜面反射和漫反射的系数, 或者说发生表面反射和折射的光线的比值。 我们从[上一个教程]()知道可以使用菲涅尔方程计算: + +```glsl +vec3 fresnelSchlick(float cosTheta, vec3 F0) +{ + return F0 + (1.0 - F0) * pow(1.0 - cosTheta, 5.0); +} +``` + +菲涅尔方程返回的是一个物体表面光线被反射的百分比, 也就是我们反射方程中的参数\(k_s\)。Fresnel-Schlick近似接受一个参数`F0`,被称为0°入射角的反射(surface reflection at zero incidence)表示如果直接(垂直)观察表面的时候有多少光线会被反射。 这个参数`F0`会因为材料不同而不同,而且会因为材质是金属而发生变色。在PBR金属流中我们简单地认为大多数的绝缘体在`F0`为0.04的时候看起来视觉上是正确的,我们同时会特别指定`F0`当我们遇到金属表面并且给定反射率的时候。 因此代码上看起来会像是这样: + +```glsl +vec3 F0 = vec3(0.04); +F0 = mix(F0, albedo, metallic); +vec3 F = fresnelSchlick(max(dot(H, V), 0.0), F0); +``` + +你可以看到,对于非金属材质来说`F0`永远保持0.04这个值,我们会根据表面的金属性来改变`F0`这个值, 并且在原来的`F0`和反射率中插值计算`F0`。 + +我们已经算出\(F\), 剩下的项就是计算正态分布函数\(D\)和几何遮蔽函数\(G\)了。 + +因此一个直接PBR光照着色器中\(D\)和\(G\)的计算代码类似于: + +```glsl +float DistributionGGX(vec3 N, vec3 H, float roughness) +{ + float a = roughness*roughness; + float a2 = a*a; + float NdotH = max(dot(N, H), 0.0); + float NdotH2 = NdotH*NdotH; + + float nom = a2; + float denom = (NdotH2 * (a2 - 1.0) + 1.0); + denom = PI * denom * denom; + + return nom / denom; +} + +float GeometrySchlickGGX(float NdotV, float roughness) +{ + float r = (roughness + 1.0); + float k = (r*r) / 8.0; + + float nom = NdotV; + float denom = NdotV * (1.0 - k) + k; + + return nom / denom; +} +float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness) +{ + float NdotV = max(dot(N, V), 0.0); + float NdotL = max(dot(N, L), 0.0); + float ggx2 = GeometrySchlickGGX(NdotV, roughness); + float ggx1 = GeometrySchlickGGX(NdotL, roughness); + + return ggx1 * ggx2; +} +``` + +这里比较重要的是和[上一个教程]()不同的是,我们直接传了粗糙度(roughness)参数给上述的函数;通过这种方式,我们可以针对每一个不同的项对粗糙度做一些修改。根据迪士尼公司给出的观察以及后来被Epic Games公司采用的光照模型,光照在几何遮蔽函数和正太分布函数中采用粗糙度的平方会让光照看起来更加自然。 + +现在两个函数都给出了定义,在计算反射的循环中计算NDF和G项变得非常自然: + +```glsl +float NDF = DistributionGGX(N, H, roughness); +float G = GeometrySmith(N, V, L, roughness); +``` + +这样我们就凑够了足够的项来计算Cook-Torrance BRDF: + +```glsl +vec3 nominator = NDF * G * F; +float denominator = 4 * max(dot(N, V), 0.0) * max(dot(N, L), 0.0) + 0.001; +vec3 specular = nominator / denominator; +``` + +注意我们在分母项中加了一个0.001为了避免出现除零错误。 + +现在我们终于可以计算每个光源在反射率方程中的贡献值了!因为菲涅尔方程直接给出了\(k_S\), 我们可以使用`F`表示镜面反射在所有打在物体表面上的光线的贡献。 从\(k_S\)我们很容易计算折射的比值\(k_D\): + +```glsl +vec3 kS = F; +vec3 kD = vec3(1.0) - kS; + +kD *= 1.0 - metallic; +``` + +我们可以看作\(k_S\)表示光能中被反射的能量的比例, 而剩下的光能会被折射, 比值即为\(k_D\)。更进一步来说,因为金属不会折射光线,因此不会有漫反射。所以如果表面是金属的,我们会把系数\(k_D\)变为0。 这样,我们终于集齐所有变量来计算我们出射光线的值: + +```glsl + const float PI = 3.14159265359; + + float NdotL = max(dot(N, L), 0.0); + Lo += (kD * albedo / PI + specular) * radiance * NdotL; +} +``` + +最终的结果`Lo`,或者说是出射光线的辐射率,实际上是反射率方程的在半球领域\(\Omega\)的积分的结果。但是我们实际上不需要去求积,因为对于所有可能的入射光线方向我们知道只有4个方向的入射光线会影响片段(像素)的着色。因为这样,我们可以直接循环N次计算这些入射光线的方向(N也就是场景中光源的数目)。 + +比较重要的是我们没有把`kS`乘进去我们的反射率方程中,这是因为我们已经在specualr BRDF中乘了菲涅尔系数`F`了,因为`kS`等于`F`,因此我们不需要再乘一次。 + +剩下的工作就是加一个环境光照项给`Lo`,然后我们就拥有了片段的最后颜色: + +```glsl +vec3 ambient = vec3(0.03) * albedo * ao; +vec3 color = ambient + Lo; +``` + +### 线性空间和HDR渲染 + +直到现在,我们假设的所有计算都在线性的颜色空间中进行的,因此我们需要在着色器最后做[伽马矫正]()。 在线性空间中计算光照是非常重要的,因为PBR要求所有输入都是线性的,如果不是这样,我们就会得到不正常的光照。另外,我们希望所有光照的输入都尽可能的接近他们在物理上的取值,这样他们的反射率或者说颜色值就会在色谱上有比较大的变化空间。`Lo`作为结果可能会变大得很快(超过1),但是因为默认的LDR输入而取值被截断。所以在伽马矫正之前我们采用色调映射使`Lo`从LDR的值映射为HDR的值。 + +```glsl +color = color / (color + vec3(1.0)); +color = pow(color, vec3(1.0/2.2)); +``` + +这里我们采用的色调映射方法为Reinhard 操作,使得我们在伽马矫正后可以保留尽可能多的辐照度变化。 我们没有使用一个独立的帧缓冲或者采用后期处理,所以我们需要直接在每一步光照计算后采用色调映射和伽马矫正。 + +![](../img/07/02/lighting_linear_vs_non_linear_and_hdr.png) + +采用线性颜色空间和HDR在PBR渲染管线中非常重要。如果没有这些操作,几乎是不可能正确地捕获到因光照强度变化的细节,这最终会导致你的计算变得不正确,在视觉上看上去非常不自然。 + +### 完整的直接光照PBR着色器 + +现在剩下的事情就是把做好色调映射和伽马矫正的颜色值传给片段着色器的输出,然后我们就拥有了自己的直接光照PBR着色器。 为了完整性,这里给出了完整的代码: + +```glsl +#version 330 core +out vec4 FragColor; +in vec2 TexCoords; +in vec3 WorldPos; +in vec3 Normal; + +// material parameters +uniform vec3 albedo; +uniform float metallic; +uniform float roughness; +uniform float ao; + +// lights +uniform vec3 lightPositions[4]; +uniform vec3 lightColors[4]; + +uniform vec3 camPos; + +const float PI = 3.14159265359; + +float DistributionGGX(vec3 N, vec3 H, float roughness); +float GeometrySchlickGGX(float NdotV, float roughness); +float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness); +vec3 fresnelSchlickRoughness(float cosTheta, vec3 F0, float roughness); + +void main() +{ + vec3 N = normalize(Normal); + vec3 V = normalize(camPos - WorldPos); + + vec3 F0 = vec3(0.04); + F0 = mix(F0, albedo, metallic); + + // reflectance equation + vec3 Lo = vec3(0.0); + for(int i = 0; i < 4; ++i) + { + // calculate per-light radiance + vec3 L = normalize(lightPositions[i] - WorldPos); + vec3 H = normalize(V + L); + float distance = length(lightPositions[i] - WorldPos); + float attenuation = 1.0 / (distance * distance); + vec3 radiance = lightColors[i] * attenuation; + + // cook-torrance brdf + float NDF = DistributionGGX(N, H, roughness); + float G = GeometrySmith(N, V, L, roughness); + vec3 F = fresnelSchlick(max(dot(H, V), 0.0), F0); + + vec3 kS = F; + vec3 kD = vec3(1.0) - kS; + kD *= 1.0 - metallic; + + vec3 nominator = NDF * G * F; + float denominator = 4 * max(dot(N, V), 0.0) * max(dot(N, L), 0.0) + 0.001; + vec3 specular = nominator / denominator; + + // add to outgoing radiance Lo + float NdotL = max(dot(N, L), 0.0); + Lo += (kD * albedo / PI + specular) * radiance * NdotL; + } + + vec3 ambient = vec3(0.03) * albedo * ao; + vec3 color = ambient + Lo; + + color = color / (color + vec3(1.0)); + color = pow(color, vec3(1.0/2.2)); + + FragColor = vec4(color, 1.0); +} +``` + +希望经过上一个教程的[理论知识]()以及学习过关于渲染方程的一些知识后,这个着色器看起来不会太可怕。如果我们采用这个着色器,加上4个点光源和一些球体,同时我们令这些球体的金属性(metallic)和粗糙度(roughness)沿垂直方向和水平方向分别变化,我们会得到这样的结果: + +![](../img/07/02/lighting_result.png) + +(上述图片)从下往上球体的金属性从0.0变到1.0, 从左到右球体的粗糙度从0.0变到1.0。你可以看到仅仅改变这两个值,显示的效果会发生巨大的改变! + +你可以在[这里](https://learnopengl.com/code_viewer_gh.php?code=src/6.pbr/1.1.lighting/lighting.cpp)找到整个demo的完整代码。 + +## 带贴图的PBR + +把我们系统扩展成可以接受纹理作为参数可以让我们对物体的材质有更多的自定义空间: + +```glsl +[...] +uniform sampler2D albedoMap; +uniform sampler2D normalMap; +uniform sampler2D metallicMap; +uniform sampler2D roughnessMap; +uniform sampler2D aoMap; + +void main() +{ + vec3 albedo = pow(texture(albedoMap, TexCoords).rgb, 2.2); + vec3 normal = getNormalFromNormalMap(); + float metallic = texture(metallicMap, TexCoords).r; + float roughness = texture(roughnessMap, TexCoords).r; + float ao = texture(aoMap, TexCoords).r; + [...] +} +``` + +不过需要注意的是一般来说反射率(albedo)纹理在美术人员创建的时候就已经在sRGB空间了,因此我们需要在光照计算之前先把他们转换到线性空间。一般来说,环境光遮蔽贴图(ambient occlusion maps)也需要我们转换到线性空间。不过金属性(Metallic)和粗糙度(Roughness)贴图大多数时间都会保证在线性空间中。 + +只是把之前的球体的材质性质换成纹理属性,就在视觉上有巨大的提升: + +![](../img/07/02/lighting_textured.png) + +你可以在这里找到纹理贴图过的全部[代码](https://learnopengl.com/code_viewer_gh.php?code=src/6.pbr/1.2.lighting_textured/lighting_textured.cpp), 以及我用的[纹理](http://freepbr.com/materials/rusted-iron-pbr-metal-material-alt/)(记得加上一张全白色的ao Map)。注意金属表面会在场景中看起来有点黑,因为他们没有漫反射。它们会在考虑环境镜面光照的时候看起来更加自然,不过这是我们下一个教程的事情了。 + +相比起在网上找到的其他PBR渲染结果来说,尽管在视觉上不算是非常震撼,因为我们还没考虑到[基于图片的关照,IBL]()。我们现在也算是有了一个基于物理的渲染器了(虽然还没考虑IBL)!你会发现你的光照看起来更加真实了。 + +!!! Important + + 译者注: +
+ 本章教程有几个小坑原作者没有说清楚,可能是希望读者自己思考,在这译者稍稍提醒一下: +
+ - 首先是球体的生成,主流的球体顶点生成有两种方法,作者源码采用的是UVSphere方法, IcoSpher方法可以参考[这里](http://blog.andreaskahler.com/2009/06/creating-icosphere-mesh-in-code.html) +
+ - 对于贴图的PBR来说,我们需要TBN矩阵做坐标转换(切线空间-> 世界空间 或者 世界空间 -> 切线空间,参考 法线贴图 章节。)。这有两种方法,一种是在片段着色器中使用叉乘计算TBN矩阵(作者采用的方法);另外一种是在根据顶点预计算TBN然后VAO中传入TBN矩阵,理论上来说后者会比较快(但是比较麻烦),不过在译者的实际测试中两者速度差距不大。 \ No newline at end of file diff --git a/docs/img/07/02/lighting_linear_vs_non_linear_and_hdr.png b/docs/img/07/02/lighting_linear_vs_non_linear_and_hdr.png new file mode 100644 index 0000000000000000000000000000000000000000..5bdab0db9bea4fc114f579f651f2a19795c2cad8 GIT binary patch literal 150083 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�YQ(uwt%~MEFvmf#^KOrN|Lc_N=;$ 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 literal 0 HcmV?d00001 diff --git a/docs/img/07/02/lighting_radiance_direct.png b/docs/img/07/02/lighting_radiance_direct.png new file mode 100644 index 0000000000000000000000000000000000000000..6c76916959536de76352aa1e94f428d930d7fc6c GIT binary patch literal 35292 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 literal 0 HcmV?d00001 diff --git a/docs/img/07/02/lighting_textured.png b/docs/img/07/02/lighting_textured.png new file mode 100644 index 0000000000000000000000000000000000000000..da2a472c5dc56071681b8fd814f4e52d91f6f2e7 GIT binary patch literal 356438 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

0eLIF+DoP&+k?u$tUIF9Fh{ED`3_xnX}+!}E2 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

ezT2% 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


!M$0XFBUw?ngi&WH0Z@YD=xwSOU`R7W~0v$if{ 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

6i6vHtO>OHHbnESTiK?g+k0qpKzkB} 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 literal 0 HcmV?d00001 From dd7d69859a458177dea102a133c3b8a648cf193d Mon Sep 17 00:00:00 2001 From: kenlee Date: Sat, 3 Jun 2017 16:13:17 +0800 Subject: [PATCH 03/21] add translations of a few of missing sentences of chap.05-08 --- docs/05 Advanced Lighting/08 Deferred Shading.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/05 Advanced Lighting/08 Deferred Shading.md b/docs/05 Advanced Lighting/08 Deferred Shading.md index d5376b3..acbaec7 100644 --- a/docs/05 Advanced Lighting/08 Deferred Shading.md +++ b/docs/05 Advanced Lighting/08 Deferred Shading.md @@ -4,7 +4,7 @@ ---|--- 作者 | JoeyDeVries 翻译 | Meow J -校对 | 未校对 +校对 | [KenLee](https://hellokenlee.github.io/) 我们现在一直使用的光照方式叫做**正向渲染(Forward Rendering)**或者**正向着色法(Forward Shading)**,它是我们渲染物体的一种非常直接的方式,在场景中我们根据所有光源照亮一个物体,之后再渲染下一个物体,以此类推。它非常容易理解,也很容易实现,但是同时它对程序性能的影响也很大,因为对于每一个需要渲染的物体,程序都要对每一个光源每一个需要渲染的片段进行迭代,这是**非常**多的!因为大部分片段着色器的输出都会被之后的输出覆盖,正向渲染还会在场景中因为高深的复杂度(多个物体重合在一个像素上)浪费大量的片段着色器运行时间。 @@ -24,6 +24,8 @@ 这种渲染方法一个很大的好处就是能保证在G缓冲中的片段和在屏幕上呈现的像素所包含的片段信息是一样的,因为深度测试已经最终将这里的片段信息作为最顶层的片段。这样保证了对于在光照处理阶段中处理的每一个像素都只处理一次,所以我们能够省下很多无用的渲染调用。除此之外,延迟渲染还允许我们做更多的优化,从而渲染更多的光源。 +当然这种方法也带来几个缺陷, 由于G缓冲要求我们在纹理颜色缓冲中存储相对比较大的场景数据,这会消耗比较多的显存,尤其是类似位置向量之类的需要高精度的场景数据。 另外一个缺点就是他不支持混色(因为我们只有最前面的片段信息), 因此也不能使用MSAA了。针对这几个问题我们可以做一些变通来克服这些缺点,这些我们留会在教程的最后讨论。 + 在几何处理阶段中填充G缓冲非常高效,因为我们直接储存像是位置,颜色或者是法线等对象信息到帧缓冲中,而这几乎不会消耗处理时间。在此基础上使用多渲染目标(Multiple Render Targets, MRT)技术,我们甚至可以在一个渲染处理之内完成这所有的工作。 ## G缓冲 From aa47740039ccaea66562af507355542a1bac4d6c Mon Sep 17 00:00:00 2001 From: Meow J Date: Sat, 3 Jun 2017 18:42:37 +0800 Subject: [PATCH 04/21] Update current status --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0b2e49b..f6d8e35 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,11 @@ learnopengl.com系列教程的中文翻译,目前正在翻译中。 **英文原版**:[learnopengl.com](http://learnopengl.com/) -**当前翻译进度**:52/63 +**目前状态**: -**校对进度**:13/48 - -**目前状态**:请认领一下In Practice下的章节 +- 原文大部分代码都有改变(使用的新的库),需要从头开始重新校对 +- PBL 章节和 In Practice 章节下还有几篇教程没有翻译 +- 1-8节之后都没有按照新版的格式来排版,需要进行整体的修改 ## 阅读地址 From a83e86937d312341065c7a4f48ecb8ed758f76ae Mon Sep 17 00:00:00 2001 From: kenlee Date: Sat, 10 Jun 2017 17:05:28 +0800 Subject: [PATCH 05/21] fix some errors; updated an image. --- docs/05 Advanced Lighting/09 SSAO.md | 5 +++-- docs/img/05/09/ssao_overview.png | Bin 112866 -> 92042 bytes 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/05 Advanced Lighting/09 SSAO.md b/docs/05 Advanced Lighting/09 SSAO.md index 716f540..f0ec32e 100644 --- a/docs/05 Advanced Lighting/09 SSAO.md +++ b/docs/05 Advanced Lighting/09 SSAO.md @@ -41,11 +41,12 @@ Crytek公司开发的SSAO技术会产生一种特殊的视觉风格。因为使 ## 样本缓冲 SSAO需要获取几何体的信息,因为我们需要一些方式来确定一个片段的遮蔽因子。对于每一个片段,我们将需要这些数据: + - 逐片段**位置**向量 - 逐片段的**法线**向量 -- **线性深度**纹理 +- 逐片段的**反射颜色** - **采样核心** -- 用来旋转采样核心的逐片段随机旋转矢量 +- 用来旋转采样核心的随机旋转矢量 通过使用一个逐片段观察空间位置,我们可以将一个采样半球核心对准片段的观察空间表面法线。对于每一个核心样本我们会采样线性深度纹理来比较结果。采样核心会根据旋转矢量稍微偏转一点;我们所获得的遮蔽因子将会之后用来限制最终的环境光照分量。 diff --git a/docs/img/05/09/ssao_overview.png b/docs/img/05/09/ssao_overview.png index 8c71208be41c85122ea0a32a70d6bcf4f2138514..25812f874c6f12c5d46274f8d0c1752f7e2505cf 100644 GIT binary patch literal 92042 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

u0iMi6_(x7p4`Q2u<^+)8D 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 Date: Sat, 10 Jun 2017 17:23:56 +0800 Subject: [PATCH 06/21] fiexed title following the style guide --- docs/07 PBR/02 Lighting.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/07 PBR/02 Lighting.md b/docs/07 PBR/02 Lighting.md index f08348a..b459b8c 100755 --- a/docs/07 PBR/02 Lighting.md +++ b/docs/07 PBR/02 Lighting.md @@ -60,7 +60,7 @@ float radiance = lightColor * attenuation * cosTheta; 这也让我们回到了对于表面的半球领域(hemisphere)\(\Omega\)的积分\(\int\)上。由于我们事先知道的所有贡献光源的位置,因此对物体表面上的一个点着色并不需要我们尝试去求解积分。我们可以直接拿光源的(已知的)数目,去计算它们的总辐照度,因为每个光源仅仅只有一个方向上的光线会影响物体表面的辐射率。这使得PBR对直接光源的计算相对简单,因为我们只需要有效地遍历所有有贡献的光源。而当我们后来把环境照明也考虑在内的[IBL]()教程中,我们就必须采取积分去计算了,这是因为光线可能会在任何一个方向入射。 -## 一个PBR表面模型 +# 一个PBR表面模型 现在让我们开始写片段着色器来实现上述的PBR模型吧~ 首先我们需要把PBR相关的输入放进片段着色器。 @@ -92,7 +92,7 @@ void main() } ``` -### 直接光照明 +## 直接光照明 在本教程的例子中我们会采用总共4个点光源来直接表示场景的辐照度。为了满足反射率方程,我们循环遍历每一个光源,计算他们独立的辐射率然后求和,接着根据BRDF和光源的入射角来缩放该辐射率。我们可以把循环当作在对物体的半球领域对所以直接光源求积分。首先我们来计算一些可以预计算的光照变量: @@ -229,7 +229,7 @@ vec3 ambient = vec3(0.03) * albedo * ao; vec3 color = ambient + Lo; ``` -### 线性空间和HDR渲染 +## 线性空间和HDR渲染 直到现在,我们假设的所有计算都在线性的颜色空间中进行的,因此我们需要在着色器最后做[伽马矫正]()。 在线性空间中计算光照是非常重要的,因为PBR要求所有输入都是线性的,如果不是这样,我们就会得到不正常的光照。另外,我们希望所有光照的输入都尽可能的接近他们在物理上的取值,这样他们的反射率或者说颜色值就会在色谱上有比较大的变化空间。`Lo`作为结果可能会变大得很快(超过1),但是因为默认的LDR输入而取值被截断。所以在伽马矫正之前我们采用色调映射使`Lo`从LDR的值映射为HDR的值。 @@ -244,7 +244,7 @@ color = pow(color, vec3(1.0/2.2)); 采用线性颜色空间和HDR在PBR渲染管线中非常重要。如果没有这些操作,几乎是不可能正确地捕获到因光照强度变化的细节,这最终会导致你的计算变得不正确,在视觉上看上去非常不自然。 -### 完整的直接光照PBR着色器 +## 完整的直接光照PBR着色器 现在剩下的事情就是把做好色调映射和伽马矫正的颜色值传给片段着色器的输出,然后我们就拥有了自己的直接光照PBR着色器。 为了完整性,这里给出了完整的代码: @@ -329,7 +329,7 @@ void main() 你可以在[这里](https://learnopengl.com/code_viewer_gh.php?code=src/6.pbr/1.1.lighting/lighting.cpp)找到整个demo的完整代码。 -## 带贴图的PBR +# 带贴图的PBR 把我们系统扩展成可以接受纹理作为参数可以让我们对物体的材质有更多的自定义空间: From 30317cd0ad56da6a5abf2f7f9457a41970dce9c8 Mon Sep 17 00:00:00 2001 From: Meow J Date: Fri, 16 Jun 2017 20:35:21 +0800 Subject: [PATCH 07/21] Update 01-02 --- .../02 Creating a window.md | 63 +++++++++---------- 1 file changed, 28 insertions(+), 35 deletions(-) diff --git a/docs/01 Getting started/02 Creating a window.md b/docs/01 Getting started/02 Creating a window.md index f42851b..e066b34 100644 --- a/docs/01 Getting started/02 Creating a window.md +++ b/docs/01 Getting started/02 Creating a window.md @@ -16,37 +16,37 @@ GLFW是一个专门针对OpenGL的C语言库,它提供了一些渲染物体所 GLFW Logo -本节和下一节的目标是建立GLFW环境,并保证它恰当地创建OpenGL上下文并显示窗口。这篇教程会一步步从获取、编译、链接GLFW库讲起。我们使用的是Microsoft Visual Studio 2012 IDE(操作过程在新版的Visual Studio都是相同的)。如果你用的不是Visual Studio(或者用的是它的旧版本)请不要担心,大多数IDE上的操作都是类似的。 +本节和下一节的目标是建立GLFW环境,并保证它恰当地创建OpenGL上下文并显示窗口。这篇教程会一步步从获取、编译、链接GLFW库讲起。我们使用的是Microsoft Visual Studio 2015 IDE(操作过程在新版的Visual Studio都是相同的)。如果你用的不是Visual Studio(或者用的是它的旧版本)请不要担心,大多数IDE上的操作都是类似的。 ## 构建GLFW -GLFW可以从它官方网站的[下载页](http://www.glfw.org/download.html)上获取。GLFW已经有针对Visual Studio 2012/2013的预编译的二进制版本和相应的头文件,但是为了完整性我们将从编译源代码开始。所以我们需要下载**源代码包**。 +GLFW可以从它官方网站的[下载页](http://www.glfw.org/download.html)上获取。GLFW已经有针对Visual Studio 2013/2015的预编译的二进制版本和相应的头文件,但是为了完整性我们将从编译源代码开始。所以我们需要下载**源代码包**。 !!! Attention - 当你下载二进制版本时,请下载32位的版本而不是64位的除非你清楚你在做什么。大部分读者反映64位版本会出现很多奇怪的问题。 + 如果你要使用预编译的二进制版本的话,请下载32位的版本而不是64位的(除非你清楚你在做什么)。大部分读者反映64位版本会出现很多奇怪的问题。 下载源码包之后,将其解压并打开。我们只需要里面的这些内容: - 编译生成的库 - **include**文件夹 -从源代码编译库可以保证生成的库是兼容你的操作系统和CPU的,而预编译的二进制文件可能会出现兼容问题(甚至有时候没提供支持你系统的文件)。提供源代码所产生的一个问题在于不是每个人都用相同的IDE开发程序,因而提供的工程文件可能和一些人的IDE不兼容。所以人们只能从.cpp和.h文件来自己建立工程,这是一项笨重的工作。因此诞生了一个叫做CMake的工具。 +从源代码编译库可以保证生成的库是兼容你的操作系统和CPU的,而预编译的二进制文件可能会出现兼容问题(甚至有时候没提供支持你系统的文件)。提供源代码所产生的一个问题在于不是每个人都用相同的IDE开发程序,因而提供的工程/解决方案文件可能和一些人的IDE不兼容。所以人们只能从.c/.cpp和.h/.hpp文件来自己建立工程/解决方案,这是一项枯燥的工作。但因此也诞生了一个叫做CMake的工具。 ### CMake -CMake是一个工程文件生成工具。用户可以使用预定义好的CMake脚本,根据自己的选择(像是Visual Studio, Code::Blocks, Eclipse)生成不同IDE的工程文件。这允许我们从GLFW源码里创建一个Visual Studio 2012工程文件,之后进行编译。首先,我们需要从[这里](http://www.cmake.org/cmake/resources/software.html)下载安装CMake。我选择的是Win32安装程序。 +CMake是一个工程文件生成工具。用户可以使用预定义好的CMake脚本,根据自己的选择(像是Visual Studio, Code::Blocks, Eclipse)生成不同IDE的工程文件。这允许我们从GLFW源码里创建一个Visual Studio 2015工程文件,之后进行编译。首先,我们需要从[这里](http://www.cmake.org/cmake/resources/software.html)下载安装CMake。我选择的是Win32安装程序。 当CMake安装成功后,你可以选择从命令行或者GUI启动CMake,由于我不想让事情变得太过复杂,我们选择用GUI。CMake需要一个源代码目录和一个存放编译结果的目标文件目录。源代码目录我们选择GLFW的源代码的根目录,然后我们新建一个 *build* 文件夹,选中作为目标目录。 ![](../img/01/02/cmake.png) -之后,点击**Configure(设置)**按钮,让CMake读取设置和源代码。接下来,我们选择工程的生成器为**Visual Studio 11**(因为Visual Studio 2012的内部版本号是11.0)。CMake会显示可选的编译选项,这里我们使用默认设置,再次点击**Configure(设置)**按钮保存设置。保存之后,点击**Generate(生成)**按钮,生成的工程文件会在你的**build**文件夹中。 +在设置完源代码目录和目标目录之后,点击**Configure(设置)**按钮,让CMake读取设置和源代码。我们接下来需要选择工程的生成器,由于我们使用的是Visual Studio 2015,我们选择 **Visual Studio 14** 选项(因为Visual Studio 2015的内部版本号是14)。CMake会显示可选的编译选项用来配置最终生成的库。这里我们使用默认设置,并再次点击**Configure(设置)**按钮保存设置。保存之后,点击**Generate(生成)**按钮,生成的工程文件会在你的**build**文件夹中。 ### 编译 -在**build**文件夹里可以找到**GLFW.sln**文件,用Visual Studio 2012打开。因为CMake已经配置好了项目,所以我们直接点击**Build Solution(生成解决方案)**按钮,然后编译的库**glfw3.lib**(注意我们用的是第3版)就会出现在**src/Debug**文件夹内。 +在**build**文件夹里可以找到**GLFW.sln**文件,用Visual Studio 2015打开。因为CMake已经配置好了项目,所以我们直接点击**Build Solution(生成解决方案)**按钮,然后编译的库**glfw3.lib**(注意我们用的是第3版)就会出现在**src/Debug**文件夹内。 库生成完毕之后,我们需要让IDE知道库和头文件的位置。有两种方法: @@ -57,7 +57,7 @@ CMake是一个工程文件生成工具。用户可以使用预定义好的CMake ## 我们的第一个工程 -首先,打开Visual Studio,创建一个新的项目。如果VS提供了多个选项,选择Visual C++,然后选择**Empty Project(空项目)**(别忘了给你的项目起一个合适的名字)。现在我们终于有一个空的工作空间了,开始创建我们第一个OpenGL程序吧。 +首先,打开Visual Studio,创建一个新的项目。如果VS提供了多个选项,选择Visual C++,然后选择**Empty Project(空项目)**(别忘了给你的项目起一个合适的名字)。现在我们终于有一个空的工作空间了,开始创建我们第一个OpenGL程序吧! ## 链接 @@ -93,11 +93,15 @@ CMake是一个工程文件生成工具。用户可以使用预定义好的CMake #include ``` +!!! Important + + 对于用GCC编译的Linux用户建议使用这个命令行选项`-lGLEW -lglfw3 -lGL -lX11 -lpthread -lXrandr -lXi`。没有正确链接相应的库会产生 *undefined reference* (未定义的引用) 这个错误。 + GLFW的安装与配置就到此为止。 -## GLEW +## GLAD -到这里,我们仍然有一件事要做。因为OpenGL只是一个标准/规范,具体的实现是由驱动开发商针对特定显卡实现的。由于OpenGL驱动版本众多,它大多数函数的位置都无法在编译时确定下来,需要在运行时查询。任务就落在了开发者身上,开发者需要在运行时获取函数地址并将其保存在一个函数指针中供以后使用。取得地址的方法因平台而异,在Windows上会是类似这样: +到这里还没有结束,我们仍然还有一件事要做。因为OpenGL只是一个标准/规范,具体的实现是由驱动开发商针对特定显卡实现的。由于OpenGL驱动版本众多,它大多数函数的位置都无法在编译时确定下来,需要在运行时查询。所以任务就落在了开发者身上,开发者需要在运行时获取函数地址并将其保存在一个函数指针中供以后使用。取得地址的方法[因平台而异](https://www.khronos.org/opengl/wiki/Load_OpenGL_Functions),在Windows上会是类似这样: ```c++ // 定义函数原型 @@ -109,40 +113,29 @@ GLuint buffer; glGenBuffers(1, &buffer); ``` -你可以看到代码非常复杂,而且很繁琐,我们需要对每个可能使用的函数都要重复这个过程。幸运的是,有些库能简化此过程,其中**GLEW**是目前最新,也是最流行的库。 +你可以看到代码非常复杂,而且很繁琐,我们需要对每个可能使用的函数都要重复这个过程。幸运的是,有些库能简化此过程,其中**GLAD**是目前最新,也是最流行的库。 -### 编译和链接GLEW +### 配置GLAD -GLEW是OpenGL Extension Wrangler Library的缩写,它能解决我们上面提到的那个繁琐的问题。因为GLEW也是一个库,我们同样需要构建并将其链接进工程。GLEW可以从[这里](http://glew.sourceforge.net/index.html)下载,你同样可以选择下载二进制版本,如果你的目标平台列在上面的话,或者下载源码编译,步骤和编译GLFW时差不多。记住,如果不确定的话,选择32位的二进制版本。 +GLAD是一个[开源](https://github.com/Dav1dde/glad)的库,它能解决我们上面提到的那个繁琐的问题。GLAD的配置与大多数的开源库有些许的不同,GLAD使用了一个[在线服务](http://glad.dav1d.de/)。在这里我们能够告诉GLAD需要定义的OpenGL版本,并且根据这个版本加载所有相关的OpenGL函数。 -我们使用GLEW的**静态**版本**glew32s.lib**(注意这里的“s”),将库文件添加到你的库目录,将**include**内容添加到你的include目录。接下来,在VS的链接器选项里加上**glew32s.lib**。注意GLFW3(默认)也是编译成了一个静态库。 +打开GLAD的[在线服务](http://glad.dav1d.de/),将语言(Language)设置为**C/C++**,在API选项中,选择**3.3**以上的OpenGL(gl)版本(我们的教程中将使用3.3版本,但更新的版本也能正常工作)。之后将模式(Profile)设置为**Core**,并且保证**生成加载器**(Generate a loader)的选项是选中的。现在可以先(暂时)忽略拓展(Extensions)中的内容。都选择完之后,点击**生成**(Generate)按钮来生成库文件。 +GLAD现在应该提供给你了一个zip压缩文件,包含两个头文件目录,和一个**glad.c**文件。将两个头文件目录(**glad**和**KHR**)复制到你的**Include**文件夹中(或者增加一个额外的项目指向这些目录),并添加**glad.c**文件到你的工程中。 -!!! Important - - **静态**(Static)链接是指编译时就将库代码里的内容整合进你的二进制文件。优点就是你不需要管理额外的文件了,只需要发布你单独的一个二进制文件就行了。缺点就是你的可执行文件会变得更大,另外当库有升级版本时,你必须重新进行编译整个程序。 - - **动态**(Dynamic)链接是指一个库通过`.dll`或`.so`的方式存在,它的代码与你的二进制文件的代码是分离的。优点是使你的二进制文件大小变小并且更容易升级,缺点是你最终发布程序时必须带上这些DLL。 - -如果你希望静态链接GLEW,必须在包含GLEW头文件之前定义预处理器宏`GLEW_STATIC`: +经过前面的这些步骤之后,你就应该可以将以下的指令加到你的文件顶部了: ```c++ -#define GLEW_STATIC -#include +#include ``` -如果你希望动态链接,那么你可以省略这个宏。但是记住使用动态链接的话你需要拷贝一份.DLL文件到你的应用程序目录。 - -!!! Important - - 对于用GCC编译的Linux用户建议使用这个命令行选项`-lGLEW -lglfw3 -lGL -lX11 -lpthread -lXrandr -lXi`。没有正确链接相应的库会产生 *undefined reference*(未定义的引用) 这个错误。 - -我们现在成功编译了GLFW和GLEW库,我们已经准备好将进入[下一节](03 Hello Window.md)去真正使用GLFW和GLEW来设置OpenGL上下文并创建窗口。记得确保你的头文件和库文件的目录设置正确,以及链接器里引用的库文件名正确。如果仍然遇到错误,可以先看一下评论有没有人遇到类似的问题,请参考额外资源中的例子或者在下面的评论区提问。 +点击编译按钮应该不会给你提示任何的错误,到这里我们就已经准备好继续学习[下一节](03 Hello Window.md)去真正使用GLFW和GLAD来设置OpenGL上下文并创建一个窗口了。记得确保你的头文件和库文件的目录设置正确,以及链接器里引用的库文件名正确。如果仍然遇到错误,可以先看一下评论有没有人遇到类似的问题,请参考额外资源中的例子或者在下面的评论区提问。 ## 附加资源 -- [Building applications](http://www.opengl-tutorial.org/miscellaneous/building-your-own-c-application/): 提供了很多编译或链接相关的信息和一大列错误及对应的解决方案。 -- [GLFW with Code::Blocks](http://wiki.codeblocks.org/index.php?title=Using_GLFW_with_Code::Blocks):使用Code::Blocks IDE编译GLFW。 -- [Running CMake](http://www.cmake.org/runningcmake/): 简要的介绍如何在Windows和Linux上使用CMake。 -- [Writing a build system under Linux](http://learnopengl.com/demo/autotools_tutorial.txt): Wouter Verholst写的一个autotools的教程,讲的是如何在Linux上编写构建系统,尤其是针对这些教程。 -- [Polytonic/Glitter](https://github.com/Polytonic/Glitter): 一个简单的样板项目,它已经提前配置了所有相关的库;如果你想要很方便地搞到一个LearnOpenGL教程的范例工程,这也是很不错的。 \ No newline at end of file +- [GLFW: Window Guide](http://www.glfw.org/docs/latest/window_guide.html):GLFW官方的配置GLFW窗口的指南。 +- [Building applications](http://www.opengl-tutorial.org/miscellaneous/building-your-own-c-application/):提供了很多编译或链接相关的信息和一大列错误及对应的解决方案。 +- [GLFW with Code::Blocks](http://wiki.codeblocks.org/index.php?title=Using_GLFW_with_Code::Blocks):使用Code::Blocks IDE编译GLFW。 +- [Running CMake](http://www.cmake.org/runningcmake/):简要的介绍如何在Windows和Linux上使用CMake。 +- [Writing a build system under Linux](http://learnopengl.com/demo/autotools_tutorial.txt):Wouter Verholst写的一个autotools的教程,讲的是如何在Linux上编写构建系统,尤其是针对这些教程。 +- [Polytonic/Glitter](https://github.com/Polytonic/Glitter):一个简单的样板项目,它已经提前配置了所有相关的库;如果你想要很方便地搞到一个LearnOpenGL教程的范例工程,这也是很不错的。 \ No newline at end of file From 6ee7a87860e6fbbbca8f360ef322a1996302474d Mon Sep 17 00:00:00 2001 From: Meow J Date: Fri, 16 Jun 2017 20:56:48 +0800 Subject: [PATCH 08/21] Save the old tutorials somewhere else --- .../02 Creating a window.md | 6 +++- docs/legacy.md | 35 +++++++++++++++++++ mkdocs.yml | 1 + 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 docs/legacy.md diff --git a/docs/01 Getting started/02 Creating a window.md b/docs/01 Getting started/02 Creating a window.md index e066b34..43e26e8 100644 --- a/docs/01 Getting started/02 Creating a window.md +++ b/docs/01 Getting started/02 Creating a window.md @@ -4,7 +4,11 @@ ---|--- 作者 | JoeyDeVries 翻译 | gjy_1992 -校对 | Geequlim +校对 | 未校对 + +!!! note "译注" + + 注意,由于作者对教程做出了更新,之前本节使用的是GLEW库,但现在改为了使用GLAD库,关于GLEW配置的部分现在已经被修改,但我仍决定将这部分教程保留起来,放到一个历史存档中,如果有需要的话可以到[这里](../legacy.md)来查看。 在我们画出出色的效果之前,首先要做的就是创建一个OpenGL上下文(Context)和一个用于显示的窗口。然而,这些操作在每个系统上都是不一样的,OpenGL有目的地从这些操作抽象(Abstract)出去。这意味着我们不得不自己处理创建窗口,定义OpenGL上下文以及处理用户输入。 diff --git a/docs/legacy.md b/docs/legacy.md new file mode 100644 index 0000000..6f839b5 --- /dev/null +++ b/docs/legacy.md @@ -0,0 +1,35 @@ +# 历史存档 + +由于作者在对教程不断地更新,一些比较旧的内容就从教程中删除或者修改了,但是这部分内容仍然对在更新以前就开始学习的读者可能还是会有点用处的。所以,我会将被大段删除或修改的内容留到这里以供大家参考。 + +注意的是,一些比较小的改动将不会出现在这里。 + +## 01-02 创建窗口 + +### 编译和链接GLEW + +GLEW是OpenGL Extension Wrangler Library的缩写,它能解决我们上面提到的那个繁琐的问题。因为GLEW也是一个库,我们同样需要构建并将其链接进工程。GLEW可以从[这里](http://glew.sourceforge.net/index.html)下载,你同样可以选择下载二进制版本,如果你的目标平台列在上面的话,或者下载源码编译,步骤和编译GLFW时差不多。记住,如果不确定的话,选择32位的二进制版本。 + +我们使用GLEW的**静态**版本**glew32s.lib**(注意这里的“s”),将库文件添加到你的库目录,将**include**内容添加到你的include目录。接下来,在VS的链接器选项里加上**glew32s.lib**。注意GLFW3(默认)也是编译成了一个静态库。 + + +!!! Important + + **静态**(Static)链接是指编译时就将库代码里的内容整合进你的二进制文件。优点就是你不需要管理额外的文件了,只需要发布你单独的一个二进制文件就行了。缺点就是你的可执行文件会变得更大,另外当库有升级版本时,你必须重新进行编译整个程序。 + + **动态**(Dynamic)链接是指一个库通过`.dll`或`.so`的方式存在,它的代码与你的二进制文件的代码是分离的。优点是使你的二进制文件大小变小并且更容易升级,缺点是你最终发布程序时必须带上这些DLL。 + +如果你希望静态链接GLEW,必须在包含GLEW头文件之前定义预处理器宏`GLEW_STATIC`: + +```c++ +#define GLEW_STATIC +#include +``` + +如果你希望动态链接,那么你可以省略这个宏。但是记住使用动态链接的话你需要拷贝一份.DLL文件到你的应用程序目录。 + +!!! Important + + 对于用GCC编译的Linux用户建议使用这个命令行选项`-lGLEW -lglfw3 -lGL -lX11 -lpthread -lXrandr -lXi`。没有正确链接相应的库会产生 *undefined reference*(未定义的引用) 这个错误。 + +我们现在成功编译了GLFW和GLEW库,我们已经准备好将进入[下一节](03 Hello Window.md)去真正使用GLFW和GLEW来设置OpenGL上下文并创建窗口。记得确保你的头文件和库文件的目录设置正确,以及链接器里引用的库文件名正确。如果仍然遇到错误,可以先看一下评论有没有人遇到类似的问题,请参考额外资源中的例子或者在下面的评论区提问。 \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index e494910..0baed28 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -74,6 +74,7 @@ pages: - 音效: '06 In Practice/2D-Game/09 Audio.md' - 渲染文本: '06 In Practice/2D-Game/10 Render Text.md' - 结语: '06 In Practice/2D-Game/11 Final thoughts.md' + - 历史存档: 'legacy.md' site_name: 'LearnOpenGL CN' From afe2ca1998d426e6edd416035f3263d8553e4145 Mon Sep 17 00:00:00 2001 From: Meow J Date: Fri, 16 Jun 2017 22:09:56 +0800 Subject: [PATCH 09/21] Update 01-03 --- docs/01 Getting started/01 OpenGL.md | 2 +- docs/01 Getting started/03 Hello Window.md | 136 ++++++++++++--------- docs/legacy.md | 69 ++++++++++- glossary.md | 3 +- 4 files changed, 147 insertions(+), 63 deletions(-) diff --git a/docs/01 Getting started/01 OpenGL.md b/docs/01 Getting started/01 OpenGL.md index 92d2f33..dbfe4d1 100644 --- a/docs/01 Getting started/01 OpenGL.md +++ b/docs/01 Getting started/01 OpenGL.md @@ -62,7 +62,7 @@ OpenGL自身是一个巨大的状态机(State Machine):一系列的变量描 假设当我们想告诉OpenGL去画线段而不是三角形的时候,我们通过改变一些上下文变量来改变OpenGL状态,从而告诉OpenGL如何去绘图。一旦我们改变了OpenGL的状态为绘制线段,下一个绘制命令就会画出线段而不是三角形。 -当使用OpenGL的时候,我们会遇到一些状态设置函数(State-changing Function),这类函数将会改变上下文。以及状态应用函数(State-using Function),这类函数会根据当前OpenGL的状态执行一些操作。只要你记住OpenGL本质上是个大状态机,就能更容易理解它的大部分特性。 +当使用OpenGL的时候,我们会遇到一些状态设置函数(State-changing Function),这类函数将会改变上下文。以及状态使用函数(State-using Function),这类函数会根据当前OpenGL的状态执行一些操作。只要你记住OpenGL本质上是个大状态机,就能更容易理解它的大部分特性。 ## 对象 diff --git a/docs/01 Getting started/03 Hello Window.md b/docs/01 Getting started/03 Hello Window.md index 0d62d94..78a1a4b 100644 --- a/docs/01 Getting started/03 Hello Window.md +++ b/docs/01 Getting started/03 Hello Window.md @@ -4,21 +4,18 @@ ---|--- 作者 | JoeyDeVries 翻译 | Geequlim -校对 | Geequlim +校对 | 未校对 -让我们试试能不能让GLFW正常工作。首先,新建一个`.cpp`文件,然后把下面的代码粘贴到该文件的最前面。注意,之所以定义`GLEW_STATIC`宏,是因为我们使用的是GLEW静态的链接库。 +让我们试试能不能让GLFW正常工作。首先,新建一个`.cpp`文件,然后把下面的代码粘贴到该文件的最前面。 ```c++ -// GLEW -#define GLEW_STATIC -#include -// GLFW +#include #include ``` !!! Attention - 请确认在包含GLFW的头文件之前包含了GLEW的头文件。在包含glew.h头文件时会引入许多OpenGL必要的头文件(例如`GL/gl.h`),所以你需要在包含其它依赖于OpenGL的头文件之前先包含GLEW。 + 请确认是在包含GLFW的头文件之前包含了GLAD的头文件。GLAD的头文件包含了正确的OpenGL头文件(例如`GL/gl.h`),所以需要在其它依赖于OpenGL的头文件之前包含GLAD。 接下来我们创建main函数,在这个函数中我们将会实例化GLFW窗口: @@ -29,15 +26,15 @@ int main() glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); - glfwWindowHint(GLFW_RESIZABLE, GL_FALSE); - + //glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); + return 0; } ``` 首先,我们在main函数中调用glfwInit函数来初始化GLFW,然后我们可以使用glfwWindowHint函数来配置GLFW。glfwWindowHint函数的第一个参数代表选项的名称,我们可以从很多以`GLFW_`开头的枚举值中选择;第二个参数接受一个整形,用来设置这个选项的值。该函数的所有的选项以及对应的值都可以在 [GLFW's window handling](http://www.glfw.org/docs/latest/window.html#window_hints) 这篇文档中找到。如果你现在编译你的cpp文件会得到大量的 *undefined reference* (未定义的引用)错误,也就是说你并未顺利地链接GLFW库。 -由于本站的教程都是基于OpenGL 3.3版本展开讨论的,所以我们需要告诉GLFW我们要使用的OpenGL版本是3.3,这样GLFW会在创建OpenGL上下文时做出适当的调整。这也可以确保用户在没有适当的OpenGL版本支持的情况下无法运行。我们将主版本号(Major)和次版本号(Minor)都设为3。我们同样明确告诉GLFW我们使用的是核心模式(Core-profile),并且不允许用户调整窗口的大小。在明确告诉GLFW使用核心模式的情况下,使用旧版函数将会导致**invalid operation**(无效操作)的错误,而这不正是一个很好的提醒吗?在我们不小心用了旧函数时报错,就能避免使用一些被废弃的用法了。如果使用的是Mac OS X系统,你还需要加下面这行代码到你的初始化代码中这些配置才能起作用: +由于本站的教程都是基于OpenGL 3.3版本展开讨论的,所以我们需要告诉GLFW我们要使用的OpenGL版本是3.3,这样GLFW会在创建OpenGL上下文时做出适当的调整。这也可以确保用户在没有适当的OpenGL版本支持的情况下无法运行。我们将主版本号(Major)和次版本号(Minor)都设为3。我们同样明确告诉GLFW我们使用的是核心模式(Core-profile)。明确告诉GLFW我们需要使用核心模式意味着我们只能使用OpenGL功能的一个子集(没有我们已不再需要的向后兼容特性)。如果使用的是Mac OS X系统,你还需要加下面这行代码到你的初始化代码中这些配置才能起作用(将上面的代码解除注释): ```c++ glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); @@ -50,8 +47,8 @@ glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); 接下来我们创建一个窗口对象,这个窗口对象存放了所有和窗口相关的数据,而且会被GLFW的其他函数频繁地用到。 ```c++ -GLFWwindow* window = glfwCreateWindow(800, 600, "LearnOpenGL", nullptr, nullptr); -if (window == nullptr) +GLFWwindow* window = glfwCreateWindow(800, 600, "LearnOpenGL", NULL, NULL); +if (window == NULL) { std::cout << "Failed to create GLFW window" << std::endl; glfwTerminate(); @@ -60,35 +57,32 @@ if (window == nullptr) glfwMakeContextCurrent(window); ``` -glfwCreateWindow函数需要窗口的宽和高作为它的前两个参数;第三个参数表示这个窗口的名称(标题),这里我们使用`"LearnOpenGL"`,当然你也可以使用你喜欢的名称;最后两个参数我们暂时忽略,先设置为空指针就行。它的返回值GLFWwindow对象的指针会在其他的GLFW操作中使用到。创建完窗口我们就可以通知GLFW将我们窗口的上下文设置为当前线程的主上下文了。 +glfwCreateWindow函数需要窗口的宽和高作为它的前两个参数。第三个参数表示这个窗口的名称(标题),这里我们使用`"LearnOpenGL"`,当然你也可以使用你喜欢的名称。最后两个参数我们暂时忽略。这个函数将会返回一个GLFWwindow对象,我们会在其它的GLFW操作中使用到。创建完窗口我们就可以通知GLFW将我们窗口的上下文设置为当前线程的主上下文了。 -## GLEW +## GLAD -在之前的教程中已经提到过,GLEW是用来管理OpenGL的函数指针的,所以在调用任何OpenGL的函数之前我们需要初始化GLEW。 +在之前的教程中已经提到过,GLAD是用来管理OpenGL的函数指针的,所以在调用任何OpenGL的函数之前我们需要初始化GLAD。 ```c++ -glewExperimental = GL_TRUE; -if (glewInit() != GLEW_OK) +if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) { - std::cout << "Failed to initialize GLEW" << std::endl; + std::cout << "Failed to initialize GLAD" << std::endl; return -1; } ``` -请注意,我们在初始化GLEW之前设置glewExperimental变量的值为`GL_TRUE`,这样做能让GLEW在管理OpenGL的函数指针时更多地使用现代化的技术,如果把它设置为`GL_FALSE`的话可能会在使用OpenGL的核心模式时出现一些问题。 +我们给GLAD传入了用来加载系统相关的OpenGL函数指针地址的函数。GLFW给我们的是`glfwGetProcAddress`,它根据我们编译的系统定义了正确的函数。 -## 视口(Viewport) -在我们开始渲染之前还有一件重要的事情要做,我们必须告诉OpenGL渲染窗口的尺寸大小,这样OpenGL才只能知道怎样相对于窗口大小显示数据和坐标。我们可以通过调用glViewport函数来设置窗口的**维度**(Dimension): +## 视口 + +在我们开始渲染之前还有一件重要的事情要做,我们必须告诉OpenGL渲染窗口的尺寸大小,即视口(Viewport),这样OpenGL才只能知道怎样根据窗口大小显示数据和坐标。我们可以通过调用glViewport函数来设置窗口的**维度**(Dimension): ```c++ -int width, height; -glfwGetFramebufferSize(window, &width, &height); - -glViewport(0, 0, width, height); +glViewport(0, 0, 800, 600); ``` -glViewport函数前两个参数控制窗口左下角的位置。第三个和第四个参数控制渲染窗口的宽度和高度(像素),这里我们是直接从GLFW中获取的。我们从GLFW中获取视口的维度而不设置为800*600是为了让它在高DPI的屏幕上(比如说Apple的视网膜显示屏)也能[正常工作](http://www.glfw.org/docs/latest/window.html#window_size)。 +glViewport函数前两个参数控制窗口左下角的位置。第三个和第四个参数控制渲染窗口的宽度和高度(像素)。 我们实际上也可以将视口的维度设置为比GLFW的维度小,这样子之后所有的OpenGL渲染将会在一个更小的窗口中显示,这样子的话我们也可以将一些其它元素显示在OpenGL视口之外。 @@ -96,21 +90,46 @@ glViewport(0, 0, width, height); OpenGL幕后使用glViewport中定义的位置和宽高进行2D坐标的转换,将OpenGL中的位置坐标转换为你的屏幕坐标。例如,OpenGL中的坐标(-0.5, 0.5)有可能(最终)被映射为屏幕中的坐标(200,450)。注意,处理过的OpenGL坐标范围只为-1到1,因此我们事实上将(-1到1)范围内的坐标映射到(0, 800)和(0, 600)。 +然而,当用户改变窗口的大小的时候,视口也应该被调整。我们可以对窗口注册一个回调函数(Callback Function),它会在每次窗口大小被调整的时候被调用。这个回调函数的原型如下: + +```c++ +void framebuffer_size_callback(GLFWwindow* window, int width, int height); +``` + +这个帧缓冲大小函数需要一个GLFWwindow作为它的第一个参数,以及两个整数表示窗口的新维度。每当窗口改变大小,GLFW会调用这个函数并填充相应的参数供你处理。 + +```c++ +void framebuffer_size_callback(GLFWwindow* window, int width, int height) +{ + glViewport(0, 0, width, height); +} +``` + +我们还需要注册这个函数,告诉GLFW我们希望每当窗口调整大小的时候调用这个函数: + +```c++ +glfwSetFramebufferSizeCallback(window, framebuffer_size_callback); +``` + +当窗口被第一次显示的时候framebuffer_size_callback也会被调用。对于视网膜(Retina)显示屏,widthheight都会明显比原输入值更高一点。 + +我们还可以将我们的函数注册到其它很多的回调函数中。比如说,我们可以创建一个回调函数来处理手柄输入变化,处理错误消息等。我们会在创建窗口之后,渲染循环初始化之前注册这些回调函数。 + # 准备好你的引擎 -我们可不希望只绘制一个图像之后我们的应用程序就立即退出并关闭窗口。我们希望程序在我们明确地关闭它之前不断绘制图像并能够接受用户输入。因此,我们需要在程序中添加一个while循环,我们可以把它称之为游戏循环(Game Loop),它能在我们让GLFW退出前一直保持运行。下面几行的代码就实现了一个简单的游戏循环: +我们可不希望只绘制一个图像之后我们的应用程序就立即退出并关闭窗口。我们希望程序在我们主动关闭它之前不断绘制图像并能够接受用户输入。因此,我们需要在程序中添加一个while循环,我们可以把它称之为渲染循环(Render Loop),它能在我们让GLFW退出前一直保持运行。下面几行的代码就实现了一个简单的渲染循环: ```c++ while(!glfwWindowShouldClose(window)) { - glfwPollEvents(); glfwSwapBuffers(window); + glfwPollEvents(); } ``` -- glfwWindowShouldClose函数在我们每次循环的开始前检查一次GLFW是否被要求退出,如果是的话该函数返回`true`然后游戏循环便结束了,之后为我们就可以关闭应用程序了。 -- glfwPollEvents函数检查有没有触发什么事件(比如键盘输入、鼠标移动等),然后调用对应的回调函数(可以通过回调方法手动设置)。我们一般在游戏循环的开始调用事件处理函数。 -- glfwSwapBuffers函数会交换颜色缓冲(它是一个储存着GLFW窗口每一个像素颜色的大缓冲),它在这一迭代中被用来绘制,并且将会作为输出显示在屏幕上。 +- glfwWindowShouldClose函数在我们每次循环的开始前检查一次GLFW是否被要求退出,如果是的话该函数返回`true`然后渲染循环便结束了,之后为我们就可以关闭应用程序了。 +- glfwPollEvents函数检查有没有触发什么事件(比如键盘输入、鼠标移动等)、更新窗口状态,并调用对应的回调函数(可以通过回调方法手动设置)。 +- glfwSwapBuffers函数会交换颜色缓冲(它是一个储存着GLFW窗口每一个像素颜色值的大缓冲),它在这一迭代中被用来绘制,并且将会作为输出显示在屏幕上。 !!! Important @@ -120,7 +139,7 @@ while(!glfwWindowShouldClose(window)) ## 最后一件事 -当游戏循环结束后我们需要正确释放/删除之前的分配的所有资源。我们可以在main函数的最后调用glfwTerminate函数来释放GLFW分配的内存。 +当渲染循环结束后我们需要正确释放/删除之前的分配的所有资源。我们可以在main函数的最后调用glfwTerminate函数来完成。 ```c++ glfwTerminate(); @@ -131,57 +150,54 @@ return 0; ![](../img/01/03/hellowindow.png) -如果你看见了一个非常无聊的黑色窗口,那么就对了!如果你没得到正确的结果,或者你不知道怎么把所有东西放到一起,请到[这里](http://learnopengl.com/code_viewer.php?code=getting-started/hellowindow)参考源代码。 +如果你看见了一个非常无聊的黑色窗口,那么就对了!如果你没得到正确的结果,或者你不知道怎么把所有东西放到一起,请到[这里](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/1.1.hello_window/hello_window.cpp)参考源代码。 如果程序编译有问题,请先检查连接器选项是否正确,IDE中是否导入了正确的目录(前面教程解释过)。并且请确认你的代码是否正确,直接对照上面提供的源代码就行了。如果还是有问题,欢迎评论,我或者其他人可能会帮助你的。 ## 输入 -我们同样也希望能够在GLFW中实现一些键盘控制,这可以通过使用GLFW的回调函数(Callback Function)来完成。回调函数事实上是一个函数指针,当我们设置好后,GLFW会在合适的时候调用它。**按键回调**(KeyCallback)是众多回调函数中的一种。当我们设置了按键回调之后,GLFW会在用户有键盘交互时调用它。该回调函数的原型如下所示: +我们同样也希望能够在GLFW中实现一些输入控制,这可以通过使用GLFW的几个输入函数来完成。我们将会使用GLFW的glfwGetKey函数,它需要一个窗口以及一个按键作为输入。这个函数将会返回这个按键是否正在被按下。我们将创建一个processInput函数来让所有的输入代码保持整洁。 ```c++ -void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode); -``` - -按键回调函数接受一个GLFWwindow指针作为它的第一个参数;第二个整形参数用来表示按下的按键;`action`参数表示这个按键是被按下还是释放;最后一个整形参数表示是否有Ctrl、Shift、Alt、Super等按钮的操作。GLFW会在合适的时候调用它,并为各个参数传入适当的值。 - - -```c++ -void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode) +void processInput(GLFWwindow *window) { - // 当用户按下ESC键,我们设置window窗口的WindowShouldClose属性为true - // 关闭应用程序 - if(key == GLFW_KEY_ESCAPE && action == GLFW_PRESS) - glfwSetWindowShouldClose(window, GL_TRUE); -} + if(glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS) + glfwSetWindowShouldClose(window, true); +} ``` -在我们(新创建的)key_callback函数中,我们检测了键盘是否按下了Escape键。如果键的确按下了(不释放),我们使用glfwSetwindowShouldClose函数设定`WindowShouldClose`属性为`true`从而关闭GLFW。main函数的`while`循环下一次的检测将为失败,程序就关闭了。 +这里我们检查用户是否按下了返回键(Esc)(如果没有按下,glfwGetKey将会返回GLFW_RELEASE。如果用户的确按下了返回键,我们将通过glfwSetwindowShouldClose使用把`WindowShouldClose`属性设置为 `true`的方法关闭GLFW。下一次while循环的条件检测将会失败,程序将会关闭。 -最后一件事就是通过GLFW注册我们的函数至合适的回调,代码是这样的: +我们接下来在渲染循环的每一个迭代中调用processInput: ```c++ -glfwSetKeyCallback(window, key_callback); +while (!glfwWindowShouldClose(window)) +{ + processInput(window); + + glfwSwapBuffers(window); + glfwPollEvents(); +} ``` -除了按键回调函数之外,我们还能我们自己的函数注册其它的回调。例如,我们可以注册一个回调函数来处理窗口尺寸变化、处理一些错误信息等。我们可以在创建窗口之后,开始游戏循环之前注册各种回调函数。 - +这就给我们一个非常简单的方式来检测特定的键是否被按下,并在每一帧做出处理。 ## 渲染 -我们要把所有的渲染(Rendering)操作放到游戏循环中,因为我们想让这些渲染指令在每次游戏循环迭代的时候都能被执行。代码将会是这样的: +我们要把所有的渲染(Rendering)操作放到渲染循环中,因为我们想让这些渲染指令在每次渲染循环迭代的时候都能被执行。代码将会是这样的: ```c++ -// 程序循环 +// 渲染循环 while(!glfwWindowShouldClose(window)) { - // 检查事件 - glfwPollEvents(); + // 输入 + processInput(window); // 渲染指令 ... - // 交换缓冲 + // 检查并调用事件,交换缓冲 + glfwPollEvents(); glfwSwapBuffers(window); } ``` @@ -197,10 +213,10 @@ glClear(GL_COLOR_BUFFER_BIT); !!! Important - 你应该能够回忆起来我们在 *OpenGL* 这节教程的内容,glClearColor函数是一个状态设置函数,而glClear函数则是一个状态应用的函数。 + 你应该能够回忆起来我们在 *OpenGL* 这节教程的内容,glClearColor函数是一个**状态设置**函数,而glClear函数则是一个**状态使用**的函数,它使用了当前的状态来获取应该清除为的颜色。 ![](../img/01/03/hellowindow2.png) -这个程序的完整源代码可以在[这里](http://learnopengl.com/code_viewer.php?code=getting-started/hellowindow2)找到。 +这个程序的完整源代码可以在[这里](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/1.2.hello_window_clear/hello_window_clear.cpp)找到。 -好了,现在我们已经做好开始在游戏循环中添加许多渲染调用的准备了,但这是[下一节](04 Hello Triangle.md)教程了,这一节的内容已经太多了。 \ No newline at end of file +好了,现在我们已经做好开始在渲染循环中添加许多渲染调用的准备了,但这是[下一节](04 Hello Triangle.md)教程了,这一节的内容已经太多了。 \ No newline at end of file diff --git a/docs/legacy.md b/docs/legacy.md index 6f839b5..bf945df 100644 --- a/docs/legacy.md +++ b/docs/legacy.md @@ -32,4 +32,71 @@ GLEW是OpenGL Extension Wrangler Library的缩写,它能解决我们上面提 对于用GCC编译的Linux用户建议使用这个命令行选项`-lGLEW -lglfw3 -lGL -lX11 -lpthread -lXrandr -lXi`。没有正确链接相应的库会产生 *undefined reference*(未定义的引用) 这个错误。 -我们现在成功编译了GLFW和GLEW库,我们已经准备好将进入[下一节](03 Hello Window.md)去真正使用GLFW和GLEW来设置OpenGL上下文并创建窗口。记得确保你的头文件和库文件的目录设置正确,以及链接器里引用的库文件名正确。如果仍然遇到错误,可以先看一下评论有没有人遇到类似的问题,请参考额外资源中的例子或者在下面的评论区提问。 \ No newline at end of file +我们现在成功编译了GLFW和GLEW库,我们已经准备好将进入[下一节](01 Getting started/03 Hello Window.md)去真正使用GLFW和GLEW来设置OpenGL上下文并创建窗口。记得确保你的头文件和库文件的目录设置正确,以及链接器里引用的库文件名正确。如果仍然遇到错误,可以先看一下评论有没有人遇到类似的问题,请参考额外资源中的例子或者在下面的评论区提问。 + +## 01-03 你好,窗口 + +### GLEW + +在之前的教程中已经提到过,GLEW是用来管理OpenGL的函数指针的,所以在调用任何OpenGL的函数之前我们需要初始化GLEW。 + +```c++ +glewExperimental = GL_TRUE; +if (glewInit() != GLEW_OK) +{ + std::cout << "Failed to initialize GLEW" << std::endl; + return -1; +} +``` + +请注意,我们在初始化GLEW之前设置glewExperimental变量的值为`GL_TRUE`,这样做能让GLEW在管理OpenGL的函数指针时更多地使用现代化的技术,如果把它设置为`GL_FALSE`的话可能会在使用OpenGL的核心模式时出现一些问题。 + + +### 视口(Viewport) + +在我们开始渲染之前还有一件重要的事情要做,我们必须告诉OpenGL渲染窗口的尺寸大小,这样OpenGL才只能知道怎样相对于窗口大小显示数据和坐标。我们可以通过调用glViewport函数来设置窗口的**维度**(Dimension): + +```c++ +int width, height; +glfwGetFramebufferSize(window, &width, &height); + +glViewport(0, 0, width, height); +``` + +glViewport函数前两个参数控制窗口左下角的位置。第三个和第四个参数控制渲染窗口的宽度和高度(像素),这里我们是直接从GLFW中获取的。我们从GLFW中获取视口的维度而不设置为800*600是为了让它在高DPI的屏幕上(比如说Apple的视网膜显示屏)也能[正常工作](http://www.glfw.org/docs/latest/window.html#window_size)。 + +我们实际上也可以将视口的维度设置为比GLFW的维度小,这样子之后所有的OpenGL渲染将会在一个更小的窗口中显示,这样子的话我们也可以将一些其它元素显示在OpenGL视口之外。 + +!!! Important + + OpenGL幕后使用glViewport中定义的位置和宽高进行2D坐标的转换,将OpenGL中的位置坐标转换为你的屏幕坐标。例如,OpenGL中的坐标(-0.5, 0.5)有可能(最终)被映射为屏幕中的坐标(200,450)。注意,处理过的OpenGL坐标范围只为-1到1,因此我们事实上将(-1到1)范围内的坐标映射到(0, 800)和(0, 600)。 +### 输入 + +我们同样也希望能够在GLFW中实现一些键盘控制,这可以通过使用GLFW的回调函数(Callback Function)来完成。回调函数事实上是一个函数指针,当我们设置好后,GLFW会在合适的时候调用它。**按键回调**(KeyCallback)是众多回调函数中的一种。当我们设置了按键回调之后,GLFW会在用户有键盘交互时调用它。该回调函数的原型如下所示: + +```c++ +void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode); +``` + +按键回调函数接受一个GLFWwindow指针作为它的第一个参数;第二个整形参数用来表示按下的按键;`action`参数表示这个按键是被按下还是释放;最后一个整形参数表示是否有Ctrl、Shift、Alt、Super等按钮的操作。GLFW会在合适的时候调用它,并为各个参数传入适当的值。 + + +```c++ +void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode) +{ + // 当用户按下ESC键,我们设置window窗口的WindowShouldClose属性为true + // 关闭应用程序 + if(key == GLFW_KEY_ESCAPE && action == GLFW_PRESS) + glfwSetWindowShouldClose(window, GL_TRUE); +} +``` + +在我们(新创建的)key_callback函数中,我们检测了键盘是否按下了Escape键。如果键的确按下了(不释放),我们使用glfwSetwindowShouldClose函数设定`WindowShouldClose`属性为`true`从而关闭GLFW。main函数的`while`循环下一次的检测将为失败,程序就关闭了。 + +最后一件事就是通过GLFW注册我们的函数至合适的回调,代码是这样的: + +```c++ +glfwSetKeyCallback(window, key_callback); +``` + +除了按键回调函数之外,我们还能我们自己的函数注册其它的回调。例如,我们可以注册一个回调函数来处理窗口尺寸变化、处理一些错误信息等。我们可以在创建窗口之后,开始游戏循环之前注册各种回调函数。 \ No newline at end of file diff --git a/glossary.md b/glossary.md index ad67147..6b3c16b 100644 --- a/glossary.md +++ b/glossary.md @@ -14,7 +14,7 @@ - State Machine:状态机 - Context:上下文 - State-changing Function:状态设置函数 -- State-using Function:状态应用函数 +- State-using Function:状态使用函数 - Object:对象 - Primitive Type:基元类型 - Option:选项 @@ -35,6 +35,7 @@ - Viewport:视口 - Dimension(窗口):维度 - Game Loop:游戏循环 +- Render Loop:渲染循环 - Color Buffer:颜色缓冲 - Double Buffer:双缓冲 - Front Buffer:前缓冲 From c58381be2ae4c6d8654b57c9af2f8f1aaa790438 Mon Sep 17 00:00:00 2001 From: Meow J Date: Fri, 16 Jun 2017 23:03:52 +0800 Subject: [PATCH 10/21] Update 01-01 01-04 --- docs/01 Getting started/01 OpenGL.md | 31 ++-- docs/01 Getting started/04 Hello Triangle.md | 150 +++++++++---------- docs/legacy.md | 8 + 3 files changed, 89 insertions(+), 100 deletions(-) diff --git a/docs/01 Getting started/01 OpenGL.md b/docs/01 Getting started/01 OpenGL.md index dbfe4d1..e314bf0 100644 --- a/docs/01 Getting started/01 OpenGL.md +++ b/docs/01 Getting started/01 OpenGL.md @@ -11,7 +11,7 @@ OpenGL Logo -OpenGL规范严格规定了每个函数该如何执行,以及它们的输出值。至于内部具体每个函数是如何实现(Implement)的,将由OpenGL库的开发者自行决定(注:这里开发者是指编写OpenGL库的人)。因为OpenGL规范并没有规定实现的细节,具体的OpenGL库允许使用不同的实现,只要其功能和结果与规范相匹配(亦即,作为用户不会感受到功能上的差异)。 +OpenGL规范严格规定了每个函数该如何执行,以及它们的输出值。至于内部具体每个函数是如何实现(Implement)的,将由OpenGL库的开发者自行决定(译注:这里开发者是指编写OpenGL库的人)。因为OpenGL规范并没有规定实现的细节,具体的OpenGL库允许使用不同的实现,只要其功能和结果与规范相匹配(亦即,作为用户不会感受到功能上的差异)。 实际的OpenGL库的开发者通常是显卡的生产商。你购买的显卡所支持的OpenGL版本都为这个系列的显卡专门开发的。当你使用Apple系统的时候,OpenGL库是由Apple自身维护的。在Linux下,有显卡生产商提供的OpenGL库,也有一些爱好者改编的版本。这也意味着任何时候OpenGL库表现的行为与规范规定的不一致时,基本都是库的开发者留下的bug。 @@ -23,9 +23,9 @@ OpenGL规范严格规定了每个函数该如何执行,以及它们的输出 ## 核心模式与立即渲染模式 -早期的OpenGL使用立即渲染模式(Immediate mode,也就是固定渲染管线),这个模式下绘制图形很方便。OpenGL的大多数功能都被库隐藏起来,开发者很少能控制OpenGL如何进行计算的自由。而开发者迫切希望能有更多的灵活性。随着时间推移,规范越来越灵活,开发者对绘图细节有了更多的掌控。立即渲染模式确实容易使用和理解,但是效率太低。因此从OpenGL3.2开始,规范文档开始废弃立即渲染模式,推出核心模式(Core-profile),这个模式完全移除了旧的特性。 +早期的OpenGL使用立即渲染模式(Immediate mode,也就是固定渲染管线),这个模式下绘制图形很方便。OpenGL的大多数功能都被库隐藏起来,开发者很少能控制OpenGL如何进行计算的自由。而开发者迫切希望能有更多的灵活性。随着时间推移,规范越来越灵活,开发者对绘图细节有了更多的掌控。立即渲染模式确实容易使用和理解,但是效率太低。因此从OpenGL3.2开始,规范文档开始废弃立即渲染模式,并鼓励开发者在OpenGL的核心模式(Core-profile)下进行开发,这个分支的规范完全移除了旧的特性。 -当使用OpenGL的核心模式时,OpenGL迫使我们使用现代的函数。当我们试图使用一个已废弃的函数时,OpenGL会抛出一个错误并终止绘图。现代函数的优势是更高的灵活性和效率,然而也更难于学习。立即渲染模式从OpenGL**实际**运作中抽象掉了很多细节,因而它易于学习的同时,也很难去把握OpenGL具体是如何运作的。现代函数要求使用者真正理解OpenGL和图形编程,它有一些难度,然而提供了更多的灵活性,更高的效率,更重要的是可以更深入的理解图形编程。 +当使用OpenGL的核心模式时,OpenGL迫使我们使用现代的函数。当我们试图使用一个已废弃的函数时,OpenGL会抛出一个错误并终止绘图。现代函数的优势是更高的灵活性和效率,然而也更难于学习。立即渲染模式从OpenGL**实际**运作中抽象掉了很多细节,因此它在易于学习的同时,也很难让人去把握OpenGL具体是如何运作的。现代函数要求使用者真正理解OpenGL和图形编程,它有一些难度,然而提供了更多的灵活性,更高的效率,更重要的是可以更深入的理解图形编程。 这也是为什么我们的教程面向OpenGL3.3的核心模式。虽然上手更困难,但这份努力是值得的。 @@ -46,7 +46,7 @@ OpenGL的一大特性就是对扩展(Extension)的支持,当一个显卡公司 ```c++ if(GL_ARB_extension_name) { - // 使用一些新的特性 + // 使用硬件支持的全新的现代特性 } else { @@ -72,33 +72,26 @@ OpenGL库是用C语言写的,同时也支持多种语言的派生,但其内 ```c++ struct object_name { - GLfloat option1; - GLuint option2; - GLchar[] name; + float option1; + int option2; + char[] name; }; ``` -!!! important - - **基元类型(Primitive Type)** - - 使用OpenGL时,建议使用OpenGL定义的基元类型。比如使用`float`时我们加上前缀`GL`(因此写作`GLfloat`)。`int`、`uint`、`char`、`bool`等等也类似。OpenGL定义的这些GL基元类型的内存布局是与平台无关的,而int等基元类型在不同操作系统上可能有不同的内存布局。使用GL基元类型可以保证你的程序在不同的平台上工作一致。 - 当我们使用一个对象时,通常看起来像如下一样(把OpenGL上下文看作一个大的结构体): ```c++ // OpenGL的状态 -struct OpenGL_Context -{ - ... - object* object_Window_Target; - ... +struct OpenGL_Context { + ... + object* object_Window_Target; + ... }; ``` ```c++ // 创建对象 -GLuint objectId = 0; +unsigned int objectId = 0; glGenObject(1, &objectId); // 绑定对象至上下文 glBindObject(GL_WINDOW_TARGET, objectId); diff --git a/docs/01 Getting started/04 Hello Triangle.md b/docs/01 Getting started/04 Hello Triangle.md index 4466ea4..7b5c300 100644 --- a/docs/01 Getting started/04 Hello Triangle.md +++ b/docs/01 Getting started/04 Hello Triangle.md @@ -66,10 +66,10 @@ 开始绘制图形之前,我们必须先给OpenGL输入一些顶点数据。OpenGL是一个3D图形库,所以我们在OpenGL中指定的所有坐标都是3D坐标(x、y和z)。OpenGL不是简单地把**所有的**3D坐标变换为屏幕上的2D像素;OpenGL仅当3D坐标在3个轴(x、y和z)上都为-1.0到1.0的范围内时才处理它。所有在所谓的标准化设备坐标(Normalized Device Coordinates)范围内的坐标才会最终呈现在屏幕上(在这个范围以外的坐标都不会显示)。 -由于我们希望渲染一个三角形,我们一共要指定三个顶点,每个顶点都有一个3D位置。我们会将它们以标准化设备坐标的形式(OpenGL的可见区域)定义为一个`GLfloat`数组。 +由于我们希望渲染一个三角形,我们一共要指定三个顶点,每个顶点都有一个3D位置。我们会将它们以标准化设备坐标的形式(OpenGL的可见区域)定义为一个`float`数组。 ```c++ -GLfloat vertices[] = { +float vertices[] = { -0.5f, -0.5f, 0.0f, 0.5f, -0.5f, 0.0f, 0.0f, 0.5f, 0.0f @@ -96,13 +96,13 @@ GLfloat vertices[] = { 定义这样的顶点数据以后,我们会把它作为输入发送给图形渲染管线的第一个处理阶段:顶点着色器。它会在GPU上创建内存用于储存我们的顶点数据,还要配置OpenGL如何解释这些内存,并且指定其如何发送给显卡。顶点着色器接着会处理我们在内存中指定数量的顶点。 -我们通过顶点缓冲对象(Vertex Buffer Objects, VBO)管理这个内存,它会在GPU内存(通常被称为显存)中储存大量顶点。使用这些缓冲对象的好处是我们可以一次性的发送一大批数据到显卡上,而不是每个顶点发送一次。从CPU把数据发送到显卡相对较慢,所以只要可能我们都要尝试尽量一次性发送尽可能多的数据。当数据发送至显卡的内存中后,顶点着色器几乎能立即访问顶点,这是个非常快的过程。 +我们通过顶点缓冲对象(Vertex Buffer Objects, VBO)管理这个内存,它会在GPU内存(通常被称为显存)中储存大量顶点。使用这些缓冲对象的好处是我们可以一次性的发送一大批数据到显卡上,而不是每个顶点发送一次。从CPU把数据发送到显卡相对较慢,所以只要可能我们都要尝试尽量一次性发送尽可能多的数据。当数据发送至显卡的内存中后,顶点着色器几乎能立即访问顶点,这是个非常快的过程。 顶点缓冲对象是我们在[OpenGL](01 OpenGL.md)教程中第一个出现的OpenGL对象。就像OpenGL中的其它对象一样,这个缓冲有一个独一无二的ID,所以我们可以使用glGenBuffers函数和一个缓冲ID生成一个VBO对象: ```c++ -GLuint VBO; -glGenBuffers(1, &VBO); +unsigned int VBO; +glGenBuffers(1, &VBO); ``` OpenGL有很多缓冲对象类型,顶点缓冲对象的缓冲类型是GL_ARRAY_BUFFER。OpenGL允许我们同时绑定多个缓冲,只要它们是不同的缓冲类型。我们可以使用glBindBuffer函数把新创建的缓冲绑定到GL_ARRAY_BUFFER目标上: @@ -137,24 +137,23 @@ glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); ```c++ #version 330 core - -layout (location = 0) in vec3 position; +layout (location = 0) in vec3 aPos; void main() { - gl_Position = vec4(position.x, position.y, position.z, 1.0); + gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0); } ``` 可以看到,GLSL看起来很像C语言。每个着色器都起始于一个版本声明。OpenGL 3.3以及和更高版本中,GLSL版本号和OpenGL的版本是匹配的(比如说GLSL 420版本对应于OpenGL 4.2)。我们同样明确表示我们会使用核心模式。 -下一步,使用`in`关键字,在顶点着色器中声明所有的输入顶点属性(Input Vertex Attribute)。现在我们只关心位置(Position)数据,所以我们只需要一个顶点属性。GLSL有一个向量数据类型,它包含1到4个`float`分量,包含的数量可以从它的后缀数字看出来。由于每个顶点都有一个3D坐标,我们就创建一个`vec3`输入变量position。我们同样也通过`layout (location = 0)`设定了输入变量的位置值(Location)你后面会看到为什么我们会需要这个位置值。 +下一步,使用`in`关键字,在顶点着色器中声明所有的输入顶点属性(Input Vertex Attribute)。现在我们只关心位置(Position)数据,所以我们只需要一个顶点属性。GLSL有一个向量数据类型,它包含1到4个`float`分量,包含的数量可以从它的后缀数字看出来。由于每个顶点都有一个3D坐标,我们就创建一个`vec3`输入变量aPos。我们同样也通过`layout (location = 0)`设定了输入变量的位置值(Location)你后面会看到为什么我们会需要这个位置值。 !!! Important **向量(Vector)** - 在图形编程中我们经常会使用向量这个数学概念,因为它简明地表达了任意空间中的位置和方向,并且它有非常有用的数学属性。在GLSL中一个向量有最多4个分量,每个分量值都代表空间中的一个坐标,它们可以通过`vec.x`、`vec.y`、`vec.z`和`vec.w`来获取。注意`vec.w`分量不是用作表达空间中的位置的(我们处理的是3D不是4D),而是用在所谓透视划分(Perspective Division)上。我们会在后面的教程中更详细地讨论向量。 + 在图形编程中我们经常会使用向量这个数学概念,因为它简明地表达了任意空间中的位置和方向,并且它有非常有用的数学属性。在GLSL中一个向量有最多4个分量,每个分量值都代表空间中的一个坐标,它们可以通过`vec.x`、`vec.y`、`vec.z`和`vec.w`来获取。注意`vec.w`分量不是用作表达空间中的位置的(我们处理的是3D不是4D),而是用在所谓透视除法(Perspective Division)上。我们会在后面的教程中更详细地讨论向量。 为了设置顶点着色器的输出,我们必须把位置数据赋值给预定义的gl_Position变量,它在幕后是`vec4`类型的。在main函数的最后,我们将gl_Position设置的值会成为该顶点着色器的输出。由于我们的输入是一个3分量的向量,我们必须把它转换为4分量的。我们可以把`vec3`的数据作为`vec4`构造器的参数,同时把`w`分量设置为`1.0f`(我们会在后面解释为什么)来完成这一任务。 @@ -164,10 +163,10 @@ void main() 我们已经写了一个顶点着色器源码(储存在一个C的字符串中),但是为了能够让OpenGL使用它,我们必须在运行时动态编译它的源码。 -我们首先要做的是创建一个着色器对象,注意还是用ID来引用的。所以我们储存这个顶点着色器为`GLuint`,然后用glCreateShader创建这个着色器: +我们首先要做的是创建一个着色器对象,注意还是用ID来引用的。所以我们储存这个顶点着色器为`unsigned int`,然后用glCreateShader创建这个着色器: ```c++ -GLuint vertexShader; +unsigned int vertexShader; vertexShader = glCreateShader(GL_VERTEX_SHADER); ``` @@ -186,23 +185,23 @@ glCompileShader(vertexShader); 你可能会希望检测在调用glCompileShader后编译是否成功了,如果没成功的话,你还会希望知道错误是什么,这样你才能修复它们。检测编译时错误可以通过以下代码来实现: - GLint success; - GLchar infoLog[512]; - glGetShaderiv(vertexShader, GL_COMPILE_STATUS, &success); + int success; + char infoLog[512]; + glGetShaderiv(vertexShader, GL_COMPILE_STATUS, &success); 首先我们定义一个整型变量来表示是否成功编译,还定义了一个储存错误消息(如果有的话)的容器。然后我们用glGetShaderiv检查是否编译成功。如果编译失败,我们会用glGetShaderInfoLog获取错误消息,然后打印它。 if(!success) { - glGetShaderInfoLog(vertexShader, 512, NULL, infoLog); - std::cout << "ERROR::SHADER::VERTEX::COMPILATION_FAILED\n" << infoLog << std::endl; + glGetShaderInfoLog(vertexShader, 512, NULL, infoLog); + std::cout << "ERROR::SHADER::VERTEX::COMPILATION_FAILED\n" << infoLog << std::endl; } 如果编译的时候没有检测到任何错误,顶点着色器就被编译成功了。 ## 片段着色器 -片段着色器(Fragment Shader)是第二个也是最后一个我们打算创建的用于渲染三角形的着色器。片段着色器全是关于计算你的像素最后的颜色输出。为了让事情更简单,我们的片段着色器将会一直输出橘黄色。 +片段着色器(Fragment Shader)是第二个也是最后一个我们打算创建的用于渲染三角形的着色器。片段着色器所做的是计算像素最后的颜色输出。为了让事情更简单,我们的片段着色器将会一直输出橘黄色。 !!! Important @@ -210,38 +209,37 @@ glCompileShader(vertexShader); ```c++ #version 330 core - -out vec4 color; +out vec4 FragColor; void main() { - color = vec4(1.0f, 0.5f, 0.2f, 1.0f); -} + FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f); +} ``` -片段着色器只需要一个输出变量,这个变量是一个4分量向量,它表示的是最终的输出颜色,我们应该自己将其计算出来。我们可以用`out`关键字声明输出变量,这里我们命名为color。下面,我们将一个alpha值为1.0(1.0代表完全不透明)的橘黄色的`vec4`赋值给颜色输出。 +片段着色器只需要一个输出变量,这个变量是一个4分量向量,它表示的是最终的输出颜色,我们应该自己将其计算出来。我们可以用`out`关键字声明输出变量,这里我们命名为FragColor。下面,我们将一个alpha值为1.0(1.0代表完全不透明)的橘黄色的`vec4`赋值给颜色输出。 编译片段着色器的过程与顶点着色器类似,只不过我们使用GL_FRAGMENT_SHADER常量作为着色器类型: ```c++ -GLuint fragmentShader; +unsigned int fragmentShader; fragmentShader = glCreateShader(GL_FRAGMENT_SHADER); -glShaderSource(fragmentShader, 1, &fragmentShaderSource, null); +glShaderSource(fragmentShader, 1, &fragmentShaderSource, NULL); glCompileShader(fragmentShader); ``` -两个着色器现在都编译了,剩下的事情是把两个着色器对象链接到一个用来渲染的着色器程序(Shader Program)中。 +两个着色器现在都编译了,剩下的事情是把两个着色器对象链接到一个用来渲染的着色器程序(Shader Program)中。 ### 着色器程序 -着色器程序对象(Shader Program Object)是多个着色器合并之后并最终链接完成的版本。如果要使用刚才编译的着色器我们必须把它们链接为一个着色器程序对象,然后在渲染对象的时候激活这个着色器程序。已激活着色器程序的着色器将在我们发送渲染调用的时候被使用。 +着色器程序对象(Shader Program Object)是多个着色器合并之后并最终链接完成的版本。如果要使用刚才编译的着色器我们必须把它们链接(Link)为一个着色器程序对象,然后在渲染对象的时候激活这个着色器程序。已激活着色器程序的着色器将在我们发送渲染调用的时候被使用。 当链接着色器至一个程序的时候,它会把每个着色器的输出链接到下个着色器的输入。当输出和输入不匹配的时候,你会得到一个连接错误。 创建一个程序对象很简单: ```c++ -GLuint shaderProgram; +unsigned int shaderProgram; shaderProgram = glCreateProgram(); ``` @@ -261,8 +259,8 @@ glLinkProgram(shaderProgram); glGetProgramiv(shaderProgram, GL_LINK_STATUS, &success); if(!success) { - glGetProgramInfoLog(shaderProgram, 512, NULL, infoLog); - ... + glGetProgramInfoLog(shaderProgram, 512, NULL, infoLog); + ... } 得到的结果就是一个程序对象,我们可以调用glUseProgram函数,用刚创建的程序对象作为它的参数,以激活这个程序对象: @@ -290,15 +288,15 @@ glDeleteShader(fragmentShader); ![](../img/01/04/vertex_attribute_pointer.png) -- 位置数据被储存为32-bit(4字节)浮点值。 +- 位置数据被储存为32位(4字节)浮点值。 - 每个位置包含3个这样的值。 -- 在这3个值之间没有空隙(或其他值)。这几个值在数组中紧密排列。 +- 在这3个值之间没有空隙(或其他值)。这几个值在数组中紧密排列(Tightly Packed)。 - 数据中第一个值在缓冲开始的位置。 有了这些信息我们就可以使用glVertexAttribPointer函数告诉OpenGL该如何解析顶点数据(应用到逐个顶点属性上)了: ```c++ -glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(GLfloat), (GLvoid*)0); +glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0); glEnableVertexAttribArray(0); ``` @@ -308,8 +306,8 @@ glEnableVertexAttribArray(0); - 第二个参数指定顶点属性的大小。顶点属性是一个`vec3`,它由3个值组成,所以大小是3。 - 第三个参数指定数据的类型,这里是GL_FLOAT(GLSL中`vec*`都是由浮点数值组成的)。 - 下个参数定义我们是否希望数据被标准化(Normalize)。如果我们设置为GL_TRUE,所有数据都会被映射到0(对于有符号型signed数据是-1)到1之间。我们把它设置为GL_FALSE。 -- 第五个参数叫做步长(Stride),它告诉我们在连续的顶点属性组之间的间隔。由于下个组位置数据在3个`GLfloat`之后,我们把步长设置为`3 * sizeof(GLfloat)`。要注意的是由于我们知道这个数组是紧密排列的(在两个顶点属性之间没有空隙)我们也可以设置为0来让OpenGL决定具体步长是多少(只有当数值是紧密排列时才可用)。一旦我们有更多的顶点属性,我们就必须更小心地定义每个顶点属性之间的间隔,我们在后面会看到更多的例子(译注: 这个参数的意思简单说就是从这个属性第二次出现的地方到整个数组0位置之间有多少字节)。 -- 最后一个参数的类型是`GLvoid*`,所以需要我们进行这个奇怪的强制类型转换。它表示位置数据在缓冲中起始位置的偏移量(Offset)。由于位置数据在数组的开头,所以这里是0。我们会在后面详细解释这个参数。 +- 第五个参数叫做步长(Stride),它告诉我们在连续的顶点属性组之间的间隔。由于下个组位置数据在3个`float`之后,我们把步长设置为`3 * sizeof(float)`。要注意的是由于我们知道这个数组是紧密排列的(在两个顶点属性之间没有空隙)我们也可以设置为0来让OpenGL决定具体步长是多少(只有当数值是紧密排列时才可用)。一旦我们有更多的顶点属性,我们就必须更小心地定义每个顶点属性之间的间隔,我们在后面会看到更多的例子(译注: 这个参数的意思简单说就是从这个属性第二次出现的地方到整个数组0位置之间有多少字节)。 +- 最后一个参数的类型是`void*`,所以需要我们进行这个奇怪的强制类型转换。它表示位置数据在缓冲中起始位置的偏移量(Offset)。由于位置数据在数组的开头,所以这里是0。我们会在后面详细解释这个参数。 !!! Important @@ -322,7 +320,7 @@ glEnableVertexAttribArray(0); glBindBuffer(GL_ARRAY_BUFFER, VBO); glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); // 1. 设置顶点属性指针 -glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(GLfloat), (GLvoid*)0); +glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0); glEnableVertexAttribArray(0); // 2. 当我们渲染一个物体时要使用着色器程序 glUseProgram(shaderProgram); @@ -351,8 +349,8 @@ someOpenGLFunctionThatDrawsOurTriangle(); 创建一个VAO和创建一个VBO很类似: ```c++ -GLuint VAO; -glGenVertexArrays(1, &VAO); +unsigned int VAO; +glGenVertexArrays(1, &VAO); ``` 要想使用VAO,要做的只是使用glBindVertexArray绑定VAO。从绑定之后起,我们应该绑定和配置对应的VBO和属性指针,之后解绑VAO供之后使用。当我们打算绘制一个物体的时候,我们只要在绘制物体前简单地把VAO绑定到希望使用的设定上就行了。这段代码应该看起来像这样: @@ -361,29 +359,22 @@ glGenVertexArrays(1, &VAO); // ..:: 初始化代码(只运行一次 (除非你的物体频繁改变)) :: .. // 1. 绑定VAO glBindVertexArray(VAO); - // 2. 把顶点数组复制到缓冲中供OpenGL使用 - glBindBuffer(GL_ARRAY_BUFFER, VBO); - glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); - // 3. 设置顶点属性指针 - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(GLfloat), (GLvoid*)0); - glEnableVertexAttribArray(0); -//4. 解绑VAO -glBindVertexArray(0); +// 2. 把顶点数组复制到缓冲中供OpenGL使用 +glBindBuffer(GL_ARRAY_BUFFER, VBO); +glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); +// 3. 设置顶点属性指针 +glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0); +glEnableVertexAttribArray(0); [...] -// ..:: 绘制代(游戏循环中) :: .. -// 5. 绘制物体 +// ..:: 绘制代(渲染循环中) :: .. +// 4. 绘制物体 glUseProgram(shaderProgram); glBindVertexArray(VAO); someOpenGLFunctionThatDrawsOurTriangle(); -glBindVertexArray(0); ``` -!!! Attention - - 通常情况下当我们配置好OpenGL对象以后要解绑它们,这样我们才不会在其它地方错误地配置它们。 - 就这么多了!前面做的一切都是等待这一刻,一个储存了我们顶点属性配置和应使用的VBO的顶点数组对象。一般当你打算绘制多个物体时,你首先要生成/配置所有的VAO(和必须的VBO及属性指针),然后储存它们供后面使用。当我们打算绘制物体的时候就拿出相应的VAO,绑定它,绘制完物体后,再解绑VAO。 ### 我们一直期待的三角形 @@ -394,16 +385,15 @@ glBindVertexArray(0); glUseProgram(shaderProgram); glBindVertexArray(VAO); glDrawArrays(GL_TRIANGLES, 0, 3); -glBindVertexArray(0); ``` -glDrawArrays函数第一个参数是我们打算绘制的OpenGL图元的类型。由于我们在一开始时说过,我们希望绘制的是一个三角形,这里传递GL_TRIANGLES给它。第二个参数指定了顶点数组的起始索引,我们这里填`0`。最后一个参数指定我们打算绘制多少个顶点,这里是3(我们只从我们的数据中渲染一个三角形,它只有3个顶点长)。 +glDrawArrays函数第一个参数是我们打算绘制的OpenGL图元的类型。由于我们在一开始时说过,我们希望绘制的是一个三角形,这里传递GL_TRIANGLES给它。第二个参数指定了顶点数组的起始索引,我们这里填`0`。最后一个参数指定我们打算绘制多少个顶点,这里是`3`(我们只从我们的数据中渲染一个三角形,它只有3个顶点长)。 现在尝试编译代码,如果弹出了任何错误,回头检查你的代码。如果你编译通过了,你应该看到下面的结果: ![](../img/01/04/hellotriangle.png) -完整的程序源码可以在[这里](http://learnopengl.com/code_viewer.php?code=getting-started/hellotriangle)找到。 +完整的程序源码可以在[这里](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/2.1.hello_triangle/hello_triangle.cpp)找到。 如果你的输出和这个看起来不一样,你可能做错了什么。去查看一下源码,检查你是否遗漏了什么东西,或者你也可以在评论区提问。 @@ -412,7 +402,7 @@ glBindVertexArray(0); 在渲染顶点这一话题上我们还有最有一个需要讨论的东西——索引缓冲对象(Element Buffer Object,EBO,也叫Index Buffer Object,IBO)。要解释索引缓冲对象的工作方式最好还是举个例子:假设我们不再绘制一个三角形而是绘制一个矩形。我们可以绘制两个三角形来组成一个矩形(OpenGL主要处理三角形)。这会生成下面的顶点的集合: ```c++ -GLfloat vertices[] = { +float vertices[] = { // 第一个三角形 0.5f, 0.5f, 0.0f, // 右上角 0.5f, -0.5f, 0.0f, // 右下角 @@ -426,17 +416,17 @@ GLfloat vertices[] = { 可以看到,有几个顶点叠加了。我们指定了`右下角`和`左上角`两次!一个矩形只有4个而不是6个顶点,这样就产生50%的额外开销。当我们有包括上千个三角形的模型之后这个问题会更糟糕,这会产生一大堆浪费。更好的解决方案是只储存不同的顶点,并设定绘制这些顶点的顺序。这样子我们只要储存4个顶点就能绘制矩形了,之后只要指定绘制的顺序就行了。如果OpenGL提供这个功能就好了,对吧? -很幸运,索引缓冲对象的工作方式正是这样的。和顶点缓冲对象一样,EBO也是一个缓冲,它专门储存索引,OpenGL调用这些顶点的索引来决定该绘制哪个顶点。所谓的索引绘制(Indexed Drawing)正是我们问题的解决方案。首先,我们先要定义(独一无二的)顶点,和绘制出矩形所需的索引: +很幸运,索引缓冲对象的工作方式正是这样的。和顶点缓冲对象一样,EBO也是一个缓冲,它专门储存索引,OpenGL调用这些顶点的索引来决定该绘制哪个顶点。所谓的索引绘制(Indexed Drawing)正是我们问题的解决方案。首先,我们先要定义(不重复的)顶点,和绘制出矩形所需的索引: ```c++ -GLfloat vertices[] = { +float vertices[] = { 0.5f, 0.5f, 0.0f, // 右上角 0.5f, -0.5f, 0.0f, // 右下角 -0.5f, -0.5f, 0.0f, // 左下角 -0.5f, 0.5f, 0.0f // 左上角 }; -GLuint indices[] = { // 注意索引从0开始! +unsigned int indices[] = { // 注意索引从0开始! 0, 1, 3, // 第一个三角形 1, 2, 3 // 第二个三角形 }; @@ -445,7 +435,7 @@ GLuint indices[] = { // 注意索引从0开始! 你可以看到,当时用索引的时候,我们只定义了4个顶点,而不是6个。下一步我们需要创建索引缓冲对象: ```c++ -GLuint EBO; +unsigned int EBO; glGenBuffers(1, &EBO); ``` @@ -453,7 +443,7 @@ glGenBuffers(1, &EBO); ```c++ glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO); -glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW); +glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW); ``` 要注意的是,我们传递了GL_ELEMENT_ARRAY_BUFFER当作缓冲目标。最后一件要做的事是用glDrawElements来替换glDrawArrays函数,来指明我们从索引缓冲渲染。使用glDrawElements时,我们会使用当前绑定的索引缓冲对象中的索引进行绘制: @@ -479,22 +469,19 @@ glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); // ..:: 初始化代码 :: .. // 1. 绑定顶点数组对象 glBindVertexArray(VAO); - // 2. 把我们的顶点数组复制到一个顶点缓冲中,供OpenGL使用 - glBindBuffer(GL_ARRAY_BUFFER, VBO); - glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); - // 3. 复制我们的索引数组到一个索引缓冲中,供OpenGL使用 - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO); - glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW); - // 3. 设定顶点属性指针 - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(GLfloat), (GLvoid*)0); - glEnableVertexAttribArray(0); -// 4. 解绑VAO(不是EBO!) -glBindVertexArray(0); +// 2. 把我们的顶点数组复制到一个顶点缓冲中,供OpenGL使用 +glBindBuffer(GL_ARRAY_BUFFER, VBO); +glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); +// 3. 复制我们的索引数组到一个索引缓冲中,供OpenGL使用 +glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO); +glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW); +// 4. 设定顶点属性指针 +glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0); +glEnableVertexAttribArray(0); [...] -// ..:: 绘制代码(游戏循环中) :: .. - +// ..:: 绘制代码(渲染循环中) :: .. glUseProgram(shaderProgram); glBindVertexArray(VAO); glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0) @@ -511,20 +498,21 @@ glBindVertexArray(0); 要想用线框模式绘制你的三角形,你可以通过`glPolygonMode(GL_FRONT_AND_BACK, GL_LINE)`函数配置OpenGL如何绘制图元。第一个参数表示我们打算将其应用到所有的三角形的正面和背面,第二个参数告诉我们用线来绘制。之后的绘制调用会一直以线框模式绘制三角形,直到我们用`glPolygonMode(GL_FRONT_AND_BACK, GL_FILL)`将其设置回默认模式。 -如果你遇到任何错误,回头检查代码,看看是否遗漏了什么。同时,你可以在[这里](http://learnopengl.com/code_viewer.php?code=getting-started/hellotriangle2)找到全部源码,你也可以在评论区自由提问。 +如果你遇到任何错误,回头检查代码,看看是否遗漏了什么。同时,你可以在[这里](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/2.2.hello_triangle_indexed/hello_triangle_indexed.cpp)找到全部源码,你也可以在评论区自由提问。 如果你像我这样成功绘制出了这个三角形或矩形,那么恭喜你,你成功地通过了现代OpenGL最难部分之一:绘制你自己的第一个三角形。这部分很难,因为在可以绘制第一个三角形之前你需要了解很多知识。幸运的是我们现在已经越过了这个障碍,接下来的教程会比较容易理解一些。 ## 附加资源 - [antongerdelan.net/hellotriangle](http://antongerdelan.net/opengl/hellotriangle.html):Anton Gerdelan的渲染第一个三角形教程。 -- [open.gl/drawing](https://open.gl/drawing): Alexander Overvoorde的渲染第一个三角形教程。 -- [antongerdelan.net/vertexbuffers](http://antongerdelan.net/opengl/vertexbuffers.html): 顶点缓冲对象的一些深入探讨。 +- [open.gl/drawing](https://open.gl/drawing):Alexander Overvoorde的渲染第一个三角形教程。 +- [antongerdelan.net/vertexbuffers](http://antongerdelan.net/opengl/vertexbuffers.html):顶点缓冲对象的一些深入探讨。 +- [调试](https://learnopengl.com/#!In-Practice/Debugging):这个教程中涉及到了很多步骤,如果你在哪卡住了,阅读一点调试的教程是非常值得的(只需要阅读到调试输出部分)。 # 练习 为了更好的掌握上述概念,我准备了一些练习。建议在继续下一节的学习之前先做完这些练习,确保你对这些知识有比较好的理解。 -1. 添加更多顶点到数据中,使用glDrawArrays,尝试绘制两个彼此相连的三角形:[参考解答](http://learnopengl.com/code_viewer.php?code=getting-started/hello-triangle-exercise1) -2. 创建相同的两个三角形,但对它们的数据使用不同的VAO和VBO:[参考解答](http://learnopengl.com/code_viewer.php?code=getting-started/hello-triangle-exercise2) -3. 创建两个着色器程序,第二个程序使用与第一个不同的片段着色器,输出黄色;再次绘制这两个三角形,其中一个输出为黄色:[参考解答](http://learnopengl.com/code_viewer.php?code=getting-started/hello-triangle-exercise3) +1. 添加更多顶点到数据中,使用glDrawArrays,尝试绘制两个彼此相连的三角形:[参考解答](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/2.3.hello_triangle_exercise1/hello_triangle_exercise1.cpp) +2. 创建相同的两个三角形,但对它们的数据使用不同的VAO和VBO:[参考解答](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/2.4.hello_triangle_exercise2/hello_triangle_exercise2.cpp) +3. 创建两个着色器程序,第二个程序使用一个不同的片段着色器,输出黄色;再次绘制这两个三角形,让其中一个输出为黄色:[参考解答](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/2.5.hello_triangle_exercise3/hello_triangle_exercise3.cpp) diff --git a/docs/legacy.md b/docs/legacy.md index bf945df..ea12051 100644 --- a/docs/legacy.md +++ b/docs/legacy.md @@ -4,6 +4,14 @@ 注意的是,一些比较小的改动将不会出现在这里。 +## 01-01 OpenGL + +!!! important + + **基元类型(Primitive Type)** + + 使用OpenGL时,建议使用OpenGL定义的基元类型。比如使用`float`时我们加上前缀`GL`(因此写作`GLfloat`)。`int`、`uint`、`char`、`bool`等等也类似。OpenGL定义的这些GL基元类型的内存布局是与平台无关的,而int等基元类型在不同操作系统上可能有不同的内存布局。使用GL基元类型可以保证你的程序在不同的平台上工作一致。 + ## 01-02 创建窗口 ### 编译和链接GLEW From af9fee58c18600f8fdc955526c72d3f6da7243a4 Mon Sep 17 00:00:00 2001 From: Meow J Date: Sat, 17 Jun 2017 02:09:10 +0800 Subject: [PATCH 11/21] Update 01-05 --- docs/01 Getting started/01 OpenGL.md | 4 + docs/01 Getting started/05 Shaders.md | 173 +++++++++++++++----------- 2 files changed, 103 insertions(+), 74 deletions(-) diff --git a/docs/01 Getting started/01 OpenGL.md b/docs/01 Getting started/01 OpenGL.md index e314bf0..e459d89 100644 --- a/docs/01 Getting started/01 OpenGL.md +++ b/docs/01 Getting started/01 OpenGL.md @@ -78,6 +78,10 @@ struct object_name { }; ``` +!!! note "译注" + + 在更新前的教程中一直使用的都是OpenGL的基本类型,但由于作者觉得在本教程系列中并没有一个必须使用它们的原因,所有的类型都改为了自带类型。但是请仍然记住,使用OpenGL的类型的好处是保证了在各平台中每一种类型的大小都是统一的。你也可以使用其它的定宽类型(Fixed-width Type)来实现这一点。 + 当我们使用一个对象时,通常看起来像如下一样(把OpenGL上下文看作一个大的结构体): ```c++ diff --git a/docs/01 Getting started/05 Shaders.md b/docs/01 Getting started/05 Shaders.md index 14dd163..acba41c 100644 --- a/docs/01 Getting started/05 Shaders.md +++ b/docs/01 Getting started/05 Shaders.md @@ -20,7 +20,6 @@ ```c++ #version version_number - in type in_variable_name; in type in_variable_name; @@ -40,7 +39,7 @@ int main() 当我们特别谈论到顶点着色器的时候,每个输入变量也叫顶点属性(Vertex Attribute)。我们能声明的顶点属性是有上限的,它一般由硬件来决定。OpenGL确保至少有16个包含4分量的顶点属性可用,但是有些硬件或许允许更多的顶点属性,你可以查询GL_MAX_VERTEX_ATTRIBS来获取具体的上限: ```c++ -GLint nrAttributes; +unsigned int nrAttributes; glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &nrAttributes); std::cout << "Maximum nr of vertex attributes supported: " << nrAttributes << std::endl; ``` @@ -79,9 +78,9 @@ vec4 otherVec = someVec.xxxx + anotherVec.yxzy; 你可以使用上面4个字母任意组合来创建一个和原来向量一样长的(同类型)新向量,只要原来向量有那些分量即可;然而,你不允许在一个`vec2`向量中去获取`.z`元素。我们也可以把一个向量作为一个参数传给不同的向量构造函数,以减少需求参数的数量: ```c++ -vec2 vect = vec2(0.5f, 0.7f); -vec4 result = vec4(vect, 0.0f, 0.0f); -vec4 otherResult = vec4(result.xyz, 1.0f); +vec2 vect = vec2(0.5, 0.7); +vec4 result = vec4(vect, 0.0, 0.0); +vec4 otherResult = vec4(result.xyz, 1.0); ``` 向量是一种灵活的数据类型,我们可以把用在各种输入和输出上。学完教程你会看到很多新颖的管理向量的例子。 @@ -104,27 +103,27 @@ vec4 otherResult = vec4(result.xyz, 1.0f); ```c++ #version 330 core -layout (location = 0) in vec3 position; // position变量的属性位置值为0 +layout (location = 0) in vec3 aPos; // 位置变量的属性位置值为0 out vec4 vertexColor; // 为片段着色器指定一个颜色输出 void main() { - gl_Position = vec4(position, 1.0); // 注意我们如何把一个vec3作为vec4的构造器的参数 - vertexColor = vec4(0.5f, 0.0f, 0.0f, 1.0f); // 把输出变量设置为暗红色 + gl_Position = vec4(aPos, 1.0); // 注意我们如何把一个vec3作为vec4的构造器的参数 + vertexColor = vec4(0.5, 0.0, 0.0, 1.0); // 把输出变量设置为暗红色 } ``` **片段着色器** ```c++ #version 330 core +out vec4 FragColor; + in vec4 vertexColor; // 从顶点着色器传来的输入变量(名称相同、类型相同) -out vec4 color; // 片段着色器输出的变量名可以任意命名,类型必须是vec4 - void main() { - color = vertexColor; + FragColor = vertexColor; } ``` @@ -142,14 +141,14 @@ void main() ```c++ #version 330 core -out vec4 color; - +out vec4 FragColor; + uniform vec4 ourColor; // 在OpenGL程序代码中设定这个变量 void main() { - color = ourColor; -} + FragColor = ourColor; +} ``` 我们在片段着色器中声明了一个uniform `vec4`的ourColor,并把片段着色器的输出颜色设置为uniform值的内容。因为uniform是全局变量,我们可以在任何着色器中定义它们,而无需通过顶点着色器作为中介。顶点着色器中不需要这个uniform,所以我们不用在那里定义它。 @@ -161,16 +160,16 @@ void main() 这个uniform现在还是空的;我们还没有给它添加任何数据,所以下面我们就做这件事。我们首先需要找到着色器中uniform属性的索引/位置值。当我们得到uniform的索引/位置值后,我们就可以更新它的值了。这次我们不去给像素传递单独一个颜色,而是让它随着时间改变颜色: ```c++ -GLfloat timeValue = glfwGetTime(); -GLfloat greenValue = (sin(timeValue) / 2) + 0.5; -GLint vertexColorLocation = glGetUniformLocation(shaderProgram, "ourColor"); +float timeValue = glfwGetTime(); +float greenValue = (sin(timeValue) / 2.0f) + 0.5f; +int vertexColorLocation = glGetUniformLocation(shaderProgram, "ourColor"); glUseProgram(shaderProgram); glUniform4f(vertexColorLocation, 0.0f, greenValue, 0.0f, 1.0f); ``` 首先我们通过glfwGetTime()获取运行的秒数。然后我们使用sin函数让颜色在0.0到1.0之间改变,最后将结果储存到greenValue里。 -接着,我们用glGetUniformLocation查询uniform `ourColor`的位置值。我们为查询函数提供着色器程序和uniform的名字(这是我们希望获得的位置值的来源)。如果glGetUniformLocation返回`-1`就代表没有找到这个位置值。最后,我们可以通过glUniform4f函数设置uniform值。注意,查询uniform地址不要求你之前使用过着色器程序,但是更新一个uniform之前你**必须**先使用程序(调用glUseProgram),因为它是在当前激活的着色器程序中设置uniform的。 +接着,我们用glGetUniformLocation查询uniform ourColor的位置值。我们为查询函数提供着色器程序和uniform的名字(这是我们希望获得的位置值的来源)。如果glGetUniformLocation返回`-1`就代表没有找到这个位置值。最后,我们可以通过glUniform4f函数设置uniform值。注意,查询uniform地址不要求你之前使用过着色器程序,但是更新一个uniform之前你**必须**先使用程序(调用glUseProgram),因为它是在当前激活的着色器程序中设置uniform的。 !!! Important @@ -191,27 +190,30 @@ glUniform4f(vertexColorLocation, 0.0f, greenValue, 0.0f, 1.0f); ```c++ while(!glfwWindowShouldClose(window)) { - // 检测并调用事件 - glfwPollEvents(); + // 输入 + processInput(window); // 渲染 - // 清空颜色缓冲 + // 清除颜色缓冲 glClearColor(0.2f, 0.3f, 0.3f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); // 记得激活着色器 glUseProgram(shaderProgram); - + // 更新uniform颜色 - GLfloat timeValue = glfwGetTime(); - GLfloat greenValue = (sin(timeValue) / 2) + 0.5; - GLint vertexColorLocation = glGetUniformLocation(shaderProgram, "ourColor"); + float timeValue = glfwGetTime(); + float greenValue = sin(timeValue) / 2.0f + 0.5f; + int vertexColorLocation = glGetUniformLocation(shaderProgram, "ourColor"); glUniform4f(vertexColorLocation, 0.0f, greenValue, 0.0f, 1.0f); // 绘制三角形 glBindVertexArray(VAO); glDrawArrays(GL_TRIANGLES, 0, 3); - glBindVertexArray(0); + + // 交换缓冲并查询IO事件 + glfwSwapBuffers(window); + glfwPollEvents(); } ``` @@ -219,7 +221,7 @@ while(!glfwWindowShouldClose(window)) -如果你在哪儿卡住了,可以到[这里](http://www.learnopengl.com/code_viewer.php?code=getting-started/shaders-uniform)查看源码。 +如果你在哪儿卡住了,可以到[这里](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/3.1.shaders_uniform/shaders_uniform.cpp)查看源码。 可以看到,uniform对于设置一个在渲染迭代中会改变的属性是一个非常有用的工具,它也是一个在程序和着色器间数据交互的很好工具,但假如我们打算为每个顶点设置一个颜色的时候该怎么办?这种情况下,我们就不得不声明和顶点数目一样多的uniform了。在这一问题上更好的解决方案是在顶点属性中包含更多的数据,这是我们接下来要做的事情。 @@ -228,7 +230,7 @@ while(!glfwWindowShouldClose(window)) 在前面的教程中,我们了解了如何填充VBO、配置顶点属性指针以及如何把它们都储存到一个VAO里。这次,我们同样打算把颜色数据加进顶点数据中。我们将把颜色数据添加为3个float值至vertices数组。我们将把三角形的三个角分别指定为红色、绿色和蓝色: ```c++ -GLfloat vertices[] = { +float vertices[] = { // 位置 // 颜色 0.5f, -0.5f, 0.0f, 1.0f, 0.0f, 0.0f, // 右下 -0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 0.0f, // 左下 @@ -236,19 +238,19 @@ GLfloat vertices[] = { }; ``` -由于现在有更多的数据要发送到顶点着色器,我们有必要去调整一下顶点着色器,使它能够接收颜色值作为一个顶点属性输入。需要注意的是我们用`layout`标识符来把color属性的位置值设置为1: +由于现在有更多的数据要发送到顶点着色器,我们有必要去调整一下顶点着色器,使它能够接收颜色值作为一个顶点属性输入。需要注意的是我们用`layout`标识符来把aColor属性的位置值设置为1: ```c++ #version 330 core -layout (location = 0) in vec3 position; // 位置变量的属性位置值为 0 -layout (location = 1) in vec3 color; // 颜色变量的属性位置值为 1 - +layout (location = 0) in vec3 aPos; // 位置变量的属性位置值为 0 +layout (location = 1) in vec3 aColor; // 颜色变量的属性位置值为 1 + out vec3 ourColor; // 向片段着色器输出一个颜色 void main() { - gl_Position = vec4(position, 1.0); - ourColor = color; // 将ourColor设置为我们从顶点数据那里得到的输入颜色 + gl_Position = vec4(aPos, 1.0); + ourColor = aColor; // 将ourColor设置为我们从顶点数据那里得到的输入颜色 } ``` @@ -256,12 +258,12 @@ void main() ```c++ #version 330 core +out vec4 FragColor; in vec3 ourColor; -out vec4 color; void main() { - color = vec4(ourColor, 1.0f); + FragColor = vec4(ourColor, 1.0); } ``` @@ -273,23 +275,23 @@ void main() ```c++ // 位置属性 -glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(GLfloat), (GLvoid*)0); +glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)0); glEnableVertexAttribArray(0); // 颜色属性 -glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(GLfloat), (GLvoid*)(3* sizeof(GLfloat))); +glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)(3* sizeof(float))); glEnableVertexAttribArray(1); ``` glVertexAttribPointer函数的前几个参数比较明了。这次我们配置属性位置值为1的顶点属性。颜色值有3个float那么大,我们不去标准化这些值。 由于我们现在有了两个顶点属性,我们不得不重新计算**步长**值。为获得数据队列中下一个属性值(比如位置向量的下个`x`分量)我们必须向右移动6个float,其中3个是位置值,另外3个是颜色值。这使我们的步长值为6乘以float的字节数(=24字节)。 -同样,这次我们必须指定一个偏移量。对于每个顶点来说,位置顶点属性在前,所以它的偏移量是0。颜色属性紧随位置数据之后,所以偏移量就是`3 * sizeof(GLfloat)`,用字节来计算就是12字节。 +同样,这次我们必须指定一个偏移量。对于每个顶点来说,位置顶点属性在前,所以它的偏移量是0。颜色属性紧随位置数据之后,所以偏移量就是`3 * sizeof(float)`,用字节来计算就是12字节。 运行程序你应该会看到如下结果: ![](../img/01/05/shaders3.png) -如果你在哪卡住了,可以在[这里](http://learnopengl.com/code_viewer.php?code=getting-started/shaders-interpolated)查看源码。 +如果你在哪卡住了,可以在[这里](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/3.2.shaders_interpolation/shaders_interpolation.cpp)查看源码。 这个图片可能不是你所期望的那种,因为我们只提供了3个颜色,而不是我们现在看到的大调色板。这是在片段着色器中进行的所谓片段插值(Fragment Interpolation)的结果。当渲染一个三角形时,光栅化(Rasterization)阶段通常会造成比原指定顶点更多的片段。光栅会根据每个片段在三角形形状上所处相对位置决定这些片段的位置。 基于这些位置,它会插值(Interpolate)所有片段着色器的输入变量。比如说,我们有一个线段,上面的端点是绿色的,下面的端点是蓝色的。如果一个片段着色器在线段的70%的位置运行,它的颜色输入属性就会是一个绿色和蓝色的线性结合;更精确地说就是30%蓝 + 70%绿。 @@ -306,24 +308,30 @@ glEnableVertexAttribArray(1); #ifndef SHADER_H #define SHADER_H +#include ; // 包含glad来获取所有的必须OpenGL头文件 + #include #include #include #include - -#include ; // 包含glew来获取所有的必须OpenGL头文件 + class Shader { public: - // 程序ID - GLuint Program; - // 构造器读取并构建着色器 - Shader(const GLchar* vertexPath, const GLchar* fragmentPath); - // 使用程序 - void Use(); + // 程序ID + unsigned int ID; + + // 构造器读取并构建着色器 + Shader(const GLchar* vertexPath, const GLchar* fragmentPath); + // 使用/激活程序 + void use(); + // uniform工具函数 + void setBool(const std::string &name, bool value) const; + void setInt(const std::string &name, int value) const; + void setFloat(const std::string &name, float value) const; }; - + #endif ``` @@ -331,14 +339,14 @@ public: 在上面,我们在头文件顶部使用了几个预处理指令(Preprocessor Directives)。这些预处理指令会告知你的编译器只在它没被包含过的情况下才包含和编译这个头文件,即使多个文件都包含了这个着色器头文件。它是用来防止链接冲突的。 -着色器类储存了着色器程序的ID。它的构造器需要顶点和片段着色器源代码的文件路径,这样我们就可以把源码的文本文件储存在硬盘上了。我们还添加了一个Use函数,它其实不那么重要,但是能够显示这个自造类如何让我们的生活变得轻松(虽然只有一点)。 +着色器类储存了着色器程序的ID。它的构造器需要顶点和片段着色器源代码的文件路径,这样我们就可以把源码的文本文件储存在硬盘上了。除此之外,为了让我们的生活更轻松一点,还加入了一些工具函数:use用来激活着色器程序,所有的set...函数能够查询一个unform的位置值并设置它的值。 ## 从文件读取 我们使用C++文件流读取着色器内容,储存到几个`string`对象里: ```c++ -Shader(const GLchar* vertexPath, const GLchar* fragmentPath) +Shader(const char* vertexPath, const char* fragmentPath) { // 1. 从文件路径中获取顶点/片段着色器 std::string vertexCode; @@ -346,30 +354,30 @@ Shader(const GLchar* vertexPath, const GLchar* fragmentPath) std::ifstream vShaderFile; std::ifstream fShaderFile; // 保证ifstream对象可以抛出异常: - vShaderFile.exceptions(std::ifstream::badbit); - fShaderFile.exceptions(std::ifstream::badbit); + vShaderFile.exceptions (std::ifstream::failbit | std::ifstream::badbit); + fShaderFile.exceptions (std::ifstream::failbit | std::ifstream::badbit); try { // 打开文件 vShaderFile.open(vertexPath); fShaderFile.open(fragmentPath); std::stringstream vShaderStream, fShaderStream; - // 读取文件的缓冲内容到流中 + // 读取文件的缓冲内容到数据流中 vShaderStream << vShaderFile.rdbuf(); fShaderStream << fShaderFile.rdbuf(); - // 关闭文件 + // 关闭文件处理器 vShaderFile.close(); fShaderFile.close(); - // 转换流至GLchar数组 - vertexCode = vShaderStream.str(); + // 转换数据流到string + vertexCode = vShaderStream.str(); fragmentCode = fShaderStream.str(); } catch(std::ifstream::failure e) { std::cout << "ERROR::SHADER::FILE_NOT_SUCCESFULLY_READ" << std::endl; } - const GLchar* vShaderCode = vertexCode.c_str(); - const GLchar* fShaderCode = fragmentCode.c_str(); + const char* vShaderCode = vertexCode.c_str(); + const char* fShaderCode = fragmentCode.c_str(); [...] ``` @@ -377,10 +385,10 @@ Shader(const GLchar* vertexPath, const GLchar* fragmentPath) ```c++ // 2. 编译着色器 -GLuint vertex, fragment; -GLint success; -GLchar infoLog[512]; - +unsigned int vertex, fragment; +int success; +char infoLog[512]; + // 顶点着色器 vertex = glCreateShader(GL_VERTEX_SHADER); glShaderSource(vertex, 1, &vShaderCode, NULL); @@ -414,7 +422,7 @@ glDeleteShader(vertex); glDeleteShader(fragment); ``` -最后我们也会实现Use函数: +use函数非常简单: ```c++ void Use() @@ -423,25 +431,42 @@ void Use() } ``` -现在我们就写完了一个完整的着色器类。使用这个着色器类很简单;只要创建一个着色器对象,从那一点开始我们就可以开始使用了: +uniform的setter函数也很类似: ```c++ -Shader ourShader("path/to/shaders/shader.vs", "path/to/shaders/shader.frag"); +void setBool(const std::string &name, bool value) const +{ + glUniform1i(glGetUniformLocation(ID, name.c_str()), (int)value); +} +void setInt(const std::string &name, int value) const +{ + glUniform1i(glGetUniformLocation(ID, name.c_str()), value); +} +void setFloat(const std::string &name, float value) const +{ + glUniform1f(glGetUniformLocation(ID, name.c_str()), value); +} +``` + +现在我们就写完了一个完整的[着色器类](https://learnopengl.com/code_viewer_gh.php?code=includes/learnopengl/shader_s.h)。使用这个着色器类很简单;只要创建一个着色器对象,从那一点开始我们就可以开始使用了: + +```c++ +Shader ourShader("path/to/shaders/shader.vs", "path/to/shaders/shader.fs"); ... while(...) { - ourShader.Use(); - glUniform1f(glGetUniformLocation(ourShader.Program, "someUniform"), 1.0f); + ourShader.use(); + ourShader.setFloat("someUniform", 1.0f); DrawStuff(); } ``` -我们把顶点和片段着色器储存为两个叫做`shader.vs`和`shader.frag`的文件。你可以使用自己喜欢的名字命名着色器文件;我自己觉得用`.vs`和`.frag`作为扩展名很直观。 +我们把顶点和片段着色器储存为两个叫做`shader.vs`和`shader.fs`的文件。你可以使用自己喜欢的名字命名着色器文件;我自己觉得用`.vs`和`.fs`作为扩展名很直观。 -源码:[使用新着色器类的程序](http://learnopengl.com/code_viewer.php?code=getting-started/shaders-using-object),[着色器类](http://learnopengl.com/code_viewer.php?type=header&code=shader),[顶点着色器](http://learnopengl.com/code_viewer.php?type=vertex&code=getting-started/basic),和[片段着色器](http://learnopengl.com/code_viewer.php?type=fragment&code=getting-started/basic)。 +你可以在[这里](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/3.3.shaders_class/shaders_class.cpp)找到使用[新着色器类](https://learnopengl.com/code_viewer_gh.php?code=includes/learnopengl/shader_s.h)的源代码。注意你可以点击源码中的着色器文件路径来查看每一个着色器的源代码。 # 练习 -1. 修改顶点着色器让三角形上下颠倒:[参考解答](http://learnopengl.com/code_viewer.php?code=getting-started/shaders-exercise1) -2. 使用uniform定义一个水平偏移量,在顶点着色器中使用这个偏移量把三角形移动到屏幕右侧:[参考解答](http://learnopengl.com/code_viewer.php?code=getting-started/shaders-exercise2) -3. 使用`out`关键字把顶点位置输出到片段着色器,并将片段的颜色设置为与顶点位置相等(来看看连顶点位置值都在三角形中被插值的结果)。做完这些后,尝试回答下面的问题:为什么在三角形的左下角是黑的?:[参考解答](http://learnopengl.com/code_viewer.php?code=getting-started/shaders-exercise3) +1. 修改顶点着色器让三角形上下颠倒:[参考解答](https://learnopengl.com/code_viewer.php?code=getting-started/shaders-exercise1) +2. 使用uniform定义一个水平偏移量,在顶点着色器中使用这个偏移量把三角形移动到屏幕右侧:[参考解答](https://learnopengl.com/code_viewer.php?code=getting-started/shaders-exercise2) +3. 使用`out`关键字把顶点位置输出到片段着色器,并将片段的颜色设置为与顶点位置相等(来看看连顶点位置值都在三角形中被插值的结果)。做完这些后,尝试回答下面的问题:为什么在三角形的左下角是黑的?:[参考解答](https://learnopengl.com/code_viewer.php?code=getting-started/shaders-exercise3) From 1e5303433fc6fd08fba930a33bc9f7b4ca74fcc0 Mon Sep 17 00:00:00 2001 From: Meow J Date: Sat, 17 Jun 2017 21:07:38 +0800 Subject: [PATCH 12/21] Update 01-06 --- docs/01 Getting started/06 Textures.md | 147 ++++++++++++++----------- docs/img/01/06/textures_exercise2.png | Bin 0 -> 80770 bytes docs/legacy.md | 147 ++++++++++++++++++++++++- 3 files changed, 231 insertions(+), 63 deletions(-) create mode 100644 docs/img/01/06/textures_exercise2.png diff --git a/docs/01 Getting started/06 Textures.md b/docs/01 Getting started/06 Textures.md index c138375..9d787b3 100644 --- a/docs/01 Getting started/06 Textures.md +++ b/docs/01 Getting started/06 Textures.md @@ -29,7 +29,7 @@ 纹理坐标看起来就像这样: ```c++ -GLfloat texCoords[] = { +float texCoords[] = { 0.0f, 0.0f, // 左下角 1.0f, 0.0f, // 右下角 0.5f, 1.0f // 上中 @@ -131,31 +131,38 @@ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 使用纹理之前要做的第一件事是把它们加载到我们的应用中。纹理图像可能被储存为各种各样的格式,每种都有自己的数据结构和排列,所以我们如何才能把这些图像加载到应用中呢?一个解决方案是选一个需要的文件格式,比如`.PNG`,然后自己写一个图像加载器,把图像转化为字节序列。写自己的图像加载器虽然不难,但仍然挺麻烦的,而且如果要支持更多文件格式呢?你就不得不为每种你希望支持的格式写加载器了。 -另一个解决方案也许是一种更好的选择,使用一个支持多种流行格式的图像加载库来为我们解决这个问题。比如说我们要用的SOIL库。 +另一个解决方案也许是一种更好的选择,使用一个支持多种流行格式的图像加载库来为我们解决这个问题。比如说我们要用的`stb_image.h`库。 -## SOIL +## stb_image.h -SOIL是简易OpenGL图像库(Simple OpenGL Image Library)的缩写,它支持大多数流行的图像格式,使用起来也很简单,你可以从他们的[主页](http://www.lonesock.net/soil.html)下载。像其它库一样,你必须自己生成**.lib**。你可以使用**/projects**文件夹内的任意一个解决方案(Solution)文件(不用担心他们的Visual Studio版本太老,你可以把它们转变为新的版本,这一般是没问题的。译注:用VS2010的时候,你要用VC8而不是VC9的解决方案,想必更高版本的情况亦是如此)来生成你自己的**.lib**文件。你还要添加**src**文件夹里面的文件到你的**includes**文件夹;对了,不要忘记添加**SOIL.lib**到你的链接器选项,并在你代码文件的开头加上`#include `。 - -下面的教程中,我们会使用一张[木箱](../img/01/06/container.jpg)的图片。要使用SOIL加载图片,我们需要使用它的SOIL_load_image函数: +`stb_image.h`是[Sean Barrett](https://github.com/nothings)的一个非常流行的单头文件图像加载库,它能够加载大部分流行的文件格式,并且能够很简单得整合到你的工程之中。`stb_image.h`可以在[这里](https://github.com/nothings/stb/blob/master/stb_image.h)下载。下载这一个头文件,将它以`stb_image.h`的名字加入你的工程,并另创建一个新的C++文件,输入以下代码: ```c++ -int width, height; -unsigned char* image = SOIL_load_image("container.jpg", &width, &height, 0, SOIL_LOAD_RGB); +#define STB_IMAGE_IMPLEMENTATION +#include "stb_image.h" ``` -函数首先需要输入图片文件的路径。然后需要两个`int`指针作为第二个和第三个参数,SOIL会分别返回图片的**宽度**和**高度**到其中。后面我们在生成纹理的时候会用图像的宽度和高度。第四个参数指定图片的**通道**(Channel)数量,但是这里我们只需留为`0`。最后一个参数告诉SOIL如何来加载图片:我们只关注图片的`RGB`值。结果会储存为一个很大的char/byte数组。 +通过定义STB_IMAGE_IMPLEMENTATION,预处理器会修改头文件,让其只包含相关的函数定义源码,等于是将这个头文件变为一个 `.cpp` 文件了。现在只需要在你的程序中包含`stb_image.h`并编译就可以了。 + +下面的教程中,我们会使用一张[木箱](../img/01/06/container.jpg)的图片。要使用`stb_image.h`加载图片,我们需要使用它的stbi_load函数: + +```c++ +int width, height, nrChannels; +unsigned char *data = stbi_load("container.jpg", &width, &height, &nrChannels, 0); +``` + +这个函数首先接受一个图像文件的位置作为输入。接下来它需要三个`int`作为它的第二、第三和第四个参数,`stb_image.h`将会用图像的**宽度**、**高度**和**颜色通道的个数**填充这三个变量。我们之后生成纹理的时候会用到的图像的宽度和高度的。 ## 生成纹理 和之前生成的OpenGL对象一样,纹理也是使用ID引用的。让我们来创建一个: ```c++ -GLuint texture; +unsigned int texture; glGenTextures(1, &texture); ``` -glGenTextures函数首先需要输入生成纹理的数量,然后把它们储存在第二个参数的`GLuint`数组中(我们的例子中只是一个单独的`GLuint`),就像其他对象一样,我们需要绑定它,让之后任何的纹理指令都可以配置当前绑定的纹理: +glGenTextures函数首先需要输入生成纹理的数量,然后把它们储存在第二个参数的`unsigned int`数组中(我们的例子中只是单独的一个`unsigned int`),就像其他对象一样,我们需要绑定它,让之后任何的纹理指令都可以配置当前绑定的纹理: ```c++ glBindTexture(GL_TEXTURE_2D, texture); @@ -164,7 +171,7 @@ glBindTexture(GL_TEXTURE_2D, texture); 现在纹理已经绑定了,我们可以使用前面载入的图片数据生成一个纹理了。纹理可以通过glTexImage2D来生成: ```c++ -glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image); +glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data); glGenerateMipmap(GL_TEXTURE_2D); ``` @@ -174,34 +181,42 @@ glGenerateMipmap(GL_TEXTURE_2D); - 第二个参数为纹理指定多级渐远纹理的级别,如果你希望单独手动设置每个多级渐远纹理的级别的话。这里我们填0,也就是基本级别。 - 第三个参数告诉OpenGL我们希望把纹理储存为何种格式。我们的图像只有`RGB`值,因此我们也把纹理储存为`RGB`值。 - 第四个和第五个参数设置最终的纹理的宽度和高度。我们之前加载图像的时候储存了它们,所以我们使用对应的变量。 -- 下个参数应该总是被设为`0`(历史遗留问题)。 +- 下个参数应该总是被设为`0`(历史遗留的问题)。 - 第七第八个参数定义了源图的格式和数据类型。我们使用RGB值加载这个图像,并把它们储存为`char`(byte)数组,我们将会传入对应值。 - 最后一个参数是真正的图像数据。 当调用glTexImage2D时,当前绑定的纹理对象就会被附加上纹理图像。然而,目前只有基本级别(Base-level)的纹理图像被加载了,如果要使用多级渐远纹理,我们必须手动设置所有不同的图像(不断递增第二个参数)。或者,直接在生成纹理之后调用glGenerateMipmap。这会为当前绑定的纹理自动生成所有需要的多级渐远纹理。 -生成了纹理和相应的多级渐远纹理后,释放图像的内存并解绑纹理对象是一个很好的习惯。 +生成了纹理和相应的多级渐远纹理后,释放图像的内存是一个很好的习惯。 ```c++ -SOIL_free_image_data(image); -glBindTexture(GL_TEXTURE_2D, 0); +stbi_image_free(data); ``` 生成一个纹理的过程应该看起来像这样: ```c++ -GLuint texture; +unsigned int texture; glGenTextures(1, &texture); glBindTexture(GL_TEXTURE_2D, texture); // 为当前绑定的纹理对象设置环绕、过滤方式 -... +glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); +glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); +glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); +glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); // 加载并生成纹理 -int width, height; -unsigned char* image = SOIL_load_image("container.jpg", &width, &height, 0, SOIL_LOAD_RGB); -glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image); -glGenerateMipmap(GL_TEXTURE_2D); -SOIL_free_image_data(image); -glBindTexture(GL_TEXTURE_2D, 0); +int width, height, nrChannels; +unsigned char *data = stbi_load("container.jpg", &width, &height, &nrChannels, 0); +if (data) +{ + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data); + glGenerateMipmap(GL_TEXTURE_2D); +} +else +{ + std::cout << "Failed to load texture" << std::endl; +} +stbi_image_free(data); ``` ## 应用纹理 @@ -209,7 +224,7 @@ glBindTexture(GL_TEXTURE_2D, 0); 后面的这部分我们会使用glDrawElements绘制[「你好,三角形」](04 Hello Triangle.md)教程最后一部分的矩形。我们需要告知OpenGL如何采样纹理,所以我们必须使用纹理坐标更新顶点数据: ```c++ -GLfloat vertices[] = { +float vertices[] = { // ---- 位置 ---- ---- 颜色 ---- - 纹理坐标 - 0.5f, 0.5f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, // 右上 0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, // 右下 @@ -223,46 +238,46 @@ GLfloat vertices[] = { ![](../img/01/06/vertex_attribute_pointer_interleaved_textures.png) ```c++ -glVertexAttribPointer(2, 2, GL_FLOAT,GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)(6 * sizeof(GLfloat))); +glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 8 * sizeof(float), (void*)(6 * sizeof(float))); glEnableVertexAttribArray(2); ``` -注意,我们同样需要调整前面两个顶点属性的步长参数为`8 * sizeof(GLfloat)`。 +注意,我们同样需要调整前面两个顶点属性的步长参数为`8 * sizeof(float)`。 接着我们需要调整顶点着色器使其能够接受顶点坐标为一个顶点属性,并把坐标传给片段着色器: ```c++ #version 330 core -layout (location = 0) in vec3 position; -layout (location = 1) in vec3 color; -layout (location = 2) in vec2 texCoord; +layout (location = 0) in vec3 aPos; +layout (location = 1) in vec3 aColor; +layout (location = 2) in vec2 aTexCoord; out vec3 ourColor; out vec2 TexCoord; void main() { - gl_Position = vec4(position, 1.0f); - ourColor = color; - TexCoord = texCoord; + gl_Position = vec4(aPos, 1.0); + ourColor = aColor; + TexCoord = aTexCoord; } ``` -片段着色器应该把输出变量`TexCoord`作为输入变量。 +片段着色器应该接下来会把输出变量`TexCoord`作为输入变量。 片段着色器也应该能访问纹理对象,但是我们怎样能把纹理对象传给片段着色器呢?GLSL有一个供纹理对象使用的内建数据类型,叫做采样器(Sampler),它以纹理类型作为后缀,比如`sampler1D`、`sampler3D`,或在我们的例子中的`sampler2D`。我们可以简单声明一个`uniform sampler2D`把一个纹理添加到片段着色器中,稍后我们会把纹理赋值给这个uniform。 ```c++ #version 330 core +out vec4 FragColor; + in vec3 ourColor; in vec2 TexCoord; -out vec4 color; - uniform sampler2D ourTexture; void main() { - color = texture(ourTexture, TexCoord); + FragColor = texture(ourTexture, TexCoord); } ``` @@ -274,19 +289,22 @@ void main() glBindTexture(GL_TEXTURE_2D, texture); glBindVertexArray(VAO); glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); -glBindVertexArray(0); ``` 如果你跟着这个教程正确地做完了,你会看到下面的图像: ![](../img/01/06/textures2.png) -如果你的矩形是全黑或全白的你可能在哪儿做错了什么。检查你的着色器日志,并尝试对比一下[源码](http://learnopengl.com/code_viewer.php?code=getting-started/textures)。 +如果你的矩形是全黑或全白的你可能在哪儿做错了什么。检查你的着色器日志,并尝试对比一下[源码](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/4.1.textures/textures.cpp)。 + +!!! attention + + 如果你的纹理代码不能正常工作或者显示是全黑,请继续阅读,并一直跟进我们的代码到最后的例子,它是应该能够工作的。在一些驱动中,必须要对每个采样器uniform都附加上纹理单元才可以,这个会在下面介绍。 我们还可以把得到的纹理颜色与顶点颜色混合,来获得更有趣的效果。我们只需把纹理颜色与顶点颜色在片段着色器中相乘来混合二者的颜色: ```c++ -color = texture(ourTexture, TexCoord) * vec4(ourColor, 1.0f); +FragColor = texture(ourTexture, TexCoord) * vec4(ourColor, 1.0); ``` 最终的效果应该是顶点颜色和纹理颜色的混合色: @@ -302,7 +320,7 @@ color = texture(ourTexture, TexCoord) * vec4(ourColor, 1.0f); 纹理单元的主要目的是让我们在着色器中可以使用多于一个的纹理。通过把纹理单元赋值给采样器,我们可以一次绑定多个纹理,只要我们首先激活对应的纹理单元。就像glBindTexture一样,我们可以使用glActiveTexture激活纹理单元,传入我们需要使用的纹理单元: ```c++ -glActiveTexture(GL_TEXTURE0); //在绑定纹理之前先激活纹理单元 +glActiveTexture(GL_TEXTURE0); // 在绑定纹理之前先激活纹理单元 glBindTexture(GL_TEXTURE_2D, texture); ``` @@ -323,7 +341,7 @@ uniform sampler2D ourTexture2; void main() { - color = mix(texture(ourTexture1, TexCoord), texture(ourTexture2, TexCoord), 0.2); + FragColor = mix(texture(ourTexture1, TexCoord), texture(ourTexture2, TexCoord), 0.2); } ``` @@ -336,42 +354,47 @@ void main() ```c++ glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, texture1); -glUniform1i(glGetUniformLocation(ourShader.Program, "ourTexture1"), 0); glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, texture2); -glUniform1i(glGetUniformLocation(ourShader.Program, "ourTexture2"), 1); glBindVertexArray(VAO); -glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); -glBindVertexArray(0); +glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); ``` -注意,我们使用glUniform1i设置uniform采样器的位置值,或者说纹理单元。通过glUniform1i的设置,我们保证每个uniform采样器对应着正确的纹理单元。你应该能得到下面的结果: +我们还要通过使用glUniform1i设置每个采样器的方式告诉OpenGL每个着色器采样器属于哪个纹理单元。我们只需要设置一次即可,所以这个会放在渲染循环的前面: + +```c++ +ourShader.use(); // 别忘记在激活着色器前先设置uniform! +glUniform1i(glGetUniformLocation(ourShader.ID, "texture1"), 0); // 手动设置 +ourShader.setInt("texture2", 1); // 或者使用着色器类设置 + +while(...) +{ + [...] +} +``` + +通过使用glUniform1i设置采样器,我们保证了每个uniform采样器对应着正确的纹理单元。你应该能得到下面的结果: ![](../img/01/06/textures_combined.png) -你可能注意到纹理上下颠倒了!这是因为OpenGL要求y轴`0.0`坐标是在图片的底部的,但是图片的y轴`0.0`坐标通常在顶部。一些图片加载器比如[DevIL](http://openil.sourceforge.net/tuts/tut_10/index.htm)在加载的时候有选项重置y原点,但是SOIL没有。SOIL却有一个叫做SOIL_load_OGL_texture函数可以使用一个叫做SOIL_FLAG_INVERT_Y的标记加载**并**生成纹理,这可以解决我们的问题。不过这个函数用了一些在现代OpenGL中失效的特性,所以现在我们仍需坚持使用SOIL_load_image,自己做纹理的生成。 +你可能注意到纹理上下颠倒了!这是因为OpenGL要求y轴`0.0`坐标是在图片的底部的,但是图片的y轴`0.0`坐标通常在顶部。很幸运,`stb_image.h`能够在图像加载时帮助我们翻转y轴,只需要在加载任何图像前加入以下语句即可: -所以修复我们的小问题,有两个选择: +```c++ +stbi_set_flip_vertically_on_load(true); +``` -1. 我们可以改变顶点数据的纹理坐标,翻转`y`值(用1减去y坐标)。 -2. 我们可以编辑顶点着色器来自动翻转`y`坐标,替换`TexCoord`的值为`TexCoord = vec2(texCoord.x, 1.0f - texCoord.y);`。 - -!!! Attention - - 上面提供的解决方案仅仅通过一些黑科技让图片翻转。它们在大多数情况下都能正常工作,然而实际上这种方案的效果取决于你的实现和纹理,所以最好的解决方案是调整你的图片加载器,或者以一种y原点符合OpenGL需求的方式编辑你的纹理图像。 - -如果你编辑了顶点数据,在顶点着色器中翻转了纵坐标,你会得到下面的结果: +在让`stb_image.h`在加载图片时翻转y轴之后你就应该能够获得下面的结果了: ![](../img/01/06/textures_combined2.png) -如果你看到了一个开心的箱子,你就做对了。你可以对比一下[源代码](http://learnopengl.com/code_viewer.php?code=getting-started/textures_combined),以及[顶点着](http://learnopengl.com/code_viewer.php?type=vertex&code=getting-started/texture)和[片段](http://learnopengl.com/code_viewer.php?type=fragment&code=getting-started/texture)着色器。 +如果你看到了一个开心的箱子,你就做对了。你可以对比一下[源代码](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/4.2.textures_combined/textures_combined.cpp)。 ## 练习 为了更熟练地使用纹理,建议在继续之后的学习之前做完这些练习: -- 修改片段着色器,**仅**让笑脸图案朝另一个方向看,[参考解答](http://learnopengl.com/code_viewer.php?code=getting-started/textures-exercise1) -- 尝试用不同的纹理环绕方式,设定一个从`0.0f`到`2.0f`范围内的(而不是原来的`0.0f`到`1.0f`)纹理坐标。试试看能不能在箱子的角落放置4个笑脸:[参考解答](http://learnopengl.com/code_viewer.php?code=getting-started/textures-exercise2),[结果](http://learnopengl.com/img/getting-started/textures_exercise2.png)。记得一定要试试其他的环绕方式。 -- 尝试在矩形上只显示纹理图像的中间一部分,修改纹理坐标,达到能看见单个的像素的效果。尝试使用GL_NEAREST的纹理过滤方式让像素显示得更清晰:[参考解答](http://learnopengl.com/code_viewer.php?code=getting-started/textures-exercise3) -- 使用一个uniform变量作为mix函数的第三个参数来改变两个纹理可见度,使用上和下键来改变箱子或笑脸的可见度:[参考解答](http://learnopengl.com/code_viewer.php?code=getting-started/textures-exercise4),[片段着色器](http://learnopengl.com/code_viewer.php?code=getting-started/textures-exercise4_fragment)。 +- 修改片段着色器,**仅**让笑脸图案朝另一个方向看,[参考解答](https://learnopengl.com/code_viewer.php?code=getting-started/textures-exercise1) +- 尝试用不同的纹理环绕方式,设定一个从`0.0f`到`2.0f`范围内的(而不是原来的`0.0f`到`1.0f`)纹理坐标。试试看能不能在箱子的角落放置4个笑脸:[参考解答](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/4.3.textures_exercise2/textures_exercise2.cpp),[结果](../img/01/06/textures_exercise2.png)。记得一定要试试其它的环绕方式。 +- 尝试在矩形上只显示纹理图像的中间一部分,修改纹理坐标,达到能看见单个的像素的效果。尝试使用GL_NEAREST的纹理过滤方式让像素显示得更清晰:[参考解答](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/4.4.textures_exercise3/textures_exercise3.cpp) +- 使用一个uniform变量作为mix函数的第三个参数来改变两个纹理可见度,使用上和下键来改变箱子或笑脸的可见度:[参考解答](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/4.5.textures_exercise4/textures_exercise4.cpp)。 diff --git a/docs/img/01/06/textures_exercise2.png b/docs/img/01/06/textures_exercise2.png new file mode 100644 index 0000000000000000000000000000000000000000..6c1e91df761607af52ecdc885aff6cc6a2471939 GIT binary patch literal 80770 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�^xOun%-rcK8g7&#~ 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 gDn`。 + +下面的教程中,我们会使用一张[木箱](img/01/06/container.jpg)的图片。要使用SOIL加载图片,我们需要使用它的SOIL_load_image函数: + +```c++ +int width, height; +unsigned char* image = SOIL_load_image("container.jpg", &width, &height, 0, SOIL_LOAD_RGB); +``` + +函数首先需要输入图片文件的路径。然后需要两个`int`指针作为第二个和第三个参数,SOIL会分别返回图片的**宽度**和**高度**到其中。后面我们在生成纹理的时候会用图像的宽度和高度。第四个参数指定图片的**通道**(Channel)数量,但是这里我们只需留为`0`。最后一个参数告诉SOIL如何来加载图片:我们只关注图片的`RGB`值。结果会储存为一个很大的char/byte数组。 + +### 生成纹理 + +和之前生成的OpenGL对象一样,纹理也是使用ID引用的。让我们来创建一个: + +```c++ +GLuint texture; +glGenTextures(1, &texture); +``` + +glGenTextures函数首先需要输入生成纹理的数量,然后把它们储存在第二个参数的`GLuint`数组中(我们的例子中只是一个单独的`GLuint`),就像其他对象一样,我们需要绑定它,让之后任何的纹理指令都可以配置当前绑定的纹理: + +```c++ +glBindTexture(GL_TEXTURE_2D, texture); +``` + +现在纹理已经绑定了,我们可以使用前面载入的图片数据生成一个纹理了。纹理可以通过glTexImage2D来生成: + +```c++ +glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image); +glGenerateMipmap(GL_TEXTURE_2D); +``` + +函数很长,参数也不少,所以我们一个一个地讲解: + +- 第一个参数指定了纹理目标(Target)。设置为GL_TEXTURE_2D意味着会生成与当前绑定的纹理对象在同一个目标上的纹理(任何绑定到GL_TEXTURE_1DGL_TEXTURE_3D的纹理不会受到影响)。 +- 第二个参数为纹理指定多级渐远纹理的级别,如果你希望单独手动设置每个多级渐远纹理的级别的话。这里我们填0,也就是基本级别。 +- 第三个参数告诉OpenGL我们希望把纹理储存为何种格式。我们的图像只有`RGB`值,因此我们也把纹理储存为`RGB`值。 +- 第四个和第五个参数设置最终的纹理的宽度和高度。我们之前加载图像的时候储存了它们,所以我们使用对应的变量。 +- 下个参数应该总是被设为`0`(历史遗留问题)。 +- 第七第八个参数定义了源图的格式和数据类型。我们使用RGB值加载这个图像,并把它们储存为`char`(byte)数组,我们将会传入对应值。 +- 最后一个参数是真正的图像数据。 + +当调用glTexImage2D时,当前绑定的纹理对象就会被附加上纹理图像。然而,目前只有基本级别(Base-level)的纹理图像被加载了,如果要使用多级渐远纹理,我们必须手动设置所有不同的图像(不断递增第二个参数)。或者,直接在生成纹理之后调用glGenerateMipmap。这会为当前绑定的纹理自动生成所有需要的多级渐远纹理。 + +生成了纹理和相应的多级渐远纹理后,释放图像的内存并解绑纹理对象是一个很好的习惯。 + +```c++ +SOIL_free_image_data(image); +glBindTexture(GL_TEXTURE_2D, 0); +``` + +生成一个纹理的过程应该看起来像这样: + +```c++ +GLuint texture; +glGenTextures(1, &texture); +glBindTexture(GL_TEXTURE_2D, texture); +// 为当前绑定的纹理对象设置环绕、过滤方式 +... +// 加载并生成纹理 +int width, height; +unsigned char* image = SOIL_load_image("container.jpg", &width, &height, 0, SOIL_LOAD_RGB); +glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image); +glGenerateMipmap(GL_TEXTURE_2D); +SOIL_free_image_data(image); +glBindTexture(GL_TEXTURE_2D, 0); +``` + +### 纹理单元 + +你可能会奇怪为什么`sampler2D`变量是个uniform,我们却不用glUniform给它赋值。使用glUniform1i,我们可以给纹理采样器分配一个位置值,这样的话我们能够在一个片段着色器中设置多个纹理。一个纹理的位置值通常称为一个纹理单元(Texture Unit)。一个纹理的默认纹理单元是0,它是默认的激活纹理单元,所以教程前面部分我们没有分配一个位置值。 + +纹理单元的主要目的是让我们在着色器中可以使用多于一个的纹理。通过把纹理单元赋值给采样器,我们可以一次绑定多个纹理,只要我们首先激活对应的纹理单元。就像glBindTexture一样,我们可以使用glActiveTexture激活纹理单元,传入我们需要使用的纹理单元: + +```c++ +glActiveTexture(GL_TEXTURE0); //在绑定纹理之前先激活纹理单元 +glBindTexture(GL_TEXTURE_2D, texture); +``` + +激活纹理单元之后,接下来的glBindTexture函数调用会绑定这个纹理到当前激活的纹理单元,纹理单元GL_TEXTURE0默认总是被激活,所以我们在前面的例子里当我们使用`glBindTexture`的时候,无需激活任何纹理单元。 + +!!! Important + + OpenGL至少保证有16个纹理单元供你使用,也就是说你可以激活从GL_TEXTURE0GL_TEXTRUE15。它们都是按顺序定义的,所以我们也可以通过GL_TEXTURE0 + 8的方式获得GL_TEXTURE8,这在当我们需要循环一些纹理单元的时候会很有用。 + +我们仍然需要编辑片段着色器来接收另一个采样器。这应该相对来说非常直接了: + +```c++ +#version 330 core +... + +uniform sampler2D ourTexture1; +uniform sampler2D ourTexture2; + +void main() +{ + color = mix(texture(ourTexture1, TexCoord), texture(ourTexture2, TexCoord), 0.2); +} +``` + +最终输出颜色现在是两个纹理的结合。GLSL内建的mix函数需要接受两个值作为参数,并对它们根据第三个参数进行线性插值。。如果第三个值是`0.0`,它会返回第一个输入;如果是`1.0`,会返回第二个输入值。`0.2`会返回`80%`的第一个输入颜色和`20%`的第二个输入颜色,即返回两个纹理的混合色。 + +我们现在需要载入并创建另一个纹理;你应该对这些步骤很熟悉了。记得创建另一个纹理对象,载入图片,使用glTexImage2D生成最终纹理。对于第二个纹理我们使用一张[你学习OpenGL时的面部表情](img/01/06/awesomeface.png)图片。 + +为了使用第二个纹理(以及第一个),我们必须改变一点渲染流程,先绑定两个纹理到对应的纹理单元,然后定义哪个uniform采样器对应哪个纹理单元: + +```c++ +glActiveTexture(GL_TEXTURE0); +glBindTexture(GL_TEXTURE_2D, texture1); +glUniform1i(glGetUniformLocation(ourShader.Program, "ourTexture1"), 0); +glActiveTexture(GL_TEXTURE1); +glBindTexture(GL_TEXTURE_2D, texture2); +glUniform1i(glGetUniformLocation(ourShader.Program, "ourTexture2"), 1); + +glBindVertexArray(VAO); +glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); +glBindVertexArray(0); +``` + +注意,我们使用glUniform1i设置uniform采样器的位置值,或者说纹理单元。通过glUniform1i的设置,我们保证每个uniform采样器对应着正确的纹理单元。你应该能得到下面的结果: + +![](img/01/06/textures_combined.png) + +你可能注意到纹理上下颠倒了!这是因为OpenGL要求y轴`0.0`坐标是在图片的底部的,但是图片的y轴`0.0`坐标通常在顶部。一些图片加载器比如[DevIL](http://openil.sourceforge.net/tuts/tut_10/index.htm)在加载的时候有选项重置y原点,但是SOIL没有。SOIL却有一个叫做SOIL_load_OGL_texture函数可以使用一个叫做SOIL_FLAG_INVERT_Y的标记加载**并**生成纹理,这可以解决我们的问题。不过这个函数用了一些在现代OpenGL中失效的特性,所以现在我们仍需坚持使用SOIL_load_image,自己做纹理的生成。 + +所以修复我们的小问题,有两个选择: + +1. 我们可以改变顶点数据的纹理坐标,翻转`y`值(用1减去y坐标)。 +2. 我们可以编辑顶点着色器来自动翻转`y`坐标,替换`TexCoord`的值为`TexCoord = vec2(texCoord.x, 1.0f - texCoord.y);`。 + +!!! Attention + + 上面提供的解决方案仅仅通过一些黑科技让图片翻转。它们在大多数情况下都能正常工作,然而实际上这种方案的效果取决于你的实现和纹理,所以最好的解决方案是调整你的图片加载器,或者以一种y原点符合OpenGL需求的方式编辑你的纹理图像。 + +如果你编辑了顶点数据,在顶点着色器中翻转了纵坐标,你会得到下面的结果: + +![](img/01/06/textures_combined2.png) + +如果你看到了一个开心的箱子,你就做对了。你可以对比一下[源代码](http://learnopengl.com/code_viewer.php?code=getting-started/textures_combined),以及[顶点着](http://learnopengl.com/code_viewer.php?type=vertex&code=getting-started/texture)和[片段](http://learnopengl.com/code_viewer.php?type=fragment&code=getting-started/texture)着色器。 \ No newline at end of file From aeb81fe23c0d62b16cfa92c89e9587187fd59f15 Mon Sep 17 00:00:00 2001 From: Meow J Date: Sat, 17 Jun 2017 21:09:55 +0800 Subject: [PATCH 13/21] Add a notice linking to the legacy --- docs/01 Getting started/06 Textures.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/01 Getting started/06 Textures.md b/docs/01 Getting started/06 Textures.md index 9d787b3..08599b1 100644 --- a/docs/01 Getting started/06 Textures.md +++ b/docs/01 Getting started/06 Textures.md @@ -6,6 +6,10 @@ 翻译 | [Django](http://bullteacher.com/) 校对 | Geequlim, [BLumia](https://github.com/blumia/) +!!! note "译注" + + 注意,由于作者对教程做出了更新,之前本节使用的是SOIL库,但现在改为了使用`stb_image.h`库,关于SOIL配置的部分现在已经被修改,但我仍决定将这部分教程保留起来,放到一个历史存档中,如果有需要的话可以到[这里](../legacy.md)来查看。 + 我们已经了解到,我们可以为每个顶点添加颜色来增加图形的细节,从而创建出有趣的图像。但是,如果想让图形看起来更真实,我们就必须有足够多的顶点,从而指定足够多的颜色。这将会产生很多额外开销,因为每个模型都会需求更多的顶点,每个顶点又需求一个颜色属性。 艺术家和程序员更喜欢使用纹理(Texture)。纹理是一个2D图片(甚至也有1D和3D的纹理),它可以用来添加物体的细节;你可以想象纹理是一张绘有砖块的纸,无缝折叠贴合到你的3D的房子上,这样你的房子看起来就像有砖墙外表了。因为我们可以在一张图片上插入非常多的细节,这样就可以让物体非常精细而不用指定额外的顶点。 From 4ee55210fb1740229b40b56c65f591683f2a6ff8 Mon Sep 17 00:00:00 2001 From: Meow J Date: Sat, 17 Jun 2017 21:34:11 +0800 Subject: [PATCH 14/21] Update 01-07 --- docs/01 Getting started/07 Transformations.md | 37 +++++++++---------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/docs/01 Getting started/07 Transformations.md b/docs/01 Getting started/07 Transformations.md index d225e3a..36d2569 100644 --- a/docs/01 Getting started/07 Transformations.md +++ b/docs/01 Getting started/07 Transformations.md @@ -402,34 +402,27 @@ std::cout << vec.x << vec.y << vec.z << std::endl; ```c++ glm::mat4 trans; -trans = glm::rotate(trans, 90.0f, glm::vec3(0.0, 0.0, 1.0)); -trans = glm::scale(trans, glm::vec3(0.5, 0.5, 0.5)); +trans = glm::rotate(trans, glm::radians(90.0f), glm::vec3(0.0, 0.0, 1.0)); +trans = glm::scale(trans, glm::vec3(0.5, 0.5, 0.5)); ``` -首先,我们把箱子在每个轴都缩放到0.5倍,然后沿z轴旋转90度。注意有纹理的那面矩形是在XY平面上的,所以我们需要把它绕着z轴旋转。因为我们把这个矩阵传递给了GLM的每个函数,GLM会自动将矩阵相乘,返回的结果是一个包括了多个变换的变换矩阵。 - -!!! Attention - - 有些GLM版本接收的是弧度而不是角度,这种情况下你可以用`glm::radians(90.0f)`将角度转换为弧度。 +首先,我们把箱子在每个轴都缩放到0.5倍,然后沿z轴旋转90度。GLM希望它的角度是弧度制的(Radian),所以我们使用`glm::radians`将角度转化为弧度。注意有纹理的那面矩形是在XY平面上的,所以我们需要把它绕着z轴旋转。因为我们把这个矩阵传递给了GLM的每个函数,GLM会自动将矩阵相乘,返回的结果是一个包括了多个变换的变换矩阵。 下一个大问题是:如何把矩阵传递给着色器?我们在前面简单提到过GLSL里也有一个`mat4`类型。所以我们将修改顶点着色器让其接收一个`mat4`的uniform变量,然后再用矩阵uniform乘以位置向量: ```c++ #version 330 core -layout (location = 0) in vec3 position; -layout (location = 1) in vec3 color; -layout (location = 2) in vec2 texCoord; +layout (location = 0) in vec3 aPos; +layout (location = 1) in vec2 aTexCoord; -out vec3 ourColor; out vec2 TexCoord; uniform mat4 transform; void main() { - gl_Position = transform * vec4(position, 1.0f); - ourColor = color; - TexCoord = vec2(texCoord.x, 1.0 - texCoord.y); + gl_Position = transform * vec4(aPos, 1.0f); + TexCoord = vec2(aTexCoord.x, 1.0 - aTexCoord.y); } ``` @@ -440,7 +433,7 @@ void main() 在把位置向量传给gl_Position之前,我们先添加一个uniform,并且将其与变换矩阵相乘。我们的箱子现在应该是原来的二分之一大小并(向左)旋转了90度。当然,我们仍需要把变换矩阵传递给着色器: ```c++ -GLuint transformLoc = glGetUniformLocation(ourShader.Program, "transform"); +unsigned int transformLoc = glGetUniformLocation(ourShader.ID, "transform"); glUniformMatrix4fv(transformLoc, 1, GL_FALSE, glm::value_ptr(trans)); ``` @@ -455,7 +448,7 @@ glUniformMatrix4fv(transformLoc, 1, GL_FALSE, glm::value_ptr(trans)); ```c++ glm::mat4 trans; trans = glm::translate(trans, glm::vec3(0.5f, -0.5f, 0.0f)); -trans = glm::rotate(trans,(GLfloat)glfwGetTime() * 50.0f, glm::vec3(0.0f, 0.0f, 1.0f)); +trans = glm::rotate(trans, (float)glfwGetTime(), glm::vec3(0.0f, 0.0f, 1.0f)); ``` 要记住的是前面的例子中我们可以在任何地方声明变换矩阵,但是现在我们必须在每一次迭代中创建它,从而保证我们能够不断更新旋转角度。这也就意味着我们不得不在每次游戏循环的迭代中重新创建变换矩阵。通常在渲染场景的时候,我们也会有多个需要在每次渲染迭代中都用新值重新创建的变换矩阵 @@ -466,13 +459,17 @@ trans = glm::rotate(trans,(GLfloat)glfwGetTime() * 50.0f, glm::vec3(0.0f, 0.0f, -这就是我们刚刚做到的!一个位移过的箱子,它会一直转,一个变换矩阵就做到了!现在你可以明白为什么矩阵在图形领域是一个如此重要的工具了。我们可以定义一个无限数量的变换,把它们组合为仅仅一个矩阵,如果愿意的话我们还可以重复使用它。在着色器中使用矩阵可以省去重新定义顶点数据的功夫,它也能够节省处理时间,因为我们没有一直重新发送我们的数据(这是个非常慢的过程)。 +这就是我们刚刚做到的!一个位移过的箱子,它会一直转,一个变换矩阵就做到了!现在你可以明白为什么矩阵在图形领域是一个如此重要的工具了。我们可以定义无限数量的变换,而把它们组合为仅仅一个矩阵,如果愿意的话我们还可以重复使用它。在着色器中使用矩阵可以省去重新定义顶点数据的功夫,它也能够节省处理时间,因为我们没有一直重新发送我们的数据(这是个非常慢的过程)。 -如果你没有得到正确的结果,或者你有哪儿不清楚的地方。可以看[源码](http://learnopengl.com/code_viewer.php?code=getting-started/transformations)和[顶点](http://learnopengl.com/code_viewer.php?code=getting-started/transformations&type=vertex)、[片段](http://learnopengl.com/code_viewer.php?code=getting-started/transformations&type=fragment)着色器。 +如果你没有得到正确的结果,或者你有哪儿不清楚的地方。可以看[源码](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/5.1.transformations/transformations.cpp)。 下一节中,我们会讨论怎样使用矩阵为顶点定义不同的坐标空间。这将是我们进入实时3D图像的第一步! +## 拓展阅读 + +- [线性代数的本质](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab):Grant Sanderson制作的非常棒的视频教程系列,它讨论了变换和线性代数内在的数学本质([中文字幕版本](http://space.bilibili.com/88461692#!/channel/detail?cid=9450))。 + ## 练习 -- 使用应用在箱子上的最后一个变换,尝试将其改变为先旋转,后位移。看看发生了什么,试着想想为什么会发生这样的事情:[参考解答](http://learnopengl.com/code_viewer.php?code=getting-started/transformations-exercise1) -- 尝试再次调用glDrawElements画出第二个箱子,**只**使用变换将其摆放在不同的位置。让这个箱子被摆放在窗口的左上角,并且会不断的缩放(而不是旋转)。`sin`函数在这里会很有用,不过注意使用`sin`函数时应用负值会导致物体被翻转:[参考解答](http://learnopengl.com/code_viewer.php?code=getting-started/transformations-exercise2) \ No newline at end of file +- 使用应用在箱子上的最后一个变换,尝试将其改变为先旋转,后位移。看看发生了什么,试着想想为什么会发生这样的事情:[参考解答](https://learnopengl.com/code_viewer.php?code=getting-started/transformations-exercise1) +- 尝试再次调用glDrawElements画出第二个箱子,**只**使用变换将其摆放在不同的位置。让这个箱子被摆放在窗口的左上角,并且会不断的缩放(而不是旋转)。(`sin`函数在这里会很有用,不过注意使用`sin`函数时应用负值会导致物体被翻转):[参考解答](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/5.2.transformations_exercise2/transformations_exercise2.cpp) \ No newline at end of file From a643b4e8a28c29d1ce3e55a3af8d492bffe279d7 Mon Sep 17 00:00:00 2001 From: Meow J Date: Sat, 17 Jun 2017 21:47:46 +0800 Subject: [PATCH 15/21] Update 01-08 --- .../08 Coordinate Systems.md | 45 +++++++++---------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/docs/01 Getting started/08 Coordinate Systems.md b/docs/01 Getting started/08 Coordinate Systems.md index f6b8aa9..ee19070 100644 --- a/docs/01 Getting started/08 Coordinate Systems.md +++ b/docs/01 Getting started/08 Coordinate Systems.md @@ -103,12 +103,12 @@ $$ out = \begin{pmatrix} x /w \\ y / w \\ z / w \end{pmatrix} $$ -顶点坐标的每个分量都会除以它的w分量,距离观察者越远顶点坐标就会越小。这是也是w分量非常重要的另一个原因,它能够帮助我们进行透视投影。最后的结果坐标就是处于标准化设备空间中的。如果你对正射投影矩阵和透视投影矩阵是如何计算的很感兴趣(且不会对数学感到恐惧的话)我推荐这篇由Songho写的[]文章](http://www.songho.ca/opengl/gl_projectionmatrix.html)。 +顶点坐标的每个分量都会除以它的w分量,距离观察者越远顶点坐标就会越小。这是也是w分量非常重要的另一个原因,它能够帮助我们进行透视投影。最后的结果坐标就是处于标准化设备空间中的。如果你对正射投影矩阵和透视投影矩阵是如何计算的很感兴趣(且不会对数学感到恐惧的话)我推荐这篇由Songho写的[文章](http://www.songho.ca/opengl/gl_projectionmatrix.html)。 在GLM中可以这样创建一个透视投影矩阵: ```c++ -glm::mat4 proj = glm::perspective(45.0f, (float)width/(float)height, 0.1f, 100.0f); +glm::mat4 proj = glm::perspective(glm::radians(45.0f), (float)width/(float)height, 0.1f, 100.0f); ``` 同样,`glm::perspective`所做的其实就是创建了一个定义了可视空间的大**平截头体**,任何在这个平截头体以外的东西最后都不会出现在裁剪空间体积内,并且将会受到裁剪。一个透视平截头体可以被看作一个不均匀形状的箱子,在这个箱子内部的每个坐标都会被映射到裁剪空间上的一个点。下面是一张透视平截头体的图片: @@ -153,12 +153,12 @@ $$ ```c++ glm::mat4 model; -model = glm::rotate(model, -55.0f, glm::vec3(1.0f, 0.0f, 0.0f)); +model = glm::rotate(model, glm::radians(-55.0f), glm::vec3(1.0f, 0.0f, 0.0f)); ``` 通过将顶点坐标乘以这个模型矩阵,我们将该顶点坐标变换到世界坐标。我们的平面看起来就是在地板上,代表全局世界里的平面。 -接下来我们需要创建一个观察矩阵。我们想要在场景里面稍微往后移动,以使得物体变成可见的(当在世界空间时,我们位于原点(0,0,0))。要想在场景里面移动,先想一想下面这个问题: +接下来我们需要创建一个观察矩阵。我们想要在场景里面稍微往后移动,以使得物体变成可见的(当在世界空间时,我们位于原点(0,0,0))。要想在场景里面移动,先仔细想一想下面这个句子: - 将摄像机向后移动,和将整个场景向前移动是一样的。 @@ -186,25 +186,21 @@ model = glm::rotate(model, -55.0f, glm::vec3(1.0f, 0.0f, 0.0f)); ```c++ glm::mat4 view; // 注意,我们将矩阵向我们要进行移动场景的反方向移动。 -view = glm::translate(view, glm::vec3(0.0f, 0.0f, -3.0f)); +view = glm::translate(view, glm::vec3(0.0f, 0.0f, -3.0f)); ``` 最后我们需要做的是定义一个投影矩阵。我们希望在场景中使用透视投影,所以像这样声明一个投影矩阵: ```c++ glm::mat4 projection; -projection = glm::perspective(45.0f, screenWidth / screenHeight, 0.1f, 100.0f); +projection = glm::perspective(glm::radians(45.0f), screenWidth / screenHeight, 0.1f, 100.0f); ``` -!!! attention - - 再重复一遍,在glm中指定角度的时候要注意。这里我们将参数fov设置为**45**度,但有些GLM的实现是将fov当成弧度,在这种情况你需要使用`glm::radians(45.0)`来设置。 - 既然我们已经创建了变换矩阵,我们应该将它们传入着色器。首先,让我们在顶点着色器中声明一个uniform变换矩阵然后将它乘以顶点坐标: ```c++ #version 330 core -layout (location = 0) in vec3 position; +layout (location = 0) in vec3 aPos; ... uniform mat4 model; uniform mat4 view; @@ -212,8 +208,8 @@ uniform mat4 projection; void main() { - // 注意从右向左读 - gl_Position = projection * view * model * vec4(position, 1.0f); + // 注意乘法要从右向左读 + gl_Position = projection * view * model * vec4(aPos, 1.0); ... } ``` @@ -221,7 +217,7 @@ void main() 我们还应该将矩阵传入着色器(这通常在每次的渲染迭代中进行,因为变换矩阵会经常变动): ```c++ -GLint modelLoc = glGetUniformLocation(ourShader.Program, "model"); +int modelLoc = glGetUniformLocation(ourShader.ID, "model")); glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glm::value_ptr(model)); ... // 观察矩阵和投影矩阵与之类似 ``` @@ -236,16 +232,16 @@ glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glm::value_ptr(model)); ![coordinate_systems_result](../img/01/08/coordinate_systems_result.png) -它看起来就像是一个3D的平面,静止在一个虚构的地板上。如果你得到的不是相同的结果,请检查下完整的[源代码](http://learnopengl.com/code_viewer.php?code=getting-started/coordinate_systems) 以及[顶点](http://learnopengl.com/code_viewer.php?code=getting-started/transform&type=vertex)和[片段](http://learnopengl.com/code_viewer.php?code=getting-started/transform&type=fragment)着色器。 +它看起来就像是一个3D的平面,静止在一个虚构的地板上。如果你得到的不是相同的结果,请检查下完整的[源代码](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/6.1.coordinate_systems/coordinate_systems.cpp)。 ## 更多的3D -到目前为止,我们一直都在使用一个2D平面,而且甚至是在3D空间里!所以,让我们大胆地拓展我们的2D平面为一个3D立方体。要想渲染一个立方体,我们一共需要36个顶点(6个面 x 每个面有2个三角形组成 x 每个三角形有3个顶点),这36个顶点的位置你可以从[这里](http://learnopengl.com/code_viewer.php?code=getting-started/cube_vertices)获取。注意,这一次我们省略了颜色值,因为我们只通过纹理来获取最终的颜色值。 +到目前为止,我们一直都在使用一个2D平面,而且甚至是在3D空间里!所以,让我们大胆地拓展我们的2D平面为一个3D立方体。要想渲染一个立方体,我们一共需要36个顶点(6个面 x 每个面有2个三角形组成 x 每个三角形有3个顶点),这36个顶点的位置你可以从[这里](https://learnopengl.com/code_viewer.php?code=getting-started/cube_vertices)获取。 为了有趣一点,我们将让立方体随着时间旋转: ```c++ -model = glm::rotate(model, (GLfloat)glfwGetTime() * 50.0f, glm::vec3(0.5f, 1.0f, 0.0f)); +model = glm::rotate(model, (float)glfwGetTime() * glm::radians(50.0f), glm::vec3(0.5f, 1.0f, 0.0f)); ``` 然后我们使用glDrawArrays来绘制立方体,但这一次总共有36个顶点。 @@ -282,7 +278,7 @@ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); -就是这样!一个开启了深度测试,各个面都是纹理,并且还在旋转的立方体!如果你的程序有问题可以到[这里](http://learnopengl.com/code_viewer.php?code=getting-started/coordinate_systems_with_depth)下载源码进行比对。 +就是这样!一个开启了深度测试,各个面都是纹理,并且还在旋转的立方体!如果你的程序有问题可以到[这里](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/6.2.coordinate_systems_depth/coordinate_systems_depth.cpp)下载源码进行比对。 ### 更多的立方体! @@ -309,28 +305,27 @@ glm::vec3 cubePositions[] = { ```c++ glBindVertexArray(VAO); -for(GLuint i = 0; i < 10; i++) +for(unsigned int i = 0; i < 10; i++) { glm::mat4 model; model = glm::translate(model, cubePositions[i]); - GLfloat angle = 20.0f * i; - model = glm::rotate(model, angle, glm::vec3(1.0f, 0.3f, 0.5f)); - glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glm::value_ptr(model)); + float angle = 20.0f * i; + model = glm::rotate(model, glm::radians(angle), glm::vec3(1.0f, 0.3f, 0.5f)); + ourShader.setMat4("model", model); glDrawArrays(GL_TRIANGLES, 0, 36); } -glBindVertexArray(0); ``` 这段代码将会在每次新立方体绘制出来的时候更新模型矩阵,如此总共重复10次。然后我们应该就能看到一个拥有10个正在奇葩地旋转着的立方体的世界。 ![coordinate_systems_multiple_objects](../img/01/08/coordinate_systems_multiple_objects.png) -完美!这就像我们的箱子找到了志同道合的小伙伴一样。如果你在这里卡住了,你可以对照一下[源代码](http://learnopengl.com/code_viewer.php?code=getting-started/coordinate_systems_multiple_objects) 以及[顶点](http://learnopengl.com/code_viewer.php?code=getting-started/coordinate_systems&type=vertex)和[片段](http://learnopengl.com/code_viewer.php?code=getting-started/coordinate_systems&type=fragment) 着色器。 +完美!这就像我们的箱子找到了志同道合的小伙伴一样。如果你在这里卡住了,你可以对照一下[源代码](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/6.3.coordinate_systems_multiple/coordinate_systems_multiple.cpp) 。 ## 练习 - 对GLM的`projection`函数中的`FoV`和`aspect-ratio`参数进行实验。看能否搞懂它们是如何影响透视平截头体的。 - 将观察矩阵在各个方向上进行位移,来看看场景是如何改变的。注意把观察矩阵当成摄像机对象。 -- 使用模型矩阵只让是3倍数的箱子旋转(以及第1个箱子),而让剩下的箱子保持静止。[参考解答](http://learnopengl.com/code_viewer.php?code=getting-started/coordinate_systems-exercise3)。 +- 使用模型矩阵只让是3倍数的箱子旋转(以及第1个箱子),而让剩下的箱子保持静止。[参考解答](https://learnopengl.com/code_viewer.php?code=getting-started/coordinate_systems-exercise3)。 From 16b3af49d959c2408704919db3b908f5fb5f716b Mon Sep 17 00:00:00 2001 From: Meow J Date: Sat, 17 Jun 2017 23:36:42 +0800 Subject: [PATCH 16/21] Update 01-09 --- docs/01 Getting started/09 Camera.md | 153 ++++++++------------------- docs/legacy.md | 105 +++++++++++++++++- glossary.md | 2 +- 3 files changed, 152 insertions(+), 108 deletions(-) diff --git a/docs/01 Getting started/09 Camera.md b/docs/01 Getting started/09 Camera.md index 0586ddb..019ea36 100644 --- a/docs/01 Getting started/09 Camera.md +++ b/docs/01 Getting started/09 Camera.md @@ -12,7 +12,7 @@ ## 摄像机/观察空间 -当我们讨论摄像机/观察空间(Camera/View Space)的时候,是在讨论以摄像机的视角作为场景原点时场景中的所有顶点坐标:观察矩阵把所有的世界坐标变换为相对于摄像机位置与方向的观察坐标。要定义一个摄像机,我们需要它在世界空间中的位置、观察的方向、一个指向它右测的向量以及一个指向它上方的向量。细心的读者可能已经注意到我们实际上创建了一个三个单位轴相互垂直的、以摄像机的位置为原点的坐标系。 +当我们讨论摄像机/观察空间(Camera/View Space)的时候,是在讨论以摄像机的视角作为场景原点时场景中所有的顶点坐标:观察矩阵把所有的世界坐标变换为相对于摄像机位置与方向的观察坐标。要定义一个摄像机,我们需要它在世界空间中的位置、观察的方向、一个指向它右测的向量以及一个指向它上方的向量。细心的读者可能已经注意到我们实际上创建了一个三个单位轴相互垂直的、以摄像机的位置为原点的坐标系。 ![](../img/01/09/camera_axes.png) @@ -30,7 +30,7 @@ glm::vec3 cameraPos = glm::vec3(0.0f, 0.0f, 3.0f); ### 2. 摄像机方向 -下一个需要的向量是摄像机的方向,比如它指向哪个方向。现在我们让摄像机指向场景原点:(0, 0, 0)。还记得两个矢量相减,我们能得到这两个矢量的差吗?用场景原点向量减去摄像机位置向量的结果就是摄像机的指向向量。由于我们知道摄像机指向z轴负方向,但我们希望方向向量(Direction Vector)指向摄像机的z轴正方向。如果我们交换相减的顺序,我们就会获得一个指向摄像机正z轴方向的向量: +下一个需要的向量是摄像机的方向,这里指的是摄像机指向哪个方向。现在我们让摄像机指向场景原点:(0, 0, 0)。还记得如果将两个矢量相减,我们就能得到这两个矢量的差吗?用场景原点向量减去摄像机位置向量的结果就是摄像机的指向向量。由于我们知道摄像机指向z轴负方向,但我们希望方向向量(Direction Vector)指向摄像机的z轴正方向。如果我们交换相减的顺序,我们就会获得一个指向摄像机正z轴方向的向量: ```c++ glm::vec3 cameraTarget = glm::vec3(0.0f, 0.0f, 0.0f); @@ -39,7 +39,7 @@ glm::vec3 cameraDirection = glm::normalize(cameraPos - cameraTarget); !!! Attention - **方向向量**(Direction Vector)并不是最好的名字,因为它正好指向从它到目标向量的相反方向(译注:注意看前面的那个图,所说的“方向向量”是指向z轴正方向的,而不是摄像机所注视的那个方向)。 + **方向**向量(Direction Vector)并不是最好的名字,因为它实际上指向从它到目标向量的相反方向(译注:注意看前面的那个图,蓝色的方向向量大概指向z轴的正方向,与摄像机实际指向的方向是正好相反的)。 ### 3. 右轴 @@ -79,18 +79,18 @@ view = glm::lookAt(glm::vec3(0.0f, 0.0f, 3.0f), glm::vec3(0.0f, 1.0f, 0.0f)); ``` -glm::LookAt函数需要一个位置、目标和上向量。它会创建一个和上一节一样的观察矩阵。 +glm::LookAt函数需要一个位置、目标和上向量。它会创建一个和在上一节使用的一样的观察矩阵。 在讨论用户输入之前,我们先来做些有意思的事,把我们的摄像机在场景中旋转。我们会将摄像机的注视点保持在(0, 0, 0)。 我们需要用到一点三角学的知识来在每一帧创建一个x和z坐标,它会代表圆上的一点,我们将会使用它作为摄像机的位置。通过重新计算x和y坐标,我们会遍历圆上的所有点,这样摄像机就会绕着场景旋转了。我们预先定义这个圆的半径radius,在每次渲染迭代中使用GLFW的glfwGetTime函数重新创建观察矩阵,来扩大这个圆。 ```c++ -GLfloat radius = 10.0f; -GLfloat camX = sin(glfwGetTime()) * radius; -GLfloat camZ = cos(glfwGetTime()) * radius; +float radius = 10.0f; +float camX = sin(glfwGetTime()) * radius; +float camZ = cos(glfwGetTime()) * radius; glm::mat4 view; -view = glm::lookAt(glm::vec3(camX, 0.0, camZ), glm::vec3(0.0, 0.0, 0.0), glm::vec3(0.0, 1.0, 0.0)); +view = glm::lookAt(glm::vec3(camX, 0.0, camZ), glm::vec3(0.0, 0.0, 0.0), glm::vec3(0.0, 1.0, 0.0)); ``` 如果你运行代码,应该会得到下面的结果: @@ -98,7 +98,7 @@ view = glm::lookAt(glm::vec3(camX, 0.0, camZ), glm::vec3(0.0, 0.0, 0.0), glm::ve -通过这一小段代码,摄像机现在会随着时间流逝围绕场景转动了。自己试试改变半径和位置/方向参数,看看**LookAt**矩阵是如何工作的。同时,如果你需要的话,这里有[源码](http://learnopengl.com/code_viewer.php?code=getting-started/camera_circle)、[顶点](http://learnopengl.com/code_viewer.php?code=getting-started/coordinate_systems&type=vertex)和[片段](http://learnopengl.com/code_viewer.php?code=getting-started/coordinate_systems&type=fragment)着色器。 +通过这一小段代码,摄像机现在会随着时间流逝围绕场景转动了。自己试试改变半径和位置/方向参数,看看**LookAt**矩阵是如何工作的。同时,如果你在哪卡住的话,这里有[源码](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/7.1.camera_circle/camera_circle.cpp)。 # 自由移动 @@ -118,115 +118,59 @@ view = glm::lookAt(cameraPos, cameraPos + cameraFront, cameraUp); 我们首先将摄像机位置设置为之前定义的cameraPos。方向是当前的位置加上我们刚刚定义的方向向量。这样能保证无论我们怎么移动,摄像机都会注视着目标方向。让我们摆弄一下这些向量,在按下某些按钮时更新cameraPos向量。 -我们已经为GLFW的键盘输入定义了一个key_callback函数,我们来新添加几个需要检查的按键命令: +我们已经为GLFW的键盘输入定义过一个processInput函数了,我们来新添加几个需要检查的按键命令: ```c++ -void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode) +void processInput(GLFWwindow *window) { ... - GLfloat cameraSpeed = 0.05f; - if(key == GLFW_KEY_W) + float cameraSpeed = 0.05f; // adjust accordingly + if (glfwGetKey(window, GLFW_KEY_W) == GLFW_PRESS) cameraPos += cameraSpeed * cameraFront; - if(key == GLFW_KEY_S) + if (glfwGetKey(window, GLFW_KEY_S) == GLFW_PRESS) cameraPos -= cameraSpeed * cameraFront; - if(key == GLFW_KEY_A) + if (glfwGetKey(window, GLFW_KEY_A) == GLFW_PRESS) cameraPos -= glm::normalize(glm::cross(cameraFront, cameraUp)) * cameraSpeed; - if(key == GLFW_KEY_D) - cameraPos += glm::normalize(glm::cross(cameraFront, cameraUp)) * cameraSpeed; + if (glfwGetKey(window, GLFW_KEY_D) == GLFW_PRESS) + cameraPos += glm::normalize(glm::cross(cameraFront, cameraUp)) * cameraSpeed; } ``` -当我们按下**WASD**键的任意一个,摄像机的位置都会相应更新。如果我们希望向前或向后移动,我们就把位置向量加上或减去方向向量。如果我们希望向左右移动,我们使用叉乘来创建一个**右向量**(Right Vector),并沿着它相应移动就可以了。这样就创建了使用摄像机时熟悉的扫射(Strafe)效果。 +当我们按下**WASD**键的任意一个,摄像机的位置都会相应更新。如果我们希望向前或向后移动,我们就把位置向量加上或减去方向向量。如果我们希望向左右移动,我们使用叉乘来创建一个**右向量**(Right Vector),并沿着它相应移动就可以了。这样就创建了使用摄像机时熟悉的横移(Strafe)效果。 !!! important - 注意,我们对**右向量**进行了标准化。如果我们没对这个向量进行标准化,最后的叉乘结果会根据cameraFront变量返回大小不同的向量。如果我们不对向量进行标准化,我们就得根据摄像机的朝向不同加速或减速移动了,但假如进行了标准化移动就是匀速的。 + 注意,我们对**右向量**进行了标准化。如果我们没对这个向量进行标准化,最后的叉乘结果会根据cameraFront变量返回大小不同的向量。如果我们不对向量进行标准化,我们就得根据摄像机的朝向不同加速或减速移动了,但如果进行了标准化移动就是匀速的。 -如果你用这段代码更新key_callback函数,你就可以在场景中自由的前后左右移动了。 - - - -在摆弄这个基础的摄像机系统之后你可能会注意到这个摄像机系统不能同时朝两个方向移动(对角线移动),而且当你按下一个按键时,它会先顿一下才开始移动。这是因为大多数事件输入系统一次只能处理一个键盘输入,它们的函数只有当我们激活了一个按键时才被调用。虽然这对大多数GUI系统都没什么问题,它对摄像机来说并不合理。我们可以用一些小技巧解决这个问题。 - -这个技巧是在回调函数中只跟踪哪个按键被按下/释放。在游戏循环中我们读取这些值,检查哪个按键是**激活的**,然后做出相应反应。我们只储存哪个按键被按下/释放的状态信息,并在游戏循环中对状态做出反应。首先,我们来创建一个boolean数组代表被按下/释放的按键: - -```c++ -bool keys[1024]; -``` - -然后我们需要在key_callback函数中设置被按下/释放的按键为`true`或`false`: - -```c++ -if(action == GLFW_PRESS) - keys[key] = true; -else if(action == GLFW_RELEASE) - keys[key] = false; -``` - -并且我们创建一个新的叫做do_movement的函数,在这个函数中,我们将根据正在被按下的按键更新摄像机的值。: - -```c++ -void do_movement() -{ - // 摄像机控制 - GLfloat cameraSpeed = 0.01f; - if(keys[GLFW_KEY_W]) - cameraPos += cameraSpeed * cameraFront; - if(keys[GLFW_KEY_S]) - cameraPos -= cameraSpeed * cameraFront; - if(keys[GLFW_KEY_A]) - cameraPos -= glm::normalize(glm::cross(cameraFront, cameraUp)) * cameraSpeed; - if(keys[GLFW_KEY_D]) - cameraPos += glm::normalize(glm::cross(cameraFront, cameraUp)) * cameraSpeed; -} -``` - -之前的代码现在被移动到do_movement函数中。由于所有GLFW的按键枚举值本质上都是整数,我们可以把它们当数组索引使用。 - -最后,我们需要在游戏循环中添加新函数的调用: - -```c++ -while(!glfwWindowShouldClose(window)) -{ - // 检测并调用事件 - glfwPollEvents(); - do_movement(); - - // 渲染 - ... -} -``` - -至此,你应该可以同时向多个方向移动了,并且当你按下按钮时也会立刻移动了。如遇困难,可以查看下[源代码](http://learnopengl.com/code_viewer.php?code=getting-started/camera_keyboard)。 +现在你就应该能够移动摄像机了,虽然移动速度和系统有关,你可能会需要调整一下cameraSpeed。 ## 移动速度 -目前我们的移动速度是个常量。理论上没什么问题,但是实际情况下根据处理器的能力不同,有些人可能会比其他人每秒绘制更多帧,也就是以更高的频率调用do_movement函数。结果就是,根据配置的不同,有些人可能移动很快,而有些人会移动很慢。当你发布你的程序的时候,你必须确保它在所有硬件上移动速度都一样。 +目前我们的移动速度是个常量。理论上没什么问题,但是实际情况下根据处理器的能力不同,有些人可能会比其他人每秒绘制更多帧,也就是以更高的频率调用processInput函数。结果就是,根据配置的不同,有些人可能移动很快,而有些人会移动很慢。当你发布你的程序的时候,你必须确保它在所有硬件上移动速度都一样。 -图形程序和游戏通常会跟踪一个时间差(Deltatime)变量,它储存了渲染上一帧所用的时间。我们把所有速度都去乘以deltaTime值。结果就是,如果我们的deltaTime很大,就意味着上一帧的渲染花费了更多时间,所以这一帧的速度需要变得更高,来平衡渲染所花去的时间。使用这种方法时,无论你的电脑快还是慢,摄像机的速度都会相应平衡,这样每个用户的体验就都一样了。 +图形程序和游戏通常会跟踪一个时间差(Deltatime)变量,它储存了渲染上一帧所用的时间。我们把所有速度都去乘以deltaTime值。结果就是,如果我们的deltaTime很大,就意味着上一帧的渲染花费了更多时间,所以这一帧的速度需要变得更高来平衡渲染所花去的时间。使用这种方法时,无论你的电脑快还是慢,摄像机的速度都会相应平衡,这样每个用户的体验就都一样了。 我们跟踪两个全局变量来计算出deltaTime值: ```c++ -GLfloat deltaTime = 0.0f; // 当前帧与上一帧的时间差 -GLfloat lastFrame = 0.0f; // 上一帧的时间 +float deltaTime = 0.0f; // 当前帧与上一帧的时间差 +float lastFrame = 0.0f; // 上一帧的时间 ``` 在每一帧中我们计算出新的deltaTime以备后用。 ```c++ -GLfloat currentFrame = glfwGetTime(); +float currentFrame = glfwGetTime(); deltaTime = currentFrame - lastFrame; -lastFrame = currentFrame; +lastFrame = currentFrame; ``` 现在我们有了deltaTime,在计算速度的时候可以将其考虑进去了: ```c++ -void do_movement() +void processInput(GLFWwindow *window) { - GLfloat cameraSpeed = 5.0f * deltaTime; + float cameraSpeed = 2.5f * deltaTime; ... } ``` @@ -237,7 +181,7 @@ void do_movement() -现在我们有了一个在任何系统上移动速度都一样的摄像机。同样,如果你卡住了,查看一下[源码](http://learnopengl.com/code_viewer.php?code=getting-started/camera_keyboard_dt)。我们可以看到任何移动都会影响返回的deltaTime值。 +现在我们有了一个在任何系统上移动速度都一样的摄像机。同样,如果你卡住了,查看一下[源码](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/7.2.camera_keyboard_dt/camera_keyboard_dt.cpp)。我们可以看到任何移动都会影响返回的deltaTime值。 # 视角移动 @@ -323,18 +267,18 @@ glfwSetCursorPosCallback(window, mouse_callback); 第一步是计算鼠标自上一帧的偏移量。我们必须先在程序中储存上一帧的鼠标位置,我们把它的初始值设置为屏幕的中心(屏幕的尺寸是800x600): ```c++ -GLfloat lastX = 400, lastY = 300; +float lastX = 400, lastY = 300; ``` 然后在鼠标的回调函数中我们计算当前帧和上一帧鼠标位置的偏移量: ```c++ -GLfloat xoffset = xpos - lastX; -GLfloat yoffset = lastY - ypos; // 注意这里是相反的,因为y坐标是从底部往顶部依次增大的 +float xoffset = xpos - lastX; +float yoffset = lastY - ypos; // 注意这里是相反的,因为y坐标是从底部往顶部依次增大的 lastX = xpos; lastY = ypos; -GLfloat sensitivity = 0.05f; +float sensitivity = 0.05f; xoffset *= sensitivity; yoffset *= sensitivity; ``` @@ -345,7 +289,7 @@ yoffset *= sensitivity; ```c++ yaw += xoffset; -pitch += yoffset; +pitch += yoffset; ``` 第三步,我们需要给摄像机添加一些限制,这样摄像机就不会发生奇怪的移动了(这样也会避免一些奇怪的问题)。对于俯仰角,要让用户不能看向高于89度的地方(在90度时视角会发生逆转,所以我们把89度作为极限),同样也不允许小于-89度。这样能够保证用户只能看到天空或脚下,但是不能超越这个限制。我们可以在值超过限制的时候将其改为极限值来实现: @@ -376,9 +320,9 @@ cameraFront = glm::normalize(front); ```c++ if(firstMouse) // 这个bool变量初始时是设定为true的 { - lastX = xpos; - lastY = ypos; - firstMouse = false; + lastX = xpos; + lastY = ypos; + firstMouse = false; } ``` @@ -394,12 +338,12 @@ void mouse_callback(GLFWwindow* window, double xpos, double ypos) firstMouse = false; } - GLfloat xoffset = xpos - lastX; - GLfloat yoffset = lastY - ypos; + float xoffset = xpos - lastX; + float yoffset = lastY - ypos; lastX = xpos; lastY = ypos; - GLfloat sensitivity = 0.05; + float sensitivity = 0.05; xoffset *= sensitivity; yoffset *= sensitivity; @@ -419,7 +363,7 @@ void mouse_callback(GLFWwindow* window, double xpos, double ypos) } ``` -现在我们就可以自由地在3D场景中移动了!如果你遇到困难,可以来看一下[源代码](http://www.learnopengl.com/code_viewer.php?code=getting-started/camera_mouse)。 +现在我们就可以自由地在3D场景中移动了! ## 缩放 @@ -442,7 +386,7 @@ void scroll_callback(GLFWwindow* window, double xoffset, double yoffset) 我们现在在每一帧都必须把透视投影矩阵上传到GPU,但现在使用fov变量作为它的视野: ```c++ -projection = glm::perspective(fov, (GLfloat)WIDTH/(GLfloat)HEIGHT, 0.1f, 100.0f); +projection = glm::perspective(glm::radians(fov), 800.0f / 600.0f, 0.1f, 100.0f); ``` 最后不要忘记注册鼠标滚轮的回调函数: @@ -456,7 +400,7 @@ glfwSetScrollCallback(window, scroll_callback); -你可以去自由地实验,如果遇到困难,可以对比[源代码](http://learnopengl.com/code_viewer.php?code=getting-started/camera_zoom)。 +你可以去自由地实验,如果遇到困难,可以对比[源代码](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/7.3.camera_mouse_zoom/camera_mouse_zoom.cpp)。 !!! Important @@ -466,19 +410,16 @@ glfwSetScrollCallback(window, scroll_callback); 接下来的教程中,我们将会一直使用一个摄像机来浏览场景,从各个角度观察结果。然而,由于一个摄像机会占用每篇教程很大的篇幅,我们将会从细节抽象出来,创建我们自己的摄像机对象,它会完成大多数的工作,而且还会提供一些附加的功能。与着色器教程不同,我们不会带你一步一步创建摄像机类,我们只会提供你一份(有完整注释的)代码,如果你想知道它的内部构造的话可以自己去阅读。 -和着色器对象一样,我们把摄像机类写在一个单独的头文件中。你可以在[这里](http://learnopengl.com/code_viewer.php?type=header&code=camera)找到它,你现在应该能够理解所有的代码了。我们建议您至少看一看这个类,看看如何创建一个自己的摄像机类。 +和着色器对象一样,我们把摄像机类写在一个单独的头文件中。你可以在[这里](https://learnopengl.com/code_viewer_gh.php?code=includes/learnopengl/camera.h)找到它,你现在应该能够理解所有的代码了。我们建议您至少看一看这个类,看看如何创建一个自己的摄像机类。 !!! Attention 我们介绍的摄像机系统是一个FPS风格的摄像机,它能够满足大多数情况需要,而且与欧拉角兼容,但是在创建不同的摄像机系统,比如飞行模拟摄像机,时就要当心。每个摄像机系统都有自己的优点和不足,所以确保对它们进行了详细研究。比如,这个FPS摄像机不允许俯仰角大于90度,而且我们使用了一个固定的上向量(0, 1, 0),这在需要考虑滚转角的时候就不能用了。 -使用新摄像机对象,更新后版本的源码可以在[这里](http://learnopengl.com/code_viewer.php?code=getting-started/camera_with_class)找到。 - -(译注:总而言之这个摄像机实现并不十分完美,你可以看看最终的源码。建议先看[这篇文章](https://github.com/cybercser/OpenGL_3_3_Tutorial_Translation/blob/master/Tutorial%2017%20Rotations.md),对旋转有更深的理解后,你就能做出更好的摄像机类,不过本文有些内容比如如何防止按键停顿和GLFW鼠标事件实现摄像机的注意事项比较重要,其它的就要做一定的取舍了) - +使用新摄像机对象,更新后版本的源码可以在[这里](https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/7.4.camera_class/camera_class.cpp)找到。 ## 练习 -- 看看你是否能够修改摄像机类,使得其能够变成一个**真正的**FPS摄像机(也就是说不能够随意飞行);你只能够呆在xz平面上:[参考解答](http://www.learnopengl.com/code_viewer.php?code=getting-started/camera-exercise1) +- 看看你是否能够修改摄像机类,使得其能够变成一个**真正的**FPS摄像机(也就是说不能够随意飞行);你只能够呆在xz平面上:[参考解答](https://learnopengl.com/code_viewer.php?code=getting-started/camera-exercise1) -- 试着创建你自己的LookAt函数,其中你需要手动创建一个我们在一开始讨论的观察矩阵。用你的函数实现来替换GLM的LookAt函数,看看它是否还能一样地工作:[参考解答](http://www.learnopengl.com/code_viewer.php?code=getting-started/camera-exercise2) +- 试着创建你自己的LookAt函数,其中你需要手动创建一个我们在一开始讨论的观察矩阵。用你的函数实现来替换GLM的LookAt函数,看看它是否还能一样地工作:[参考解答](https://learnopengl.com/code_viewer.php?code=getting-started/camera-exercise2) diff --git a/docs/legacy.md b/docs/legacy.md index c70f743..0f7964d 100644 --- a/docs/legacy.md +++ b/docs/legacy.md @@ -252,4 +252,107 @@ glBindVertexArray(0); ![](img/01/06/textures_combined2.png) -如果你看到了一个开心的箱子,你就做对了。你可以对比一下[源代码](http://learnopengl.com/code_viewer.php?code=getting-started/textures_combined),以及[顶点着](http://learnopengl.com/code_viewer.php?type=vertex&code=getting-started/texture)和[片段](http://learnopengl.com/code_viewer.php?type=fragment&code=getting-started/texture)着色器。 \ No newline at end of file +如果你看到了一个开心的箱子,你就做对了。你可以对比一下[源代码](http://learnopengl.com/code_viewer.php?code=getting-started/textures_combined),以及[顶点着](http://learnopengl.com/code_viewer.php?type=vertex&code=getting-started/texture)和[片段](http://learnopengl.com/code_viewer.php?type=fragment&code=getting-started/texture)着色器。 + +## 01-09 摄像机 + + +### 自由移动 + +让摄像机绕着场景转的确很有趣,但是让我们自己移动摄像机会更有趣!首先我们必须设置一个摄像机系统,所以在我们的程序前面定义一些摄像机变量很有用: + +```c++ +glm::vec3 cameraPos = glm::vec3(0.0f, 0.0f, 3.0f); +glm::vec3 cameraFront = glm::vec3(0.0f, 0.0f, -1.0f); +glm::vec3 cameraUp = glm::vec3(0.0f, 1.0f, 0.0f); +``` + +`LookAt`函数现在成了: + +```c++ +view = glm::lookAt(cameraPos, cameraPos + cameraFront, cameraUp); +``` + +我们首先将摄像机位置设置为之前定义的cameraPos。方向是当前的位置加上我们刚刚定义的方向向量。这样能保证无论我们怎么移动,摄像机都会注视着目标方向。让我们摆弄一下这些向量,在按下某些按钮时更新cameraPos向量。 + +我们已经为GLFW的键盘输入定义了一个key_callback函数,我们来新添加几个需要检查的按键命令: + +```c++ +void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode) +{ + ... + GLfloat cameraSpeed = 0.05f; + if(key == GLFW_KEY_W) + cameraPos += cameraSpeed * cameraFront; + if(key == GLFW_KEY_S) + cameraPos -= cameraSpeed * cameraFront; + if(key == GLFW_KEY_A) + cameraPos -= glm::normalize(glm::cross(cameraFront, cameraUp)) * cameraSpeed; + if(key == GLFW_KEY_D) + cameraPos += glm::normalize(glm::cross(cameraFront, cameraUp)) * cameraSpeed; +} +``` + +当我们按下**WASD**键的任意一个,摄像机的位置都会相应更新。如果我们希望向前或向后移动,我们就把位置向量加上或减去方向向量。如果我们希望向左右移动,我们使用叉乘来创建一个**右向量**(Right Vector),并沿着它相应移动就可以了。这样就创建了使用摄像机时熟悉的扫射(Strafe)效果。 + +!!! important + + 注意,我们对**右向量**进行了标准化。如果我们没对这个向量进行标准化,最后的叉乘结果会根据cameraFront变量返回大小不同的向量。如果我们不对向量进行标准化,我们就得根据摄像机的朝向不同加速或减速移动了,但假如进行了标准化移动就是匀速的。 + +如果你用这段代码更新key_callback函数,你就可以在场景中自由的前后左右移动了。 + + + +在摆弄这个基础的摄像机系统之后你可能会注意到这个摄像机系统不能同时朝两个方向移动(对角线移动),而且当你按下一个按键时,它会先顿一下才开始移动。这是因为大多数事件输入系统一次只能处理一个键盘输入,它们的函数只有当我们激活了一个按键时才被调用。虽然这对大多数GUI系统都没什么问题,它对摄像机来说并不合理。我们可以用一些小技巧解决这个问题。 + +这个技巧是在回调函数中只跟踪哪个按键被按下/释放。在游戏循环中我们读取这些值,检查哪个按键是**激活的**,然后做出相应反应。我们只储存哪个按键被按下/释放的状态信息,并在游戏循环中对状态做出反应。首先,我们来创建一个boolean数组代表被按下/释放的按键: + +```c++ +bool keys[1024]; +``` + +然后我们需要在key_callback函数中设置被按下/释放的按键为`true`或`false`: + +```c++ +if(action == GLFW_PRESS) + keys[key] = true; +else if(action == GLFW_RELEASE) + keys[key] = false; +``` + +并且我们创建一个新的叫做do_movement的函数,在这个函数中,我们将根据正在被按下的按键更新摄像机的值。: + +```c++ +void do_movement() +{ + // 摄像机控制 + GLfloat cameraSpeed = 0.01f; + if(keys[GLFW_KEY_W]) + cameraPos += cameraSpeed * cameraFront; + if(keys[GLFW_KEY_S]) + cameraPos -= cameraSpeed * cameraFront; + if(keys[GLFW_KEY_A]) + cameraPos -= glm::normalize(glm::cross(cameraFront, cameraUp)) * cameraSpeed; + if(keys[GLFW_KEY_D]) + cameraPos += glm::normalize(glm::cross(cameraFront, cameraUp)) * cameraSpeed; +} +``` + +之前的代码现在被移动到do_movement函数中。由于所有GLFW的按键枚举值本质上都是整数,我们可以把它们当数组索引使用。 + +最后,我们需要在游戏循环中添加新函数的调用: + +```c++ +while(!glfwWindowShouldClose(window)) +{ + // 检测并调用事件 + glfwPollEvents(); + do_movement(); + + // 渲染 + ... +} +``` + +至此,你应该可以同时向多个方向移动了,并且当你按下按钮时也会立刻移动了。如遇困难,可以查看下[源代码](http://learnopengl.com/code_viewer.php?code=getting-started/camera_keyboard)。 \ No newline at end of file diff --git a/glossary.md b/glossary.md index 6b3c16b..1ef433a 100644 --- a/glossary.md +++ b/glossary.md @@ -166,7 +166,7 @@ - Camera Space:摄像机空间 - Gram-Schmidt Process:格拉姆—施密特正交化 - LookAt Matrix:LookAt矩阵 -- Strafe:(?)扫射 +- Strafe:横移 - Deltatime:时间差 - Euler Angles:欧拉角 - Pitch:俯仰角 From f890e2065ef5d2245b742483261696a741518650 Mon Sep 17 00:00:00 2001 From: Meow J Date: Sun, 18 Jun 2017 01:01:42 +0800 Subject: [PATCH 17/21] Add code repo page --- docs/01 Getting started/09 Camera.md | 2 +- docs/01 Getting started/10 Review.md | 4 ++-- docs/code_repo.md | 9 +++++++++ mkdocs.yml | 3 ++- 4 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 docs/code_repo.md diff --git a/docs/01 Getting started/09 Camera.md b/docs/01 Getting started/09 Camera.md index 019ea36..1cac4fd 100644 --- a/docs/01 Getting started/09 Camera.md +++ b/docs/01 Getting started/09 Camera.md @@ -404,7 +404,7 @@ glfwSetScrollCallback(window, scroll_callback); !!! Important - 注意,使用欧拉角的摄像机系统并不完美。根据你的视角限制或者是配置,你仍然可能引入[万向节死锁](http://en.wikipedia.org/wiki/Gimbal_lock)问题。最好的摄像机系统是使用四元数(Quaternions)的,但我们将会把这个留到后面讨论。 + 注意,使用欧拉角的摄像机系统并不完美。根据你的视角限制或者是配置,你仍然可能引入[万向节死锁](http://en.wikipedia.org/wiki/Gimbal_lock)问题。最好的摄像机系统是使用四元数(Quaternions)的,但我们将会把这个留到后面讨论。(译注:[这里](https://github.com/cybercser/OpenGL_3_3_Tutorial_Translation/blob/master/Tutorial%2017%20Rotations.md)可以查看四元数摄像机的实现) # 摄像机类 diff --git a/docs/01 Getting started/10 Review.md b/docs/01 Getting started/10 Review.md index fb3fcdf..163e4c0 100644 --- a/docs/01 Getting started/10 Review.md +++ b/docs/01 Getting started/10 Review.md @@ -13,7 +13,7 @@ ## 词汇表 - **OpenGL**: 一个定义了函数布局和输出的图形API的正式规范。 -- **GLEW**: 一个拓展加载库,用来为我们加载并设定所有OpenGL函数指针,从而让我们能够使用所有(现代)OpenGL函数。 +- **GLAD**: 一个拓展加载库,用来为我们加载并设定所有OpenGL函数指针,从而让我们能够使用所有(现代)OpenGL函数。 - **视口(Viewport)**: 我们需要渲染的窗口。 - **图形管线(Graphics Pipeline)**: 一个顶点在呈现为像素之前通过的过程。 - **着色器(Shader)**: 一个运行在显卡上的小型程序。很多阶段的图形管道都可以使用自定义的着色器来代替原来的功能。 @@ -26,7 +26,7 @@ - **纹理缠绕(Texture Wrapping)**: 定义了一种当纹理顶点超出范围(0, 1)时指定OpenGL如何采样纹理的模式。 - **纹理过滤(Texture Filtering)**: 定义了一种当有多种纹素选择时指定OpenGL如何采样纹理的模式。这通常在纹理被放大情况下发生。 - **多级渐远纹理(Mipmaps)**: 被存储的材质的一些缩小版本,根据距观察者的距离会使用材质的合适大小。 -- **SOIL**: 图像加载库。 +- **stb_image.h**: 图像加载库。 - **纹理单元(Texture Units)**: 通过绑定纹理到不同纹理单元从而允许多个纹理在同一对象上渲染。 - **向量(Vector)**: 一个定义了在空间中方向和/或位置的数学实体。 - **矩阵(Matrix)**: 一个矩形阵列的数学表达式。 diff --git a/docs/code_repo.md b/docs/code_repo.md new file mode 100644 index 0000000..563a00d --- /dev/null +++ b/docs/code_repo.md @@ -0,0 +1,9 @@ +# 代码仓库 + +你可以在每一篇教程中找到在线的代码范例,但如果你想自己运行教程的Demo或者将正常工作的范例代码与你的代码进行比较,你可以在[这里](https://github.com/JoeyDeVries/LearnOpenGL)找到在线的GitHub代码仓库。 + +目前,`CMakeLists.txt`文件能够正常生成Visual Studio的工程文件和make文件,它能够在Windows和Linux上运行。但是它在Apple的macOS和其它的IDE上还没有进行非常完全的测试,所以如果出现问题你可以留言或者帮忙通过Pull Request来更新一下`CMakeLists.txt`文件让它支持不同的系统。 + +我非常感谢Zwookie在制作Linux的CMake脚本时提供的巨大帮助。感谢Zwookie对CMakeLists的更新,现在它能够在Windows和Linux上生成工程文件了。 + +你也可以查看Polytonic的[Glitter](https://github.com/Polytonic/Glitter),它是一个非常简单的样板工程,它提供了已经预配置好的相关依赖项。 \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 0baed28..133b856 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -75,10 +75,11 @@ pages: - 渲染文本: '06 In Practice/2D-Game/10 Render Text.md' - 结语: '06 In Practice/2D-Game/11 Final thoughts.md' - 历史存档: 'legacy.md' + - 代码仓库: 'code_repo.md' site_name: 'LearnOpenGL CN' -site_description: 'http://learnopengl.com 系列教程的中文翻译' +site_description: 'http://learnopengl.com 系列教程的简体中文翻译' site_url: https://learnopengl-cn.github.io/ From d5da434503b83b821b2721fe2a0c4dd2d1ea7d0e Mon Sep 17 00:00:00 2001 From: Meow J Date: Sun, 18 Jun 2017 17:00:20 +0800 Subject: [PATCH 18/21] Fix the link in 01-10 --- docs/01 Getting started/10 Review.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/01 Getting started/10 Review.md b/docs/01 Getting started/10 Review.md index 163e4c0..e3bed9e 100644 --- a/docs/01 Getting started/10 Review.md +++ b/docs/01 Getting started/10 Review.md @@ -1,6 +1,6 @@ # 复习 -原文 | [Review](http://learnopengl.com/#!Getting-started/Review) +原文 | [Review](https://learnopengl.com/#!Getting-started/Review) ---|--- 作者 | JoeyDeVries 翻译 | Meow J From 684f9710a53a1597cdfc7e8ff3d35fca04127128 Mon Sep 17 00:00:00 2001 From: Meow J Date: Mon, 19 Jun 2017 00:07:30 +0800 Subject: [PATCH 19/21] Update 02-01 --- docs/02 Lighting/01 Colors.md | 86 +++++++++++++++++------------------ glossary.md | 7 +++ 2 files changed, 48 insertions(+), 45 deletions(-) diff --git a/docs/02 Lighting/01 Colors.md b/docs/02 Lighting/01 Colors.md index 4b25d6b..75050d2 100644 --- a/docs/02 Lighting/01 Colors.md +++ b/docs/02 Lighting/01 Colors.md @@ -6,22 +6,21 @@ 翻译 | [Geequlim](http://geequlim.com/) 校对 | [Geequlim](http://geequlim.com/) -在前面的教程中我们已经简要提到过该如何在OpenGL中使用颜色(Color),但是我们至今所接触到的都是很浅层的知识。本节我们将会更广泛地讨论颜色,并且还会为接下来的光照(Lighting)教程创建一个场景。 +在前面的教程中我们已经简要提到过该如何在OpenGL中使用颜色(Color),但是我们至今所接触到的都是很浅层的知识。本节我们将会更深入地讨论什么是颜色,并且还会为接下来的光照(Lighting)教程创建一个场景。 - -现实世界中有无数种颜色,每一个物体都有它们自己的颜色。我们要做的工作是使用(有限的)数字来模拟真实世界中(无限)的颜色,因此并不是所有的现实世界中的颜色都可以用数字来表示。然而我们依然可以用数字来代表许多种颜色,并且你甚至可能根本感觉不到他们与真实颜色之间的差异。颜色可以数字化的由红色(Red)、绿色(Green)和蓝色(Blue)三个分量组成,它们通常被缩写为RGB。这三个不同的分量组合在一起几乎可以表示存在的任何一种颜色。例如,要获取一个**珊瑚红(Coral)**颜色我们可以这样定义一个颜色向量: +现实世界中有无数种颜色,每一个物体都有它们自己的颜色。我们需要使用(有限的)数值来模拟真实世界中(无限)的颜色,所以并不是所有现实世界中的颜色都可以用数值来表示的。然而我们仍能通过数值来表现出非常多的颜色,甚至你可能都不会注意到与现实的颜色有任何的差异。颜色可以数字化的由红色(Red)、绿色(Green)和蓝色(Blue)三个分量组成,它们通常被缩写为RGB。仅仅用这三个值就可以组合出任意一种颜色。例如,要获取一个**珊瑚红(Coral)**色的话,我们可以定义这样的一个颜色向量: ```c++ glm::vec3 coral(1.0f, 0.5f, 0.31f); ``` -我们在现实生活中看到某一物体的颜色并不是这个物体的真实颜色,而是它所反射(Reflected)的颜色。换句话说,那些不能被物体吸收(Absorb)的颜色(被反射的颜色)就是我们能够感知到的物体的颜色。例如,太阳光被认为是由许多不同的颜色组合成的白色光(如下图所示)。如果我们将白光照在一个蓝色的玩具上,这个蓝色的玩具会吸收白光中除了蓝色以外的所有颜色,不被吸收的蓝色光被反射到我们的眼中,使我们看到了一个蓝色的玩具。下图显示的是一个珊瑚红的玩具,它以不同强度的方式反射了几种不同的颜色。 +我们在现实生活中看到某一物体的颜色并不是这个物体真正拥有的颜色,而是它所反射的(Reflected)颜色。换句话说,那些不能被物体所吸收(Absorb)的颜色(被拒绝的颜色)就是我们能够感知到的物体的颜色。例如,太阳光能被看见的白光其实是由许多不同的颜色组合而成的(如下图所示)。如果我们将白光照在一个蓝色的玩具上,这个蓝色的玩具会吸收白光中除了蓝色以外的所有子颜色,不被吸收的蓝色光被反射到我们的眼中,让这个玩具看起来是蓝色的。下图显示的是一个珊瑚红的玩具,它以不同强度反射了多个颜色。 ![](../img/02/01/light_reflection.png) -正如你所见,白色的阳光是一种所有可见颜色的集合,上面的物体吸收了其中的大部分颜色,它仅反射了那些代表这个物体颜色的部分,这些被反射颜色的组合就是我们感知到的颜色(此例中为珊瑚红)。 +你可以看到,白色的阳光实际上是所有可见颜色的集合,物体吸收了其中的大部分颜色。它仅反射了代表物体颜色的部分,被反射颜色的组合就是我们所感知到的颜色(此例中为珊瑚红)。 -这些颜色反射的规律被直接地运用在图形领域。我们在OpenGL中创建一个光源时都会为它定义一个颜色。在前面的段落中所提到光源的颜色都是白色的,那我们就继续来创建一个白色的光源吧。当我们把光源的颜色与物体的颜色相乘,所得到的就是这个物体所反射该光源的颜色(也就是我们感知到的颜色)。让我们再次审视我们的玩具(这一次它还是珊瑚红)并看看如何计算出他的反射颜色。我们通过检索结果颜色的每一个分量来看一下光源色和物体颜色的反射运算: +这些颜色反射的定律被直接地运用在图形领域。当我们在OpenGL中创建一个光源时,我们希望给光源一个颜色。在上一段中我们有一个白色的太阳,所以我们也将光源设置为白色。当我们把光源的颜色与物体的颜色值相乘,所得到的就是这个物体所反射的颜色(也就是我们所感知到的颜色)。让我们再次审视我们的玩具(这一次它还是珊瑚红),看看如何在图形学中计算出它的反射颜色。我们将这两个颜色向量作分量相乘,结果就是最终的颜色向量了: ```c++ glm::vec3 lightColor(1.0f, 1.0f, 1.0f); @@ -29,7 +28,7 @@ glm::vec3 toyColor(1.0f, 0.5f, 0.31f); glm::vec3 result = lightColor * toyColor; // = (1.0f, 0.5f, 0.31f); ``` -我们可以看到玩具在进行反射时**吸收**了白色光源颜色中的大部分颜色,但它对红、绿、蓝三个分量都有一定的反射,反射量是由物体本身的颜色所决定的。这也代表着现实中的光线原理。由此,我们可以定义物体的颜色为**这个物体从一个光源反射各个颜色分量的多少**。现在,如果我们使用一束绿色的光又会发生什么呢? +我们可以看到玩具的颜色**吸收**了白色光源中很大一部分的颜色,但它根据自身的颜色值对红、绿、蓝三个分量都做出了一定的反射。这也表现了现实中颜色的工作原理。由此,我们可以定义物体的颜色为**物体从一个光源反射各个颜色分量的大小**。现在,如果我们使用绿色的光源又会发生什么呢? ```c++ glm::vec3 lightColor(0.0f, 1.0f, 0.0f); @@ -37,7 +36,7 @@ glm::vec3 toyColor(1.0f, 0.5f, 0.31f); glm::vec3 result = lightColor * toyColor; // = (0.0f, 0.5f, 0.0f); ``` -可以看到,我们的玩具没有红色和蓝色的光让它来吸收或反射,这个玩具也吸收了光线中一半的绿色,当然它仍然反射了光的一半绿色。它现在看上去是深绿色(Dark-greenish)的。我们可以看到,如果我们用一束绿色的光线照来照射玩具,那么只有绿色能被反射和感知到,没有红色和蓝色能被反射和感知。这样做的结果是,一个珊瑚红的玩具突然变成了深绿色物体。现在我们来看另一个例子,使用深橄榄绿色(Dark olive-green)的光线: +可以看到,并没有红色和蓝色的光让我们的玩具来吸收或反射。这个玩具吸收了光线中一半的绿色值,但仍然也反射了一半的绿色值。玩具现在看上去是深绿色(Dark-greenish)的。我们可以看到,如果我们用绿色光源来照射玩具,那么只有绿色分量能被反射和感知到,红色和蓝色都不能被我们所感知到。这样做的结果是,一个珊瑚红的玩具突然变成了深绿色物体。现在我们来看另一个例子,使用深橄榄绿色(Dark olive-green)的光源: ```c++ glm::vec3 lightColor(0.33f, 0.42f, 0.18f); @@ -45,23 +44,23 @@ glm::vec3 toyColor(1.0f, 0.5f, 0.31f); glm::vec3 result = lightColor * toyColor; // = (0.33f, 0.21f, 0.06f); ``` -如你所见,我们可以通过物体对不同颜色光的反射来得到意想不到的颜色,从此创作颜色已经变得非常简单。 +可以看到,我们可以使用不同的光源颜色来让物体显现出意想不到的颜色。有创意地利用颜色其实并不难。 -目前有了这些颜色相关的理论已经足够了,接下来我们将创建一个场景用来做更多的实验。 +这些颜色的理论已经足够了,下面我们来构造一个实验用的场景吧。 # 创建一个光照场景 -在接下来的教程中,我们将通过模拟真实世界中广泛存在的光照和颜色现象来创建有趣的视觉效果。现在我们将在场景中创建一个看得到的物体来代表光源,并且在场景中至少添加一个物体来模拟光照。 +在接下来的教程中,我们将会广泛地使用颜色来模拟现实世界中的光照效果,创造出一些有趣的视觉效果。由于我们现在将会使用光源了,我们希望将它们显示为可见的物体,并在场景中至少加入一个物体来测试模拟光照的效果。 -首先我们需要一个物体来投光(Cast the light),我们将无耻地使用前面教程中的立方体箱子。我们还需要一个物体来代表光源,它代表光源在这个3D空间中的确切位置。简单起见,我们依然使用一个立方体来代表光源(我们已拥有立方体的[顶点数据](http://www.learnopengl.com/code_viewer.php?code=getting-started/cube_vertices)是吧?)。 +首先我们需要一个物体来作为被投光(Cast the light)的对象,我们将使用前面教程中的那个著名的立方体箱子。我们还需要一个物体来代表光源在3D场景中的位置。简单起见,我们依然使用一个立方体来代表光源(我们已拥有立方体的[顶点数据](https://learnopengl.com/code_viewer.php?code=getting-started/cube_vertices)是吧?)。 -当然,填一个顶点缓冲对象(VBO),设定一下顶点属性指针和其他一些乱七八糟的东西现在对你来说应该很容易了,所以我们就不再赘述那些步骤了。如果你仍然觉得这很困难,我建议你复习[之前的教程](../01 Getting started/04 Hello Triangle.md),并且在继续学习之前先把练习过一遍。 +填一个顶点缓冲对象(VBO),设定一下顶点属性指针和其它一些乱七八糟的东西现在对你来说应该很容易了,所以我们就不再赘述那些步骤了。如果你仍然觉得这很困难,我建议你复习[之前的教程](../01 Getting started/04 Hello Triangle.md),并且在继续学习之前先把练习过一遍。 -所以,我们首先需要一个顶点着色器来绘制箱子。与上一个教程的顶点着色器相比,容器的顶点位置保持不变(虽然这一次我们不需要纹理坐标),因此顶点着色器中没有新的代码。我们将会使用上一篇教程顶点着色器的精简版: +我们首先需要一个顶点着色器来绘制箱子。与之前的顶点着色器相比,容器的顶点位置是保持不变的(虽然这一次我们不需要纹理坐标了),因此顶点着色器中没有新的代码。我们将会使用之前教程顶点着色器的精简版: ```c++ #version 330 core -layout (location = 0) in vec3 position; +layout (location = 0) in vec3 aPos; uniform mat4 model; uniform mat4 view; @@ -69,68 +68,66 @@ uniform mat4 projection; void main() { - gl_Position = projection * view * model * vec4(position, 1.0f); + gl_Position = projection * view * model * vec4(aPos, 1.0); } ``` -请确认更新你的顶点数据和属性对应的指针与新的顶点着色器一致(当然你可以继续保留纹理数据并保持属性对应的指针有效。在这一节中我们不使用纹理,但如果你想要一个全新的开始那也不是什么坏主意)。 +记得更新你的顶点数据和属性指针使其与新的顶点着色器保持一致(当然你可以继续留着纹理数据和属性指针。在这一节中我们将不会用到它们,但有一个全新的开始也不是什么坏主意)。 -因为我们还要创建一个表示灯(光源)的立方体,所以我们还要为这个灯创建一个特殊的VAO。当然我们也可以让这个灯和其他物体使用同一个VAO然后对他的`model`(模型)矩阵做一些变换,然而接下来的教程中我们会频繁地对顶点数据做一些改变并且需要改变属性对应指针设置,我们并不想因此影响到灯(我们只在乎灯的位置),因此我们有必要为灯创建一个新的VAO。 +因为我们还要创建一个表示灯(光源)的立方体,所以我们还要为这个灯创建一个专门的VAO。当然我们也可以让这个灯和其它物体使用同一个VAO,简单地对它的model(模型)矩阵做一些变换就好了,然而接下来的教程中我们会频繁地对顶点数据和属性指针做出修改,我们并不想让这些修改影响到灯(我们只关心灯的顶点位置),因此我们有必要为灯创建一个新的VAO。 ```c++ -GLuint lightVAO; +unsigned int lightVAO; glGenVertexArrays(1, &lightVAO); glBindVertexArray(lightVAO); -// 只需要绑定VBO不用再次设置VBO的数据,因为容器(物体)的VBO数据中已经包含了正确的立方体顶点数据 +// 只需要绑定VBO不用再次设置VBO的数据,因为箱子的VBO数据中已经包含了正确的立方体顶点数据 glBindBuffer(GL_ARRAY_BUFFER, VBO); -// 设置灯立方体的顶点属性指针(仅设置灯的顶点数据) -glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(GLfloat), (GLvoid*)0); +// 设置灯立方体的顶点属性(对我们的灯来说仅仅只有位置数据) +glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0); glEnableVertexAttribArray(0); -glBindVertexArray(0); ``` -这段代码对你来说应该非常直观。既然我们已经创建了表示灯和被照物体的立方体,我们只需要再定义一个东西就行了了,那就是片段着色器 +这段代码对你来说应该非常直观。现在我们已经创建了表示灯和被照物体箱子,我们只需要再定义一个片段着色器就行了: ```c++ #version 330 core -out vec4 color; - +out vec4 FragColor; + uniform vec3 objectColor; uniform vec3 lightColor; void main() { - color = vec4(lightColor * objectColor, 1.0f); + FragColor = vec4(lightColor * objectColor, 1.0); } ``` -这个片段着色器接受两个分别表示物体颜色和光源颜色的uniform变量。正如本篇教程一开始所讨论的一样,我们将光源的颜色与物体(能反射)的颜色相乘。这个着色器应该很容易理解。接下来让我们把物体的颜色设置为上一节中所提到的珊瑚红并把光源设置为白色: +这个片段着色器从uniform变量中接受物体的颜色和光源的颜色。正如本节一开始所讨论的那样,我们将光源的颜色和物体(反射的)颜色相乘。这个着色器理解起来应该很容易。我们把物体的颜色设置为之前提到的珊瑚红色,并把光源设置为白色。 ```c++ -// 在此之前不要忘记首先'使用'对应的着色器程序(来设定uniform) -GLint objectColorLoc = glGetUniformLocation(lightingShader.Program, "objectColor"); -GLint lightColorLoc = glGetUniformLocation(lightingShader.Program, "lightColor"); -glUniform3f(objectColorLoc, 1.0f, 0.5f, 0.31f);// 我们所熟悉的珊瑚红 -glUniform3f(lightColorLoc, 1.0f, 1.0f, 1.0f); // 依旧把光源设置为白色 +// 在此之前不要忘记首先 use 对应的着色器程序(来设定uniform) +lightingShader.use(); +lightingShader.setVec3("objectColor", 1.0f, 0.5f, 0.31f); +lightingShader.setVec3("lightColor", 1.0f, 1.0f, 1.0f); ``` -要注意的是,当我们修改顶点或者片段着色器后,灯的位置或颜色也会随之改变,这并不是我们想要的效果。我们不希望灯对象的颜色在接下来的教程中因光照计算的结果而受到影响,而希望它能够独立。希望表示灯不受其他光照的影响而一直保持明亮(这样它才更像是一个真实的光源)。 +要注意的是,当我们修改顶点或者片段着色器后,灯的位置或颜色也会随之改变,这并不是我们想要的效果。我们不希望灯的颜色在接下来的教程中因光照计算的结果而受到影响,而是希望它能够与其它的计算分离。我们希望灯一直保持明亮,不受其它颜色变化的影响(这样它才更像是一个真实的光源)。 -为了实现这个目的,我们需要为灯创建另外的一套着色器程序,从而能保证它能够在其他光照着色器变化的时候保持不变。顶点着色器和我们当前的顶点着色器是一样的,所以你可以直接把灯的顶点着色器复制过来。片段着色器保证了灯的颜色一直是亮的,我们通过给灯定义一个常量的白色来实现: +为了实现这个目标,我们需要为灯的绘制创建另外的一套着色器,从而能保证它能够在其它光照着色器发生改变的时候不受影响。顶点着色器与我们当前的顶点着色器是一样的,所以你可以直接把现在的顶点着色器用在灯上。灯的片段着色器给灯定义了一个不变的常量白色,保证了灯的颜色一直是亮的: ```c++ #version 330 core -out vec4 color; +out vec4 FragColor; void main() { - color = vec4(1.0f); //设置四维向量的所有元素为 1.0f + FragColor = vec4(1.0); // 将向量的四个分量全部设置为1.0 } ``` -当我们想要绘制我们的物体的时候,我们需要使用刚刚定义的光照着色器绘制箱子(或者可能是其它的一些物体),让我们想要绘制灯的时候,我们会使用灯的着色器。在之后的教程里我们会逐步升级这个光照着色器从而能够缓慢的实现更真实的效果。 +当我们想要绘制我们的物体的时候,我们需要使用刚刚定义的光照着色器来绘制箱子(或者可能是其它的物体)。当我们想要绘制灯的时候,我们会使用灯的着色器。在之后的教程里我们会逐步更新这个光照着色器,从而能够慢慢地实现更真实的效果。 -使用这个灯立方体的主要目的是为了让我们知道光源在场景中的具体位置。我们通常在场景中定义一个光源的位置,但这只是一个位置,它并没有视觉意义。为了显示真正的灯,我们将表示光源的灯立方体绘制在与光源同样的位置。我们将使用我们为它新建的片段着色器让它保持它一直处于白色状态,不受场景中的光照影响。 +使用这个灯立方体的主要目的是为了让我们知道光源在场景中的具体位置。我们通常在场景中定义一个光源的位置,但这只是一个位置,它并没有视觉意义。为了显示真正的灯,我们将表示光源的立方体绘制在与光源相同的位置。我们将使用我们为它新建的片段着色器来绘制它,让它一直处于白色的状态,不受场景中的光照影响。 我们声明一个全局`vec3`变量来表示光源在场景的世界空间坐标中的位置: @@ -138,7 +135,7 @@ void main() glm::vec3 lightPos(1.2f, 1.0f, 2.0f); ``` -然后我们把灯平移到这儿,当然我们需要对它进行缩放,让它不那么明显: +然后我们把灯位移到这里,然后将它缩小一点,让它不那么明显: ```c++ model = glm::mat4(); @@ -149,21 +146,20 @@ model = glm::scale(model, glm::vec3(0.2f)); 绘制灯立方体的代码应该与下面的类似: ```c++ -lampShader.Use(); +lampShader.use(); // 设置模型、视图和投影矩阵uniform ... // 绘制灯立方体对象 glBindVertexArray(lightVAO); glDrawArrays(GL_TRIANGLES, 0, 36); -glBindVertexArray(0); ``` 请把上述的所有代码片段放在你程序中合适的位置,这样我们就能有一个干净的光照实验场地了。如果一切顺利,运行效果将会如下图所示: ![](../img/02/01/colors_scene.png) -没什么好看的是吗?但我保证在接下来的教程中它会给你有趣的视觉效果。 +没什么好看的是吗?但我保证在接下来的教程中它会变得更加有趣。 -如果你在把上述代码片段放到一起编译遇到困难,可以去认真地看看我的[源代码](http://learnopengl.com/code_viewer.php?code=lighting/colors_scene)。你好最自己实现一遍这些操作。 +如果你觉得将上面的代码片段整合到一起非常困难,可以来[这里](https://learnopengl.com/code_viewer_gh.php?code=src/2.lighting/1.colors/colors.cpp)看一下源代码,并仔细研究我的代码和注释。 -现在我们有了一些关于颜色的知识,并且创建了一个基本的场景能够绘制一些漂亮的光线。你现在可以阅读[下一节](02 Basic Lighting.md),真正的魔法即将开始! +我们现在已经对颜色有一定的了解了,并且已经创建了一个简单的场景供我们之后绘制动感的光照,我们可以进入[下一节](02 Basic Lighting.md)进行学习,真正的魔法即将开始! diff --git a/glossary.md b/glossary.md index 1ef433a..bbb43d6 100644 --- a/glossary.md +++ b/glossary.md @@ -174,6 +174,13 @@ - Roll:滚转角 - Field of View(FoV):视野 +## 02-01 + +- Lighting:光照 +- Reflect:反射 +- Absorb:吸收 +- Container(第一章创建的那个物体):箱子 + ## 06-01 - Debugging:调试 From 689e936dc732d4ed4dc40c175096e7668bc65f10 Mon Sep 17 00:00:00 2001 From: Meow J Date: Mon, 19 Jun 2017 03:31:22 +0800 Subject: [PATCH 20/21] Update 02-02 --- docs/02 Lighting/02 Basic Lighting.md | 174 ++++++++++---------- docs/img/02/02/basic_lighting_exercise3.png | Bin 0 -> 20727 bytes glossary.md | 24 +++ mkdocs.yml | 2 +- 4 files changed, 113 insertions(+), 87 deletions(-) create mode 100644 docs/img/02/02/basic_lighting_exercise3.png diff --git a/docs/02 Lighting/02 Basic Lighting.md b/docs/02 Lighting/02 Basic Lighting.md index 6dbde66..5c82318 100644 --- a/docs/02 Lighting/02 Basic Lighting.md +++ b/docs/02 Lighting/02 Basic Lighting.md @@ -1,4 +1,4 @@ -# 光照基础 +# 基础光照 原文 | [Basic Lighting](http://learnopengl.com/#!Lighting/Basic-Lighting) ---|--- @@ -6,97 +6,99 @@ 翻译 | [Django](http://bullteacher.com/) 校对 | Geequlim, [BLumia](https://github.com/blumia/) -现实世界的光照是极其复杂的,而且会受到诸多因素的影响,这是以目前我们所拥有的处理能力无法模拟的。因此OpenGL的光照仅仅使用了简化的模型并基于对现实的估计来进行模拟,这样处理起来会更容易一些,而且看起来也差不多一样。这些光照模型都是基于我们对光的物理特性的理解。其中一个模型被称为冯氏光照模型(Phong Lighting Model)。冯氏光照模型的主要结构由3个元素组成:环境(Ambient)、漫反射(Diffuse)和镜面(Specular)光照。这些光照元素看起来像下面这样: +现实世界的光照是极其复杂的,而且会受到诸多因素的影响,这是我们有限的计算能力所无法模拟的。因此OpenGL的光照使用的是简化的模型,对现实的情况进行近似,这样处理起来会更容易一些,而且看起来也差不多一样。这些光照模型都是基于我们对光的物理特性的理解。其中一个模型被称为冯氏光照模型(Phong Lighting Model)。冯氏光照模型的主要结构由3个分量组成:环境(Ambient)、漫反射(Diffuse)和镜面(Specular)光照。下面这张图展示了这些光照分量看起来的样子: ![](../img/02/02/basic_lighting_phong.png) -- 环境光照(Ambient Lighting):即使在黑暗的情况下,世界上也仍然有一些光亮(月亮、一个来自远处的光),所以物体永远不会是完全黑暗的。我们使用环境光照来模拟这种情况,也就是无论如何永远都给物体一些颜色。 -- 漫反射光照(Diffuse Lighting):模拟一个发光物对物体的方向性影响(Directional Impact)。它是冯氏光照模型最显著的组成部分。面向光源的一面比其他面会更亮。 -- 镜面光照(Specular Lighting):模拟有光泽物体上面出现的亮点。镜面光照的颜色,相比于物体的颜色更倾向于光的颜色。 +- 环境光照(Ambient Lighting):即使在黑暗的情况下,世界上通常也仍然有一些光亮(月亮、远处的光),所以物体几乎永远不会是完全黑暗的。为了模拟这个,我们会使用一个环境光照常量,它永远会给物体一些颜色。 +- 漫反射光照(Diffuse Lighting):模拟光源对物体的方向性影响(Directional Impact)。它是冯氏光照模型中视觉上最显著的分量。物体的某一部分越是正对着光源,它就会越亮。 +- 镜面光照(Specular Lighting):模拟有光泽物体上面出现的亮点。镜面光照的颜色相比于物体的颜色会更倾向于光的颜色。 -为了创建有趣的视觉场景,我们希望模拟至少这三种光照元素。我们将以最简单的一个开始:**环境光照**。 +为了创建有趣的视觉场景,我们希望模拟至少这三种光照分量。我们将以最简单的一个开始:**环境光照**。 # 环境光照 -光通常都不是来自于同一光源,而是来自散落于我们周围的很多光源,即使它们可能并不是那么显而易见。光的一个属性是,它可以向很多方向发散和反弹,所以光最后到达的地点可能并不是它所临近的直射方向;光能够像这样**反射(Reflect)**到其他表面,一个物体的光照可能受到来自一个非直射的光源影响。考虑到这种情况的算法叫做**全局照明(Global Illumination)**算法,但是这种算法既开销高昂又极其复杂。 +光通常都不是来自于同一个光源,而是来自于我们周围分散的很多光源,即使它们可能并不是那么显而易见。光的一个属性是,它可以向很多方向发散并反弹,从而能够到达不是非常直接临近的点。所以,光能够在其它的表面上**反射**,对一个物体产生间接的影响。考虑到这种情况的算法叫做全局照明(Global Illumination)算法,但是这种算法既开销高昂又极其复杂。 -因为我们不是复杂和昂贵算法的死忠粉丝,所以我们将会使用一种简化的全局照明模型,叫做环境光照(Ambient Lighting)。如你在前面章节所见,我们使用一个(数值)很小的常量(光)颜色添加进物体**片段**(Fragment,指当前讨论的光线在物体上的照射点)的最终颜色里,这看起来就像即使没有直射光源也始终存在着一些发散的光。 +由于我们现在对那种又复杂又开销高昂的算法不是很感兴趣,所以我们将会先使用一个简化的全局照明模型,即环境光照。正如你在上一节所学到的,我们使用一个很小的常量(光照)颜色,添加到物体片段的最终颜色中,这样子的话即便场景中没有直接的光源也能看起来存在有一些发散的光。 -把环境光照添加到场景里非常简单。我们用光的颜色乘以一个(数值)很小常量环境因子,再乘以物体的颜色,然后使用它作为片段的颜色: +把环境光照添加到场景里非常简单。我们用光的颜色乘以一个很小的常量环境因子,再乘以物体的颜色,然后将最终结果作为片段的颜色: ```c++ void main() { - float ambientStrength = 0.1f; + float ambientStrength = 0.1; vec3 ambient = ambientStrength * lightColor; + vec3 result = ambient * objectColor; - color = vec4(result, 1.0f); + FragColor = vec4(result, 1.0); } ``` -如果你现在运行你的程序,你会注意到冯氏光照的第一个阶段已经应用到你的物体上了。这个物体非常暗,但不是完全的黑暗,因为我们应用了环境光照(注意发光立方体没被环境光照影响是因为我们对它使用了另一个着色器)。它看起来应该像这样: +如果你现在运行你的程序,你会注意到冯氏光照的第一个阶段已经应用到你的物体上了。这个物体非常暗,但由于应用了环境光照(注意光源立方体没受影响是因为我们对它使用了另一个着色器),也不是完全黑的。它看起来应该像这样: ![](../img/02/02/ambient_lighting.png) # 漫反射光照 -环境光本身不提供最明显的光照效果,但是漫反射光照(Diffuse Lighting)会对物体产生显著的视觉影响。漫反射光使物体上与光线排布越近的片段越能从光源处获得更多的亮度。为了更好的理解漫反射光照,请看下图: +环境光照本身不能提供最有趣的结果,但是漫反射光照就能开始对物体产生显著的视觉影响了。漫反射光照使物体上与光线方向越接近的片段能从光源处获得更多的亮度。为了能够更好的理解漫反射光照,请看下图: ![](../img/02/02/diffuse_light.png) -图左上方有一个光源,它所发出的光线落在物体的一个片段上。我们需要测量这个光线与它所接触片段之间的角度。如果光线垂直于物体表面,这束光对物体的影响会最大化(译注:更亮)。为了测量光线和片段的角度,我们使用一个叫做法向量(Normal Vector)的东西,它是垂直于片段表面的一种向量(这里以黄色箭头表示),我们在后面再讲这个东西。两个向量之间的角度就能够根据点乘计算出来。 +图左上方有一个光源,它所发出的光线落在物体的一个片段上。我们需要测量这个光线是以什么角度接触到这个片段的。如果光线垂直于物体表面,这束光对物体的影响会最大化(译注:更亮)。为了测量光线和片段的角度,我们使用一个叫做法向量(Normal Vector)的东西,它是垂直于片段表面的一个向量(这里以黄色箭头表示),我们在后面再讲这个东西。这两个向量之间的角度很容易就能够通过点乘计算出来。 -你可能记得在[变换](../01 Getting started/07 Transformations.md)那一节教程里,我们知道两个单位向量的角度越小,它们点乘的结果越倾向于1。当两个向量的角度是90度的时候,点乘会变为0。这同样适用于θ,θ越大,光对片段颜色的影响越小。 +你可能记得在[变换](../01 Getting started/07 Transformations.md)那一节教程里,我们知道两个单位向量的夹角越小,它们点乘的结果越倾向于1。当两个向量的夹角为90度的时候,点乘会变为0。这同样适用于\(\theta\),\(\theta\)越大,光对片段颜色的影响就应该越小。 !!! Important - 注意,我们使用的是单位向量(Unit Vector,长度是1的向量)取得两个向量夹角的余弦值,所以我们需要确保所有的向量都被标准化,否则点乘返回的值就不仅仅是余弦值了(如果你不明白,可以复习[变换](../01 Getting started/07 Transformations.md)那一节的点乘部分)。 + 注意,为了(只)得到两个向量夹角的余弦值,我们使用的是单位向量(长度为1的向量),所以我们需要确保所有的向量都是标准化的,否则点乘返回的就不仅仅是余弦值了(见[变换](../01 Getting started/07 Transformations.md))。 -点乘返回一个标量,我们可以用它计算光线对片段颜色的影响,基于不同片段所朝向光源的方向的不同,这些片段被照亮的情况也不同。 +点乘返回一个标量,我们可以用它计算光线对片段颜色的影响。不同片段朝向光源的方向的不同,这些片段被照亮的情况也不同。 -所以,我们需要些什么来计算漫反射光照? +所以,计算漫反射光照需要什么? - 法向量:一个垂直于顶点表面的向量。 -- 定向的光线:作为光的位置和片段的位置之间的向量差的方向向量。为了计算这个光线,我们需要光的位置向量和片段的位置向量。 +- 定向的光线:作为光源的位置与片段的位置之间向量差的方向向量。为了计算这个光线,我们需要光的位置向量和片段的位置向量。 ## 法向量 -法向量(Normal Vector)是垂直于顶点表面的(单位)向量。由于顶点自身并没有表面(它只是空间中一个独立的点),我们利用顶点周围的顶点计算出这个顶点的表面。我们能够使用叉乘这个技巧为立方体所有的顶点计算出法线,但是由于3D立方体不是一个复杂的形状,所以我们可以简单的把法线数据手工添加到顶点数据中。更新的顶点数据数组可以在[这里](http://learnopengl.com/code_viewer.php?code=lighting/basic_lighting_vertex_data)找到。试着去想象一下,这些法向量真的是垂直于立方体的各个面的表面的(一个立方体由6个面组成)。 +法向量是一个垂直于顶点表面的(单位)向量。由于顶点本身并没有表面(它只是空间中一个独立的点),我们利用它周围的顶点来计算出这个顶点的表面。我们能够使用一个小技巧,使用叉乘对立方体所有的顶点计算法向量,但是由于3D立方体不是一个复杂的形状,所以我们可以简单地把法线数据手工添加到顶点数据中。更新后的顶点数据数组可以在[这里](https://learnopengl.com/code_viewer.php?code=lighting/basic_lighting_vertex_data)找到。试着去想象一下,这些法向量真的是垂直于立方体各个平面的表面的(一个立方体由6个平面组成)。 -因为我们向顶点数组添加了额外的数据,所以我们应该更新光照的顶点着色器: +由于我们向顶点数组添加了额外的数据,所以我们应该更新光照的顶点着色器: ```c++ #version 330 core -layout (location = 0) in vec3 position; -layout (location = 1) in vec3 normal; +layout (location = 0) in vec3 aPos; +layout (location = 1) in vec3 aNormal; ... ``` -现在我们已经向每个顶点添加了一个法向量,已经更新了顶点着色器,我们还要更新顶点属性指针(Vertex Attibute Pointer)。注意,发光物使用同样的顶点数组作为它的顶点数据,然而发光物的着色器没有使用新添加的法向量。我们不会更新发光物的着色器或者属性配置,但是我们必须至少修改一下顶点属性指针来适应新的顶点数组的大小: +现在我们已经向每个顶点添加了一个法向量并更新了顶点着色器,我们还要更新顶点属性指针。注意,灯使用同样的顶点数组作为它的顶点数据,然而灯的着色器并没有使用新添加的法向量。我们不需要更新灯的着色器或者是属性的配置,但是我们必须至少修改一下顶点属性指针来适应新的顶点数组的大小: ```c++ -glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(GLfloat), (GLvoid * )0); +glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)0); glEnableVertexAttribArray(0); ``` -我们只想使用每个顶点的前三个浮点数,并且我们忽略后三个浮点数,所以我们只需要把**步长**参数改成`GLfloat`尺寸的6倍就行了。 +我们只想使用每个顶点的前三个float,并且忽略后三个float,所以我们只需要把**步长**参数改成`float`大小的6倍就行了。 !!! Important - 发光物着色器顶点数据的不完全使用看起来有点低效,但是这些顶点数据已经从立方体对象载入到GPU的内存里了,所以GPU内存不是必须再储存新数据。相对于重新给发光物分配VBO,实际上却是更高效了。 + 虽然对灯的着色器使用不能完全利用的顶点数据看起来不是那么高效,但这些顶点数据已经从箱子对象载入后开始就储存在GPU的内存里了,所以我们并不需要储存新数据到GPU内存中。这实际上比给灯专门分配一个新的VBO更高效了。 -所有光照的计算需要在片段着色器里进行,所以我们需要把法向量由顶点着色器传递到片段着色器。我们这么做: +所有光照的计算都是在片段着色器里进行,所以我们需要将法向量由顶点着色器传递到片段着色器。我们这么做: ```c++ out vec3 Normal; + void main() { - gl_Position = projection * view * model * vec4(position, 1.0f); - Normal = normal; + gl_Position = projection * view * model * vec4(aPos, 1.0); + Normal = aNormal; } ``` -剩下要做的事情是,在片段着色器中定义相应的输入值: +接下来,在片段着色器中定义相应的输入变量: ```c++ in vec3 Normal; @@ -104,30 +106,29 @@ in vec3 Normal; ## 计算漫反射光照 -每个顶点现在都有了法向量,但是我们仍然需要光的位置向量和片段的位置向量。由于光的位置是一个静态变量,我们可以简单的在片段着色器中把它声明为uniform: +我们现在对每个顶点都有了法向量,但是我们仍然需要光源的位置向量和片段的位置向量。由于光源的位置是一个静态变量,我们可以简单地在片段着色器中把它声明为uniform: ```c++ uniform vec3 lightPos; ``` -然后再游戏循环中(外面也可以,因为它不会变)更新uniform。我们使用在前面教程中声明的`lightPos`向量作为光源位置: +然后在渲染循环中(渲染循环的外面也可以,因为它不会改变)更新uniform。我们使用在前面声明的lightPos向量作为光源位置: ```c++ -GLint lightPosLoc = glGetUniformLocation(lightingShader.Program, "lightPos"); -glUniform3f(lightPosLoc, lightPos.x, lightPos.y, lightPos.z); +lightingShader.setVec3("lightPos", lightPos); ``` -最后,我们还需要片段的位置(Position)。我们会在世界空间中进行所有的光照计算,因此我们需要一个在世界空间中的顶点位置。我们可以通过把顶点位置属性乘以模型矩阵(Model Matrix,只用模型矩阵不需要用观察和投影矩阵)来把它变换到世界空间坐标。这个在顶点着色器中很容易完成,所以让我们就声明一个输出(out)变量,然后计算它的世界空间坐标: +最后,我们还需要片段的位置。我们会在世界空间中进行所有的光照计算,因此我们需要一个在世界空间中的顶点位置。我们可以通过把顶点位置属性乘以模型矩阵(不是观察和投影矩阵)来把它变换到世界空间坐标。这个在顶点着色器中很容易完成,所以我们声明一个输出变量,并计算它的世界空间坐标: ```c++ -out vec3 FragPos; +out vec3 FragPos; out vec3 Normal; - + void main() { - gl_Position = projection * view * model * vec4(position, 1.0f); - FragPos = vec3(model * vec4(position, 1.0f)); - Normal = normal; + gl_Position = projection * view * model * vec4(aPos, 1.0); + FragPos = vec3(model * vec4(aPos, 1.0)); + Normal = aNormal; } ``` @@ -137,9 +138,9 @@ void main() in vec3 FragPos; ``` -现在,所有需要的变量都设置好了,我们可以在片段着色器中开始光照的计算了。 +现在,所有需要的变量都设置好了,我们可以在片段着色器中添加光照计算了。 -我们需要做的第一件事是计算光源和片段位置之间的方向向量。前面提到,光的方向向量是光的位置向量与片段的位置向量之间的向量差。你可能记得,在变换教程中,我们简单的通过两个向量相减的方式计算向量差。我们同样希望确保所有相关向量最后都转换为单位向量,所以我们把法线和方向向量这个结果都进行标准化: +我们需要做的第一件事是计算光源和片段位置之间的方向向量。前面提到,光的方向向量是光源位置向量与片段位置向量之间的向量差。你可能记得在[变换](../01 Getting started/07 Transformations.md)教程中,我们能够简单地通过让两个向量相减的方式计算向量差。我们同样希望确保所有相关向量最后都转换为单位向量,所以我们把法线和最终的方向向量都进行标准化: ```c++ vec3 norm = normalize(Normal); @@ -148,137 +149,138 @@ vec3 lightDir = normalize(lightPos - FragPos); !!! Important - 当计算光照时我们通常不关心一个向量的“量”或它的位置,我们只关心它们的方向。所有的计算都使用单位向量完成,因为这会简化了大多数计算(比如点乘)。所以当进行光照计算时,确保你总是对相关向量进行标准化,这样它们才会保证自身为单位向量。忘记对向量进行标准化是一个十分常见的错误。 + 当计算光照时我们通常不关心一个向量的模长或它的位置,我们只关心它们的方向。所以,几乎所有的计算都使用单位向量完成,因为这简化了大部分的计算(比如点乘)。所以当进行光照计算时,确保你总是对相关向量进行标准化,来保证它们是真正地单位向量。忘记对向量进行标准化是一个十分常见的错误。 -下一步,我们对`norm`和`lightDir`向量进行点乘,来计算光对当前片段的实际的散射影响。结果值再乘以光的颜色,得到散射因子。两个向量之间的角度越大,散射因子就会越小: +下一步,我们对normlightDir向量进行点乘,计算光源对当前片段实际的漫发射影响。结果值再乘以光的颜色,得到漫反射分量。两个向量之间的角度越大,漫反射分量就会越小: ```c++ float diff = max(dot(norm, lightDir), 0.0); vec3 diffuse = diff * lightColor; ``` -如果两个向量之间的角度大于90度,点乘的结果就会变成负数,这样会导致散射因子变为负数。为此,我们使用`max`函数返回两个参数之间较大的参数,从而保证散射因子不会变成负数。负数的颜色是没有实际定义的,所以最好避免它,除非你是那种古怪的艺术家。 +如果两个向量之间的角度大于90度,点乘的结果就会变成负数,这样会导致漫反射分量变为负数。为此,我们使用max函数返回两个参数之间较大的参数,从而保证漫反射分量不会变成负数。负数颜色的光照是没有定义的,所以最好避免它,除非你是那种古怪的艺术家。 -既然我们有了一个环境光照颜色和一个散射光颜色,我们把它们相加,然后把结果乘以物体的颜色,来获得片段最后的输出颜色。 +现在我们有了环境光分量和漫反射分量,我们把它们相加,然后把结果乘以物体的颜色,来获得片段最后的输出颜色。 ```c++ vec3 result = (ambient + diffuse) * objectColor; -color = vec4(result, 1.0f); +FragColor = vec4(result, 1.0); ``` 如果你的应用(和着色器)编译成功了,你可能看到类似的输出: ![](../img/02/02/basic_lighting_diffuse.png) -你可以看到使用了散射光照,立方体看起来就真的像个立方体了。尝试在你的脑中想象,通过移动正方体,法向量和光的方向向量之间的夹角增大,片段变得更暗。 +你可以看到使用了漫反射光照,立方体看起来就真的像个立方体了。尝试在你的脑中想象一下法向量,并在立方体周围移动,注意观察法向量和光的方向向量之间的夹角越大,片段就会越暗。 -如果你遇到很多困难,可以对比[完整的源代码](http://learnopengl.com/code_viewer.php?code=lighting/basic_lighting_diffuse)以及[片段着色器](http://learnopengl.com/code_viewer.php?code=lighting/basic_lighting_diffuse&type=fragment)代码。 +如果你在哪卡住了,可以在[这里](https://learnopengl.com/code_viewer_gh.php?code=src/2.lighting/2.1.basic_lighting_diffuse/basic_lighting_diffuse.cpp)对比一下完整的源代码。 ## 最后一件事 -现在我们已经把法向量从顶点着色器传到了片段着色器。可是,目前片段着色器里,我们都是在世界空间坐标中进行计算的,所以,我们不是应该把法向量转换为世界空间坐标吗?基本正确,但是这不是简单地把它乘以一个模型矩阵就能搞定的。 +现在我们已经把法向量从顶点着色器传到了片段着色器。可是,目前片段着色器里的计算都是在世界空间坐标中进行的。所以,我们是不是应该把法向量也转换为世界空间坐标?基本正确,但是这不是简单地把它乘以一个模型矩阵就能搞定的。 -首先,法向量只是一个方向向量,不能表达空间中的特定位置。同时,法向量没有齐次坐标(顶点位置中的w分量)。这意味着,平移不应该影响到法向量。因此,如果我们打算把法向量乘以一个模型矩阵,我们就要把模型矩阵左上角的3×3矩阵从模型矩阵中移除(译注:所谓移除就是设置为0),它是模型矩阵的平移部分(注意,我们也可以把法向量的w分量设置为0,再乘以4×4矩阵;同样可以移除平移)。对于法向量,我们只能对它应用缩放(Scale)和旋转(Rotation)变换。 +首先,法向量只是一个方向向量,不能表达空间中的特定位置。同时,法向量没有齐次坐标(顶点位置中的w分量)。这意味着,位移不应该影响到法向量。因此,如果我们打算把法向量乘以一个模型矩阵,我们就要把模型矩阵左上角3×3的位移部分矩阵移除(译注:所谓移除就是设置为0)(注意,我们也可以把法向量的w分量设置为0,再乘以4×4矩阵;这同样可以移除位移)。对于法向量,我们只希望对它实施缩放和旋转变换。 -其次,如果模型矩阵执行了不等比缩放,法向量就不再垂直于表面了,顶点就会以这种方式被改变了。因此,我们不能用这样的模型矩阵去乘以法向量。下面的图展示了应用了不等比缩放的矩阵对法向量的影响: +其次,如果模型矩阵执行了不等比缩放,顶点的改变会导致法向量不再垂直于表面了。因此,我们不能用这样的模型矩阵来变换法向量。下面的图展示了应用了不等比缩放的模型矩阵对法向量的影响: ![](../img/02/02/basic_lighting_normal_transformation.png) -无论何时当我们提交一个不等比缩放(注意:等比缩放不会破坏法线,因为法线的方向没被改变,而法线的长度很容易通过标准化进行修复),法向量就不会再垂直于它们的表面了,这样光照会被扭曲。 +每当我们应用一个不等比缩放时(注意:等比缩放不会破坏法线,因为法线的方向没被改变,仅仅改变了法线的长度,而这很容易通过标准化来修复),法向量就不会再垂直于对应的表面了,这样光照就会被破坏。 -修复这个行为的诀窍是使用另一个为法向量专门定制的模型矩阵。这个矩阵称之为正规矩阵(Normal Matrix),它是进行了一点线性代数操作移除了对法向量的错误缩放效果。如果你想知道这个矩阵是如何计算出来的,我建议看[这个文章](http://www.lighthouse3d.com/tutorials/glsl-tutorial/the-normal-matrix/)。 +修复这个行为的诀窍是使用一个为法向量专门定制的模型矩阵。这个矩阵称之为法线矩阵(Normal Matrix),它使用了一些线性代数的操作来移除对法向量错误缩放的影响。如果你想知道这个矩阵是如何计算出来的,建议去阅读这个[文章](http://www.lighthouse3d.com/tutorials/glsl-tutorial/the-normal-matrix/)。 -正规矩阵被定义为“模型矩阵左上角的逆矩阵的转置矩阵”。真拗口,如果你不明白这是什么意思,别担心;我们还没有讨论逆矩阵(Inverse Matrix)和转置矩阵(Transpose Matrix)。注意,定义正规矩阵的大多资源就像应用到模型观察矩阵(Model-view Matrix)上的操作一样,但是由于我们只在世界空间工作(而不是在观察空间),我们只使用模型矩阵。 +法线矩阵被定义为「模型矩阵左上角的逆矩阵的转置矩阵」。真是拗口,如果你不明白这是什么意思,别担心,我们还没有讨论逆矩阵(Inverse Matrix)和转置矩阵(Transpose Matrix)。注意,大部分的资源都会将法线矩阵定义为应用到模型-观察矩阵(Model-view Matrix)上的操作,但是由于我们只在世界空间中进行操作(不是在观察空间),我们只使用模型矩阵。 -在顶点着色器中,我们可以使用`inverse`和`transpose`函数自己生成正规矩阵,`inverse`和`transpose`函数对所有类型矩阵都有效。注意,我们也要把这个被处理过的矩阵强制转换为3×3矩阵,这是为了保证它失去了平移属性,之后它才能乘以法向量。 +在顶点着色器中,我们可以使用inversetranspose函数自己生成这个法线矩阵,这两个函数对所有类型矩阵都有效。注意我们还要把被处理过的矩阵强制转换为3×3矩阵,来保证它失去了位移属性以及能够乘以`vec3`的法向量。 ```c++ -Normal = mat3(transpose(inverse(model))) * normal; +Normal = mat3(transpose(inverse(model))) * aNormal; ``` -在环境光照部分,光照表现没问题,这是因为我们没有对物体本身执行任何缩放操作,因而不是非得使用正规矩阵不可,用模型矩阵乘以法线也没错。可是,如果你进行了不等比缩放,使用正规矩阵去乘以法向量就是必不可少的了。 +在漫反射光照部分,光照表现并没有问题,这是因为我们没有对物体本身执行任何缩放操作,所以并不是必须要使用一个法线矩阵,仅仅让模型矩阵乘以法线也可以。可是,如果你进行了不等比缩放,使用法线矩阵去乘以法向量就是必不可少的了。 !!! Attention - 对于着色器来说,逆矩阵也是一种开销比较大的操作,因此,无论何时,在着色器中只要可能就应该尽量避免逆操作,因为它们必须为你场景中的每个顶点进行这样的处理。以学习的目的这样做很好,但是对于一个对于效率有要求的应用来说,在绘制之前,你最好用CPU计算出正规矩阵,然后通过uniform把值传递给着色器(和模型矩阵一样)。 + 即使是对于着色器来说,逆矩阵也是一个开销比较大的运算,因此,只要可能就应该避免在着色器中进行逆矩阵运算,它们必须为你场景中的每个顶点都进行这样的处理。用作学习目这样做是可以的,但是对于一个对效率有要求的应用来说,在绘制之前你最好用CPU计算出法线矩阵,然后通过uniform把值传递给着色器(像模型矩阵一样)。 # 镜面光照 如果你还没被这些光照计算搞得精疲力尽,我们就再把镜面高光(Specular Highlight)加进来,这样冯氏光照才算完整。 -和环境光照一样,镜面光照(Specular Lighting)同样依据光的方向向量和物体的法向量,但是这次它也会依据观察方向,例如玩家是从什么方向看着这个片段的。镜面光照根据光的反射特性。如果我们想象物体表面像一面镜子一样,那么,无论我们从哪里去看那个表面所反射的光,镜面光照都会达到最大化。你可以从下面的图片看到效果: +和漫反射光照一样,镜面光照也是依据光的方向向量和物体的法向量来决定的,但是它也依赖于观察方向,例如玩家是从什么方向看着这个片段的。镜面光照是基于光的反射特性。如果我们想象物体表面像一面镜子一样,那么,无论我们从哪里去看那个表面所反射的光,镜面光照都会达到最大化。你可以从下面的图片看到效果: ![](../img/02/02/basic_lighting_specular_theory.png) -我们通过反射法向量周围光的方向计算反射向量。然后我们计算反射向量和视线方向的角度,如果之间的角度越小,那么镜面光的作用就会越大。它的作用效果就是,当我们去看光被物体所反射的那个方向的时候,我们会看到一个高光。 +我们通过反射法向量周围光的方向来计算反射向量。然后我们计算反射向量和视线方向的角度差,如果夹角越小,那么镜面光的影响就会越大。它的作用效果就是,当我们去看光被物体所反射的那个方向的时候,我们会看到一个高光。 -观察向量是镜面光照的一个附加变量,我们可以使用观察者世界空间位置(Viewer’s World Space Position)和片段的位置来计算。之后,我们计算镜面光亮度,用它乘以光的颜色,在用它加上作为之前计算的光照颜色。 +观察向量是镜面光照附加的一个变量,我们可以使用观察者世界空间位置和片段的位置来计算它。之后,我们计算镜面光强度,用它乘以光源的颜色,再将它加上环境光和漫反射分量。 !!! Important - 我们选择在世界空间(World Space)进行光照计算,但是大多数人趋向于在观察空间(View Space)进行光照计算。在观察空间计算的好处是,观察者的位置总是(0, 0, 0),所以这样你直接就获得了观察者位置。可是,我发现出于学习的目的,在世界空间计算光照更符合直觉。如果你仍然希望在视野空间计算光照的话,那就使用观察矩阵应用到所有相关的需要变换的向量(不要忘记,也要改变正规矩阵)。 + 我们选择在世界空间进行光照计算,但是大多数人趋向于在观察空间进行光照计算。在观察空间计算的好处是,观察者的位置总是(0, 0, 0),所以这样你直接就获得了观察者位置。可是我发现在学习的时候在世界空间中计算光照更符合直觉。如果你仍然希望在观察空间计算光照的话,你需要将所有相关的向量都用观察矩阵进行变换(记得也要改变法线矩阵)。 -为了得到观察者的世界空间坐标,我们简单地使用摄像机对象的位置坐标代替(它就是观察者)。所以我们把另一个uniform添加到片段着色器,把相应的摄像机位置坐标传给片段着色器: +为了得到观察者的世界空间坐标,我们简单地使用摄像机对象的位置坐标代替(它当然就是观察者)。所以我们把另一个uniform添加到片段着色器,把相应的摄像机位置坐标传给片段着色器: ```c++ uniform vec3 viewPos; - -GLint viewPosLoc = glGetUniformLocation(lightingShader.Program, "viewPos"); -glUniform3f(viewPosLoc, camera.Position.x, camera.Position.y, camera.Position.z); ``` -现在我们已经获得所有需要的变量,可以计算高光亮度了。首先,我们定义一个镜面强度(Specular Intensity)变量`specularStrength`,给镜面高光一个中等亮度颜色,这样就不会产生过度的影响了。 - ```c++ -float specularStrength = 0.5f; +lightingShader.setVec3("viewPos", camera.Position); ``` -如果我们把它设置为1.0f,我们会得到一个对于珊瑚色立方体来说过度明亮的镜面亮度因子。下一节教程,我们会讨论所有这些光照亮度的合理设置,以及它们是如何影响物体的。下一步,我们计算视线方向坐标,和沿法线轴的对应的反射坐标: +现在我们已经获得所有需要的变量,可以计算高光强度了。首先,我们定义一个镜面强度(Specular Intensity)变量,给镜面高光一个中等亮度颜色,让它不要产生过度的影响。 + +```c++ +float specularStrength = 0.5; +``` + +如果我们把它设置为1.0f,我们会得到一个非常亮的镜面光分量,这对于一个珊瑚色的立方体来说有点太多了。下一节教程中我们会讨论如何合理设置这些光照强度,以及它们是如何影响物体的。下一步,我们计算视线方向向量,和对应的沿着法线轴的反射向量: ``` vec3 viewDir = normalize(viewPos - FragPos); vec3 reflectDir = reflect(-lightDir, norm); ``` -需要注意的是我们使用了`lightDir`向量的相反数。`reflect`函数要求的第一个是从光源指向片段位置的向量,但是`lightDir`当前是从片段指向光源的向量(由先前我们计算`lightDir`向量时,(减数和被减数)减法的顺序决定)。为了保证我们得到正确的`reflect`坐标,我们通过`lightDir`向量的相反数获得它的方向的反向。第二个参数要求是一个法向量,所以我们提供的是已标准化的`norm`向量。 +需要注意的是我们对`lightDir`向量进行了取反。`reflect`函数要求第一个向量是**从**光源指向片段位置的向量,但是`lightDir`当前正好相反,是从片段**指向**光源(由先前我们计算`lightDir`向量时,减法的顺序决定)。为了保证我们得到正确的`reflect`向量,我们通过对`lightDir`向量取反来获得相反的方向。第二个参数要求是一个法向量,所以我们提供的是已标准化的`norm`向量。 -剩下要做的是计算镜面亮度分量。下面的代码完成了这件事: +剩下要做的是计算镜面分量。下面的代码完成了这件事: ```c++ float spec = pow(max(dot(viewDir, reflectDir), 0.0), 32); vec3 specular = specularStrength * spec * lightColor; ``` -我们先计算视线方向与反射方向的点乘(确保它不是负值),然后得到它的32次幂。这个32是高光的**发光值(Shininess)**。一个物体的发光值越高,反射光的能力越强,散射得越少,高光点越小。在下面的图片里,你会看到不同发光值对视觉(效果)的影响: +我们先计算视线方向与反射方向的点乘(并确保它不是负值),然后取它的32次幂。这个32是高光的反光度(Shininess)。一个物体的反光度越高,反射光的能力越强,散射得越少,高光就会越小。在下面的图片里,你会看到不同反光度的视觉效果影响: ![](../img/02/02/basic_lighting_specular_shininess.png) -我们不希望镜面成分过于显眼,所以我们把指数设置为32。剩下的最后一件事情是把它添加到环境光颜色和散射光颜色里,然后再乘以物体颜色: +我们不希望镜面成分过于显眼,所以我们把指数保持为32。剩下的最后一件事情是把它加到环境光分量和漫反射分量里,再用结果乘以物体的颜色: ```c++ vec3 result = (ambient + diffuse + specular) * objectColor; -color = vec4(result, 1.0f); +FragColor = vec4(result, 1.0); ``` -我们现在为冯氏光照计算了全部的光照元素。根据你的观察点,你可以看到类似下面的画面: +我们现在为冯氏光照计算了全部的光照分量。根据你的视角,你可以看到类似下面的画面: ![](../img/02/02/basic_lighting_specular.png) -你可以[在这里找到完整源码](http://learnopengl.com/code_viewer.php?code=lighting/basic_lighting_specular),在这里有[顶点](http://learnopengl.com/code_viewer.php?code=lighting/basic_lighting&type=vertex)和[片段](http://learnopengl.com/code_viewer.php?code=lighting/basic_lighting&type=fragment)着色器。 +你可以在[这里](https://learnopengl.com/code_viewer_gh.php?code=src/2.lighting/2.2.basic_lighting_specular/basic_lighting_specular.cpp)找到完整源码。 !!! Important - 早期的光照着色器,开发者在顶点着色器中实现冯氏光照。在顶点着色器中做这件事的优势是,相比片段来说,顶点要少得多,因此会更高效,所以(开销大的)光照计算频率会更低。然而,顶点着色器中的颜色值是只是顶点的颜色值,片段的颜色值是它与周围的颜色值的插值。结果就是这种光照看起来不会非常真实,除非使用了大量顶点。 + 在光照着色器的早期,开发者曾经在顶点着色器中实现冯氏光照模型。在顶点着色器中做光照的优势是,相比片段来说,顶点要少得多,因此会更高效,所以(开销大的)光照计算频率会更低。然而,顶点着色器中的最终颜色值是仅仅只是那个顶点的颜色值,片段的颜色值是由插值光照颜色所得来的。结果就是这种光照看起来不会非常真实,除非使用了大量顶点。 ![](../img/02/02/basic_lighting_gouruad.png) - 在顶点着色器中实现的冯氏光照模型叫做Gouraud着色,而不是冯氏着色。记住由于插值,这种光照连起来有点逊色。冯氏着色能产生更平滑的光照效果。 + 在顶点着色器中实现的冯氏光照模型叫做Gouraud着色(Gouraud Shading),而不是冯氏着色(Phong Shading)。记住,由于插值,这种光照看起来有点逊色。冯氏着色能产生更平滑的光照效果。 -现在你可以看到着色器的强大之处了。只用很少的信息,着色器就能计算出光照,影响到为我们所有物体的片段颜色。[下一节](03 Materials.md)中,我们会更深入的研究光照模型,看看我们还能做些什么。 +现在你应该能够看到着色器的强大之处了。只用很少的信息,着色器就能计算出光照如何影响到所有物体的片段颜色。[下一节](03 Materials.md)中,我们会更深入的研究光照模型,看看我们还能做些什么。 ## 练习 -- 目前,我们的光源时静止的,你可以尝试使用`sin`和`cos`函数让光源在场景中来回移动,此时再观察光照效果能让你更容易理解冯氏光照模型。[参考解答](http://learnopengl.com/code_viewer.php?code=lighting/basic_lighting-exercise1)。 -- 尝试使用不同的环境光、散射镜面强度,观察光照效果。改变镜面光照的`shininess`因子试试。 -- 在观察空间(而不是世界空间)中计算冯氏光照:[参考解答](http://learnopengl.com/code_viewer.php?code=lighting/basic_lighting-exercise2)。 -- 尝试实现一个Gouraud光照来模拟冯氏光照,[参考解答](http://learnopengl.com/code_viewer.php?code=lighting/basic_lighting-exercise3)。 +- 目前,我们的光源时静止的,你可以尝试使用sincos函数让光源在场景中来回移动。观察光照随时间的改变能让你更容易理解冯氏光照模型。[参考解答](https://learnopengl.com/code_viewer.php?code=lighting/basic_lighting-exercise1)。 +- 尝试使用不同的环境光、漫反射和镜面强度,观察它们怎么是影响光照效果的。同样,尝试实验一下镜面光照的反光度因子。尝试理解为什么某一个值能够有着某一种视觉输出。 +- 在观察空间(而不是世界空间)中计算冯氏光照:[参考解答](https://learnopengl.com/code_viewer.php?code=lighting/basic_lighting-exercise2)。 +- 尝试实现一个Gouraud着色(而不是冯氏着色)。如果你做对了话,立方体的光照应该会[看起来有些奇怪](../img/02/02/basic_lighting_exercise3.png),尝试推理为什么它会看起来这么奇怪:[参考解答](https://learnopengl.com/code_viewer.php?code=lighting/basic_lighting-exercise3)。 diff --git a/docs/img/02/02/basic_lighting_exercise3.png b/docs/img/02/02/basic_lighting_exercise3.png new file mode 100644 index 0000000000000000000000000000000000000000..e6e3bb5a1cbc7c4a9b1ca95e375ba820a9048827 GIT binary patch literal 20727 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 vPmWfC!?ulLnZy}E0l<>hg4J-!{=NX Date: Wed, 21 Jun 2017 02:05:03 +0800 Subject: [PATCH 21/21] Literally rewrite 02-03 --- docs/02 Lighting/02 Basic Lighting.md | 2 +- docs/02 Lighting/03 Materials.md | 138 ++++++++++++-------------- glossary.md | 8 ++ 3 files changed, 75 insertions(+), 73 deletions(-) diff --git a/docs/02 Lighting/02 Basic Lighting.md b/docs/02 Lighting/02 Basic Lighting.md index 5c82318..7f586d1 100644 --- a/docs/02 Lighting/02 Basic Lighting.md +++ b/docs/02 Lighting/02 Basic Lighting.md @@ -251,7 +251,7 @@ float spec = pow(max(dot(viewDir, reflectDir), 0.0), 32); vec3 specular = specularStrength * spec * lightColor; ``` -我们先计算视线方向与反射方向的点乘(并确保它不是负值),然后取它的32次幂。这个32是高光的反光度(Shininess)。一个物体的反光度越高,反射光的能力越强,散射得越少,高光就会越小。在下面的图片里,你会看到不同反光度的视觉效果影响: +我们先计算视线方向与反射方向的点乘(并确保它不是负值),然后取它的32次幂。这个32是高光的反光度(Shininess)。一个物体的反光度越高,反射光的能力越强,散射得越少,高光点就会越小。在下面的图片里,你会看到不同反光度的视觉效果影响: ![](../img/02/02/basic_lighting_specular_shininess.png) diff --git a/docs/02 Lighting/03 Materials.md b/docs/02 Lighting/03 Materials.md index 64eea8c..b7a0e67 100644 --- a/docs/02 Lighting/03 Materials.md +++ b/docs/02 Lighting/03 Materials.md @@ -3,176 +3,170 @@ 原文 | [Materials](http://learnopengl.com/#!Lighting/Materials) ---|--- 作者 | JoeyDeVries -翻译 | [Django](http://bullteacher.com/) -校对 | [Geequlim](http://geequlim.com) +翻译 | Meow J +校对 | 未校对 -在真实世界里,每个物体会对光产生不同的反应。钢看起来比陶瓷花瓶更闪闪发光,一个木头箱子不会像钢箱子一样对光产生很强的反射。每个物体对镜面高光也有不同的反应。有些物体不会散射(Scatter)很多光却会反射(Reflect)很多光,结果看起来就有一个较小的高光点(Highlight),有些物体散射了很多,它们就会产生一个半径更大的高光。如果我们想要在OpenGL中模拟多种类型的物体,我们必须为每个物体分别定义材质(Material)属性。 +在现实世界里,每个物体会对光产生不同的反应。比如说,钢看起来通常会比陶瓷花瓶更闪闪发光,木头箱子也不会像钢制箱子那样对光产生很强的反射。每个物体对镜面高光也有不同的反应。有些物体反射光的时候不会有太多的散射(Scatter),因而产生一个较小的高光点,而有些物体则会散射很多,产生一个有着更大半径的高光点。如果我们想要在OpenGL中模拟多种类型的物体,我们必须为每个物体分别定义一个材质(Material)属性。 -在前面的教程中,我们指定一个物体和一个光的颜色来定义物体的图像输出,并使之结合环境(Ambient)和镜面强度(Specular Intensity)元素。当描述物体的时候,我们可以使用3种光照元素:环境光照(Ambient Lighting)、漫反射光照(Diffuse Lighting)、镜面光照(Specular Lighting)定义一个材质颜色。通过为每个元素指定一个颜色,我们已经对物体的颜色输出有了精密的控制。现在把一个镜面高光元素添加到这三个颜色里,这是我们需要的所有材质属性: +在上一节中,我们指定了一个物体和光的颜色,以及结合环境光和镜面强度分量,来定义物体的视觉输出。当描述一个物体的时候,我们可以用这三个分量来定义一个材质颜色(Material Color):环境光照(Ambient Lighting)、漫反射光照(Diffuse Lighting)和镜面光照(Specular Lighting)。通过为每个分量指定一个颜色,我们就能够对物体的颜色输出有着精细的控制了。现在,我们再添加反光度(Shininess)这个分量到上述的三个颜色中,这就有我们需要的所有材质属性了: ```c++ + #version 330 core -struct Material -{ +struct Material { vec3 ambient; vec3 diffuse; vec3 specular; float shininess; -}; +}; + uniform Material material; ``` -在片段着色器中,我们创建一个结构体(Struct),来储存物体的材质属性。我们也可以把它们储存为独立的uniform值,但是作为一个结构体来储存可以更有条理。我们首先定义结构体的布局,然后简单声明一个uniform变量,以新创建的结构体作为它的类型。 +在片段着色器中,我们创建一个结构体(Struct)来储存物体的材质属性。我们也可以把它们储存为独立的uniform值,但是作为一个结构体来储存会更有条理一些。我们首先定义结构体的布局(Layout),然后使用刚创建的结构体为类型,简单地声明一个uniform变量。 -就像你所看到的,我们为每个冯氏光照模型的元素都定义一个颜色向量。`ambient`材质向量定义了在环境光照下这个物体反射的是什么颜色;通常这是和物体颜色相同的颜色。`diffuse`材质向量定义了在漫反射光照下物体的颜色。漫反射颜色被设置为(和环境光照一样)我们需要的物体颜色。`specular`材质向量设置的是物体受到的镜面光照的影响的颜色(或者可能是反射一个物体特定的镜面高光颜色)。最后,`shininess`影响镜面高光的散射/半径。 +你可以看到,我们为每个冯氏光照模型的分量都定义一个颜色向量。ambient材质向量定义了在环境光照下这个物体反射得是什么颜色,通常这是和物体颜色相同的颜色。diffuse材质向量定义了在漫反射光照下物体的颜色。(和环境光照一样)漫反射颜色也要设置为我们需要的物体颜色。specular材质向量设置的是镜面光照对物体的颜色影响(或者甚至可能反射一个物体特定的镜面高光颜色)。最后,shininess影响镜面高光的散射/半径。 -这四个元素定义了一个物体的材质,通过它们我们能够模拟很多真实世界的材质。这里有一个列表[devernay.free.fr](http://devernay.free.fr/cours/opengl/materials.html)展示了几种材质属性,这些材质属性模拟外部世界的真实材质。下面的图片展示了几种真实世界材质对我们的立方体的影响: +这四个元素定义了一个物体的材质,通过它们我们能够模拟很多现实世界中的材质。[devernay.free.fr](http://devernay.free.fr/cours/opengl/materials.html)上的一个表格展示了几种材质属性,它们模拟了现实世界中的真实材质。下面的图片展示了几种现实世界的材质对我们的立方体的影响: ![](../img/02/03/materials_real_world.png) -如你所见,正确地指定一个物体的材质属性,似乎就是改变我们物体的相关属性的比例。效果显然很引人注目,但是对于大多数真实效果,我们最终需要更加复杂的形状,而不单单是一个立方体。在[后面的教程](../03 Model Loading/01 Assimp.md)中,我们会讨论更复杂的形状。 +可以看到,通过正确地指定一个物体的材质属性,我们对这个物体的感知也就不同了。效果非常明显,但是要想获得更真实的效果,我们最终需要更加复杂的形状,而不单单是一个立方体。在[后面的教程](../03 Model Loading/01 Assimp.md)中,我们会讨论更复杂的形状。 -为一个物体赋予一款正确的材质是非常困难的,这需要大量实验和丰富的经验,所以由于错误的设置材质而毁了物体的画面质量是件经常发生的事。 +为一个物体赋予一款合适的材质是非常困难的,这需要大量实验和丰富的经验,所以由于不合适的材质而毁了物体的视觉质量是件经常发生的事。 -让我们试试在着色器中实现这样的一个材质系统。 +让我们在着色器中实现这样的一个材质系统。 # 设置材质 -我们在片段着色器中创建了一个uniform材质结构体,所以下面我们希望改变光照计算来顺应新的材质属性。由于所有材质元素都储存在结构体中,我们可以从uniform变量`material`取得它们: +我们在片段着色器中创建了一个材质结构体的uniform,所以下面我们希望修改一下光照的计算来顺应新的材质属性。由于所有材质变量都储存在结构体中,我们可以从uniform变量material中访问它们: ```c++ void main() -{ +{ // 环境光 vec3 ambient = lightColor * material.ambient; - - // 漫反射光 + + // 漫反射 vec3 norm = normalize(Normal); vec3 lightDir = normalize(lightPos - FragPos); float diff = max(dot(norm, lightDir), 0.0); vec3 diffuse = lightColor * (diff * material.diffuse); - - // 镜面高光 + + // 镜面光 vec3 viewDir = normalize(viewPos - FragPos); vec3 reflectDir = reflect(-lightDir, norm); float spec = pow(max(dot(viewDir, reflectDir), 0.0), material.shininess); vec3 specular = lightColor * (spec * material.specular); - + vec3 result = ambient + diffuse + specular; - color = vec4(result, 1.0f); + FragColor = vec4(result, 1.0); } ``` -你可以看到,我们现在获得所有材质结构体的属性,无论在哪儿我们都需要它们,这次通过材质颜色的帮助,计算结果输出的颜色。物体的每个材质属性都乘以它们对应的光照元素。 +可以看到,我们现在在需要的地方访问了材质结构体中的所有属性,并且这次是根据材质的颜色来计算最终的输出颜色的。物体的每个材质属性都乘上了它们对应的光照分量。 -通过设置适当的uniform,我们可以在应用中设置物体的材质。当设置uniform时,GLSL中的一个结构体并不会被认为有什么特别之处。一个结构体值扮演uniform变量的封装体,所以如果我们希望填充这个结构体,我们就仍然必须设置结构体中的各个元素的uniform值,但是这次带有结构体名字作为前缀: +我们现在可以在程序中设置适当的uniform,对物体设置材质了。GLSL中的结构体在设置uniform时并没有什么特别之处。结构体只是作为uniform变量的一个封装,所以如果想填充这个结构体的话,我们仍需要对每个单独的uniform进行设置,但这次要带上结构体名的前缀: ```c++ -GLint matAmbientLoc = glGetUniformLocation(lightingShader.Program, "material.ambient"); -GLint matDiffuseLoc = glGetUniformLocation(lightingShader.Program, "material.diffuse"); -GLint matSpecularLoc = glGetUniformLocation(lightingShader.Program, "material.specular"); -GLint matShineLoc = glGetUniformLocation(lightingShader.Program, "material.shininess"); - -glUniform3f(matAmbientLoc, 1.0f, 0.5f, 0.31f); -glUniform3f(matDiffuseLoc, 1.0f, 0.5f, 0.31f); -glUniform3f(matSpecularLoc, 0.5f, 0.5f, 0.5f); -glUniform1f(matShineLoc, 32.0f); +lightingShader.setVec3("material.ambient", 1.0f, 0.5f, 0.31f); +lightingShader.setVec3("material.diffuse", 1.0f, 0.5f, 0.31f); +lightingShader.setVec3("material.specular", 0.5f, 0.5f, 0.5f); +lightingShader.setFloat("material.shininess", 32.0f); ``` -我们将`ambient`和`diffuse`元素设置成我们想要让物体所呈现的颜色,设置物体的`specular`元素为中等亮度颜色;我们不希望`specular`元素对这个指定物体产生过于强烈的影响。我们同样设置`shininess`为32。我们现在可以简单的在应用中影响物体的材质。 +我们将环境光和漫反射分量设置成我们想要让物体所拥有的颜色,而将镜面分量设置为一个中等亮度的颜色,我们不希望镜面分量在这个物体上过于强烈。我们将反光度保持为32。现在我们能够程序中非常容易地修改物体的材质了。 -运行程序,会得到下面这样的结果: +运行程序,你应该会得到下面这样的结果: ![](../img/02/03/materials_with_material.png) -看起来很奇怪不是吗? +但它看起来很奇怪不是吗? ## 光的属性 -这个物体太亮了。物体过亮的原因是环境、漫反射和镜面三个颜色任何一个光源都会去全力反射。光源对环境、漫反射和镜面元素同时具有不同的强度。前面的教程,我们通过使用一个强度值改变环境和镜面强度的方式解决了这个问题。我们想做一个相同的系统,但是这次为每个光照元素指定了强度向量。如果我们想象`lightColor`是`vec3(1.0)`,代码看起来像是这样: +这个物体太亮了。物体过亮的原因是环境光、漫反射和镜面光这三个颜色对任何一个光源都会去全力反射。光源对环境光、漫反射和镜面光分量也具有着不同的强度。前面的教程,我们通过使用一个强度值改变环境光和镜面光强度的方式解决了这个问题。我们想做一个类似的系统,但是这次是要为每个光照分量都指定一个强度向量。如果我们假设lightColor是`vec3(1.0)`,代码会看起来像这样: ```c++ -vec3 ambient = vec3(1.0f) * material.ambient; -vec3 diffuse = vec3(1.0f) * (diff * material.diffuse); -vec3 specular = vec3(1.0f) * (spec * material.specular); +vec3 ambient = vec3(1.0) * material.ambient; +vec3 diffuse = vec3(1.0) * (diff * material.diffuse); +vec3 specular = vec3(1.0) * (spec * material.specular); ``` -所以物体的每个材质属性返回了每个光照元素的全强度。这些vec3(1.0)值可以各自独立的影响各个光源,这通常就是我们想要的。现在物体的`ambient`元素完全地展示了立方体的颜色,可是环境元素不应该对最终颜色有这么大的影响,所以我们要设置光的`ambient`亮度为一个小一点的值,从而限制环境色: +所以物体的每个材质属性对每一个光照分量都返回了最大的强度。对单个光源来说,这些`vec3(1.0)`值同样可以分别改变,而这通常就是我们想要的。现在,物体的环境光分量完全地影响了立方体的颜色,可是环境光分量实际上不应该对最终的颜色有这么大的影响,所以我们会将光源的环境光强度设置为一个小一点的值,从而限制环境光颜色: ```c++ -vec3 result = vec3(0.1f) * material.ambient; +vec3 ambient = vec3(0.1) * material.ambient; ``` -我们可以用同样的方式影响光源`diffuse`和`specular`的强度。这和我们[前面教程](http://learnopengl-cn.readthedocs.org/zh/latest/02%20Lighting/02%20Basic%20Lighting/)所做的极为相似;你可以说我们已经创建了一些光的属性来各自独立地影响每个光照元素。我们希望为光的属性创建一些与材质结构体相似的东西: +我们可以用同样的方式修改光源的漫反射和镜面光强度。这和我们在[上一节](02 Basic Lighting.md)中所做的极为相似,你可以说我们已经创建了一些光照属性来影响每个单独的光照分量。我们希望为光照属性创建一个与材质结构体类似的结构体: ```c++ -struct Light -{ +struct Light { vec3 position; + vec3 ambient; vec3 diffuse; vec3 specular; }; + uniform Light light; ``` -一个光源的`ambient`、`diffuse`和`specular`光都有不同的亮度。环境光通常设置为一个比较低的亮度,因为我们不希望环境色太过显眼。光源的`diffuse`元素通常设置为我们希望光所具有的颜色;经常是一个明亮的白色。`specular`元素通常被设置为`vec3(1.0f)`类型的全强度发光。要记住的是我们同样把光的位置添加到结构体中。 +一个光源对它的ambientdiffusespecular光照有着不同的强度。环境光照通常会设置为一个比较低的强度,因为我们不希望环境光颜色太过显眼。光源的漫反射分量通常设置为光所具有的颜色,通常是一个比较明亮的白色。镜面光分量通常会保持为`vec3(1.0)`,以最大强度发光。注意我们也将光源的位置添加到了结构体中。 -就像材质uniform一样,需要更新片段着色器: +和材质uniform一样,我们需要更新片段着色器: ```c++ -vec3 ambient = light.ambient * material.ambient; -vec3 diffuse = light.diffuse * (diff * material.diffuse); +vec3 ambient = light.ambient * material.ambient; +vec3 diffuse = light.diffuse * (diff * material.diffuse); vec3 specular = light.specular * (spec * material.specular); ``` -然后我们要在应用里设置光的亮度: +我们接下来在程序中设置光照强度: ```c++ -GLint lightAmbientLoc = glGetUniformLocation(lightingShader.Program, "light.ambient"); -GLint lightDiffuseLoc = glGetUniformLocation(lightingShader.Program, "light.diffuse"); -GLint lightSpecularLoc = glGetUniformLocation(lightingShader.Program, "light.specular"); - -glUniform3f(lightAmbientLoc, 0.2f, 0.2f, 0.2f); -glUniform3f(lightDiffuseLoc, 0.5f, 0.5f, 0.5f);// 让我们把这个光调暗一点,这样会看起来更自然 -glUniform3f(lightSpecularLoc, 1.0f, 1.0f, 1.0f); +lightingShader.setVec3("light.ambient", 0.2f, 0.2f, 0.2f); +lightingShader.setVec3("light.diffuse", 0.5f, 0.5f, 0.5f); // 将光照调暗了一些以搭配场景 +lightingShader.setVec3("light.specular", 1.0f, 1.0f, 1.0f); ``` -现在,我们调整了光是如何影响物体所有的材质的,我们得到一个更像前面教程的视觉输出。这次我们完全控制了物体光照和材质: +现在我们调整了光照对物体材质的影响,我们应该能得到一个更类似于上一节的视觉效果。但这次我们有了对光照和物体材质的完全掌控: ![](../img/02/03/materials_light.png) -现在改变物体的外观相对简单了些。我们做点更有趣的事! - +改变物体的视觉效果现在变得相对容易了。让我们做点更有趣的事! ## 不同的光源颜色 -目前为止,我们使用光源的颜色仅仅去改变物体各个元素的强度(通过选用从白到灰到黑范围内的颜色),并没有影响物体的真实颜色(只是强度)。由于现在能够非常容易地访问光的属性了,我们可以随着时间改变它们的颜色来获得一些有很意思的效果。由于所有东西都已经在片段着色器做好了,改变光的颜色很简单,我们可以立即创建出一些有趣的效果: +到目前为止,我们都只对光源设置了从白到灰到黑范围内的颜色,这样只会改变物体各个分量的强度,而不是它的真正颜色。由于现在能够非常容易地访问光照的属性了,我们可以随着时间改变它们的颜色,从而获得一些非常有意思的效果。由于所有的东西都在片段着色器中配置好了,修改光源的颜色非常简单,我们能够立刻创造一些很有趣的效果: -如你所见,不同光的颜色极大地影响了物体的颜色输出。由于光的颜色直接影响物体反射的颜色(你可能想起在颜色教程中有讨论过),它对视觉输出有显著的影响。 +你可以看到,不同的光照颜色能够极大地影响物体的最终颜色输出。由于光照颜色能够直接影响物体能够反射的颜色(回想[颜色](01 Colors.md)这一节),这对视觉输出有着显著的影响。 -利用`sin`和`glfwGetTime`改变光的环境和漫反射颜色,我们可以随着时间流逝简单的改变光源颜色: +我们可以利用singlfwGetTime函数改变光源的环境光和漫反射颜色,从而很容易地让光源的颜色随着时间变化: ```c++ -glm::vec3 lightColor; lightColor.x = sin(glfwGetTime() * 2.0f); +glm::vec3 lightColor; +lightColor.x = sin(glfwGetTime() * 2.0f); lightColor.y = sin(glfwGetTime() * 0.7f); lightColor.z = sin(glfwGetTime() * 1.3f); - -glm::vec3 diffuseColor = lightColor * glm::vec3(0.5f); -glm::vec3 ambientColor = diffuseColor * glm::vec3(0.2f); - -glUniform3f(lightAmbientLoc, ambientColor.x, ambientColor.y, ambientColor.z); -glUniform3f(lightDiffuseLoc, diffuseColor.x, diffuseColor.y, diffuseColor.z); + +glm::vec3 diffuseColor = lightColor * glm::vec3(0.5f); // 降低影响 +glm::vec3 ambientColor = diffuseColor * glm::vec3(0.2f); // 很低的影响 + +lightingShader.setVec3("light.ambient", ambientColor); +lightingShader.setVec3("light.diffuse", diffuseColor); ``` -尝试和实验使用这些光照和材质值,看看它们怎样影响图像输出的。你可以从这里找到[程序的源码](http://learnopengl.com/code_viewer.php?code=lighting/materials),[片段着色器](http://learnopengl.com/code_viewer.php?code=lighting/materials&type=fragment)的源码。 +尝试并实验一些光照和材质值,看看它们是怎样影响视觉输出的。你可以在[这里](https://learnopengl.com/code_viewer_gh.php?code=src/2.lighting/3.1.materials/materials.cpp)找到程序的源码。 ## 练习 -- 你能像我们教程一开始那样根据一些材质的属性来模拟一个真实世界的物体吗? -注意[材质表](http://devernay.free.fr/cours/opengl/materials.html)中的环境光颜色与漫反射光的颜色可能不一样,因为他们并没有把光照强度考虑进去来模拟,你需要将光照颜色的强度改为`vec(1.0f)`来输出正确的结果:[参考解答](http://learnopengl.com/code_viewer.php?code=lighting/materials-exercise1),我做了一个青色(Cyan)的塑料箱子 +- 你能像教程一开始那样,定义相应的材质来模拟现实世界的物体吗?注意[材质表格](http://devernay.free.fr/cours/opengl/materials.html)中的环境光值可能与漫反射值不一样,它们没有考虑光照的强度。要想纠正这一问题,你需要将所有的光照强度都设置为`vec3(1.0)`,这样才能得到正确的输出:[参考解答](https://learnopengl.com/code_viewer_gh.php?code=src/2.lighting/3.2.materials_exercise1/materials_exercise1.cpp),我做的是青色塑料(Cyan Plastic)的箱子 + +- 你能像我们教程一开始那样根据一些材质的属性来模拟一个真实世界的物体吗?注意[材质表](http://devernay.free.fr/cours/opengl/materials.html)中的环境光颜色与漫反射光的颜色可能不一样,因为他们并没有把光照强度考虑进去来模拟,你需要将光照颜色的强度改为`vec(1.0f)`来输出正确的结果:[参考解答](http://learnopengl.com/code_viewer.php?code=lighting/materials-exercise1),我做了一个青色(Cyan)的塑料箱子 diff --git a/glossary.md b/glossary.md index 6fdc645..d832b66 100644 --- a/glossary.md +++ b/glossary.md @@ -205,6 +205,14 @@ - Gouraud Shading:Gouraud着色 - Phong Shading:冯氏着色 +## 02-03 + +- Material:材质 +- Struct:结构体 +- Layout:布局 +- Light Property:光照属性 +- Scatter(光):散射 + ## 06-01 - Debugging:调试