Skip to content

Commit

Permalink
Update source\Overview.rst doc
Browse files Browse the repository at this point in the history
  • Loading branch information
FuXiii committed Oct 12, 2023
1 parent f2b3dc9 commit 6bede28
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
4 changes: 4 additions & 0 deletions source/Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
此更新日志为纵览更新,对于具体文章的更新位于每个文章的开头的 `更新记录` 中。
```

## 2023/10/12

>* 更新`纵览`文档
## 2023/10/10

>* 更新`相交着色器`文档
Expand Down
24 changes: 24 additions & 0 deletions source/Overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,17 @@
* 2023/10/6 更新 ``VkMemoryHeap`` 章节。修正 ``VkMemoryHeap::size`` 单位讲解错误。
* 2023/10/6 增加 ``回收内存`` 章节。
* 2023/10/6 增加 ``vkFreeMemory`` 章节。
* 2023/10/12 增加开头 ``篇幅`` 注意事项。
* 2023/10/12 增加 ``资源`` 章节。
* 2023/10/12 增加 ``缓存`` 章节。

由于 ``Vulkan`` 比较复杂,为了更好的入门 ``Vulkan`` ,还是大致过一遍 ``Vulkan`` 的核心思路,这对以后的学习很有帮助。

.. admonition:: 篇幅
:class: caution

该 ``纵览`` 章节会比较长。但也推荐您通读一遍。之后会分章节进行精讲。

Vulkan 能为我们做什么
######################

Expand Down Expand Up @@ -1622,6 +1630,22 @@ vkFreeMemory

vkFreeMemory(device, device_memory, nullptr);

资源
############################

分配内存的目的是存储数据并用于计算,之后储存获得的结果。但在 ``Vulkan`` 中,并不能直接对内存进行操作,内存只能绑定到具体 ``资源`` 上才能够使用。这是由于 ``GPU`` 的并行性,在并行处理多块特定结构的数据时能够得到更优效率,而 ``CPU`` 非常善于处理连续内存。为了能够使得用户分配的内存在 ``GPU`` 上尽可能的高速处理, ``Vulkan`` 为用户提供了 ``资源`` 来为用户屏蔽掉复杂的 ``GPU`` 内存结构。

在 ``Vulkan`` 中为我们提供了 ``2`` 种资源:

1. 缓存( ``Buffer`` )
2. 图片( ``Image`` )

``缓存`` 资源和 ``图片`` 资源都需要绑定一块特定内存才能够使用。对于 ``缓存`` 可以简单理解为其代表一块连续的内存(虽然在实际存储中内部的结构可能是非常复杂的),其内存可以存储任何数据。对于 ``图片`` 可以简单理解为一个二维或三维的内存数组,其内部可以存储特定格式的数据( ``缓存`` 内部数据对格式没有要求,但 ``图片`` 有要求,其目的是高速并行)。

所以创建完内存后,下一步就是创建要绑定的资源。

缓存
********************************

..
内存
Expand Down

0 comments on commit 6bede28

Please sign in to comment.