我见过这种纹理方法,有人会解释我它做了什么吗?
答案 0 :(得分:2)
将数据与应用程序使用的资源相关联,而不是通过Direct3D。数据按值传递,多组数据可与单个资源相关联。
这样的大多数API都允许您与程序中其他可能不相关的部分进行通信。由于这是许多其他类(包括Texture)的超类的方法,因此它似乎是Microsoft提供的通用方法来传递特定于应用程序的值。
考虑这个(非常人为的)情景:
您的地图代码已将动态纹理应用于墙壁。
场景中的项目需要知道墙上的纹理,以便了解如何表现。代码路径完全不相关。
您的地图引擎可以使用SetPrivateData
将值应用于您的项代码稍后可以使用GetPrivateData
查询的纹理,而不是为项目定义全局或其他方式检查。