SetPrivateData在Managed DirectX中的作用是什么?

时间:2009-10-14 14:14:18

标签: c# textures managed-directx

我见过这种纹理方法,有人会解释我它做了什么吗?

1 个答案:

答案 0 :(得分:2)

来自unmanaged documentation

将数据与应用程序使用的资源相关联,而不是通过Direct3D。数据按值传递,多组数据可与单个资源相关联。

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

考虑这个(非常人为的)情景:

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

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

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