第二章 Direct3D 11 资源
2.1 资源概述
在许多情况下,讨论现代实时渲染技术往往围绕着可编程管线及它可以做些什么。管线的确是实时渲染一个至关重要的部分,特别是图形开发人员的主要任务之一是使用的管线编写着色器程序。然而,在这些讨论中与管线有连接的内存资源往往被忽视。这是同样重要的在理解对于特定的算法需要什么样的资源,在那里被使用,它们将如何被使用。
本章将深度检查Direct3D 11内存资源的主题。我们首先确定Direct3D 11API是如何组织和管理资源的然后主要考虑两种主要的资源类型-缓冲区和纹理,我们将详细的讨论每个子类型资源,它是如何产生的,如何使用它,以及当不再需要它的时候如何被释放。资源使用的讨论还将介绍资源视图的概念,及一种用于将资源连接到管线的特定位置的适配器类型。
任何讨论资源也必须看一下他们使用的两个方面。应用程序是关于创建、填充和连接资源到管线。然而,我们还必须考虑资源在管线中是如何被使用的。在一个可编程着色器中资源如何被声明和使用与正确创建资源一样重要。这个话题将在着色器程序详细讨论来提供一个声音理解这种用法,这将是建立在3 - 7章。
正如我们将在本章后面所看到的,资源在被创建之前关于资源将如何被使用的有一个清晰的理解是非常重要的,使用域是预先确定的新成立以来输入参数。如果不正确配置,资源在您的应用程序中可能有几个负面影响,由于错误从表现不佳一直到完全无法执行管线。这使得资源确实是一个非常重要的话题!