mirror of
https://github.com/LearnOpenGL-CN/LearnOpenGL-CN.git
synced 2025-08-23 04:35:28 +08:00
Minor tweaks to 01-04
This commit is contained in:
@@ -120,7 +120,7 @@ glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
|
|||||||
|
|
||||||
现在我们把顶点数据储存在显卡的内存中,用VBO顶点缓冲对象管理。下面我们会创建一个顶点和片段着色器,来处理这些数据。现在我们开始着手创建它们吧。
|
现在我们把顶点数据储存在显卡的内存中,用VBO顶点缓冲对象管理。下面我们会创建一个顶点和片段着色器,来处理这些数据。现在我们开始着手创建它们吧。
|
||||||
|
|
||||||
## 顶点着色器
|
## 顶点着色器(Vertext Shader)
|
||||||
|
|
||||||
顶点着色器是几个着色器中的一个,它是可编程的。现代OpenGL需要我们至少设置一个顶点和一个片段着色器,如果我们打算做渲染的话。我们会简要介绍一下着色器以及配置两个非常简单的着色器来绘制我们第一个三角形。下个教程里我们会更详细的讨论着色器。
|
顶点着色器是几个着色器中的一个,它是可编程的。现代OpenGL需要我们至少设置一个顶点和一个片段着色器,如果我们打算做渲染的话。我们会简要介绍一下着色器以及配置两个非常简单的着色器来绘制我们第一个三角形。下个教程里我们会更详细的讨论着色器。
|
||||||
|
|
||||||
@@ -275,7 +275,7 @@ glDeleteShader(fragmentShader);
|
|||||||
|
|
||||||
## 链接顶点属性
|
## 链接顶点属性
|
||||||
|
|
||||||
顶点着色器允许我们以任何我们想要的形式作为顶点属性的输入,同样它也具有很强的灵活性,这意味着我们必须手动指定我们的输入数据的哪一个部分对应顶点着色器的哪一个顶点属性。这意味着我们必须在渲染前指定OpenGL如何解释顶点数据。
|
顶点着色器允许我们以任何我们想要的形式作为顶点属性(Vertex Attribute)的输入,同样它也具有很强的灵活性,这意味着我们必须手动指定我们的输入数据的哪一个部分对应顶点着色器的哪一个顶点属性。这意味着我们必须在渲染前指定OpenGL如何解释顶点数据。
|
||||||
|
|
||||||
我们的顶点缓冲数据被格式化为下面的形式:
|
我们的顶点缓冲数据被格式化为下面的形式:
|
||||||
|
|
||||||
@@ -323,7 +323,7 @@ someOpenGLFunctionThatDrawsOurTriangle();
|
|||||||
|
|
||||||
我们绘制一个物体的时候必须重复这件事。这看起来也不多,但是如果有超过5个顶点属性,100多个不同物体呢(这其实并不罕见)。绑定合适的缓冲对象,为每个物体配置所有顶点属性很快就变成一件麻烦事。有没有一些方法可以使我们把所有的配置储存在一个对象中,并且可以通过绑定这个对象来恢复状态?
|
我们绘制一个物体的时候必须重复这件事。这看起来也不多,但是如果有超过5个顶点属性,100多个不同物体呢(这其实并不罕见)。绑定合适的缓冲对象,为每个物体配置所有顶点属性很快就变成一件麻烦事。有没有一些方法可以使我们把所有的配置储存在一个对象中,并且可以通过绑定这个对象来恢复状态?
|
||||||
|
|
||||||
### 顶点数组对象(Vertex Array Object,VAO)
|
### 顶点数组对象(Vertex Array Object, VAO)
|
||||||
|
|
||||||
**顶点数组对象(Vertex Array Object, VAO)**可以像顶点缓冲对象一样绑定,任何随后的顶点属性调用都会储存在这个VAO中。这有一个好处,当配置顶点属性指针时,你只用做一次,每次绘制一个物体的时候,我们绑定相应VAO就行了。切换不同顶点数据和属性配置就像绑定一个不同的VAO一样简单。所有状态我们都放到了VAO里。
|
**顶点数组对象(Vertex Array Object, VAO)**可以像顶点缓冲对象一样绑定,任何随后的顶点属性调用都会储存在这个VAO中。这有一个好处,当配置顶点属性指针时,你只用做一次,每次绘制一个物体的时候,我们绑定相应VAO就行了。切换不同顶点数据和属性配置就像绑定一个不同的VAO一样简单。所有状态我们都放到了VAO里。
|
||||||
|
|
||||||
|
@@ -46,7 +46,7 @@ pages:
|
|||||||
- 视差贴图: '05 Advanced Lighting/05 Parallax Mapping.md'
|
- 视差贴图: '05 Advanced Lighting/05 Parallax Mapping.md'
|
||||||
- HDR: '05 Advanced Lighting/06 HDR.md'
|
- HDR: '05 Advanced Lighting/06 HDR.md'
|
||||||
- 泛光: '05 Advanced Lighting/07 Bloom.md'
|
- 泛光: '05 Advanced Lighting/07 Bloom.md'
|
||||||
- 延迟渲染: '05 Advanced Lighting/08 Deferred Shading.md'
|
- 延迟着色法: '05 Advanced Lighting/08 Deferred Shading.md'
|
||||||
- SSAO: '05 Advanced Lighting/09 SSAO.md'
|
- SSAO: '05 Advanced Lighting/09 SSAO.md'
|
||||||
|
|
||||||
site_name: LearnOpenGL-CN
|
site_name: LearnOpenGL-CN
|
||||||
|
Reference in New Issue
Block a user