diff --git a/docs/04 Advanced OpenGL/05 Framebuffers.md b/docs/04 Advanced OpenGL/05 Framebuffers.md index 366807c..86043e9 100644 --- a/docs/04 Advanced OpenGL/05 Framebuffers.md +++ b/docs/04 Advanced OpenGL/05 Framebuffers.md @@ -61,7 +61,7 @@ glDeleteFramebuffers(1, &fbo); ### 纹理附件 -当把一个纹理附加到帧缓冲的时候,所有的渲染指令将会写入到这个纹理中,就想它是一个普通的颜色/深度或模板缓冲一样。使用纹理的优点是,所有渲染操作的结果将会被储存在一个纹理图像中,我们之后可以在着色器中很方便地使用它。 +当把一个纹理附加到帧缓冲的时候,所有的渲染指令将会写入到这个纹理中,就像它是一个普通的颜色/深度或模板缓冲一样。使用纹理的优点是,所有渲染操作的结果将会被储存在一个纹理图像中,我们之后可以在着色器中很方便地使用它。 为帧缓冲创建一个纹理和创建一个普通的纹理差不多: diff --git a/docs/04 Advanced OpenGL/07 Advanced Data.md b/docs/04 Advanced OpenGL/07 Advanced Data.md index 2b68a00..0b542be 100644 --- a/docs/04 Advanced OpenGL/07 Advanced Data.md +++ b/docs/04 Advanced OpenGL/07 Advanced Data.md @@ -40,7 +40,7 @@ glUnmapBuffer(GL_ARRAY_BUFFER); ## 分批顶点属性 -通过使用glVertexAttribPointer,我们能够指定顶点数组缓冲内容的属性布局。在顶点数组缓冲中,我们对属性进行了交错(Interleave)处理,也就是说,我们将每一个顶点的位置、发现和/或纹理坐标紧密放置在一起。既然我们现在已经对缓冲有了更多的了解,我们可以采取另一种方式。 +通过使用glVertexAttribPointer,我们能够指定顶点数组缓冲内容的属性布局。在顶点数组缓冲中,我们对属性进行了交错(Interleave)处理,也就是说,我们将每一个顶点的位置、法线和/或纹理坐标紧密放置在一起。既然我们现在已经对缓冲有了更多的了解,我们可以采取另一种方式。 我们可以做的是,将每一种属性类型的向量数据打包(Batch)为一个大的区块,而不是对它们进行交错储存。与交错布局123123123123不同,我们将采用分批(Batched)的方式111122223333。