0

我见过这种纹理方法,有人能解释一下它的作用吗?

4

1 回答 1

2

非托管文档中:

将数据与旨在供应用程序使用的资源相关联,而不是由 Direct3D 使用。数据是按值传递的,一个资源可以关联多组数据。

大多数像这样的 API 允许您与程序中其他可能不相关的部分进行通信。由于这是许多其他类(包括 Texture)的超类的方法,它似乎是一种通用的 Microsoft 提供的方法来传递特定于应用程序的值。

考虑这个(相当人为的)场景:

  1. 您的地图代码已将动态纹理应用于墙壁。

  2. 场景中的项目需要知道墙上的纹理,以便知道如何表现。代码路径完全不相关。

  3. 您的地图引擎可用于SetPrivateData将值应用于您的项目代码稍后可以使用 查询的纹理GetPrivateData,而不是为项目定义全局或其他方式来检查。

于 2009-10-14T14:44:34.897 回答