克隆和共享 (Direct3D 9)

克隆参数

克隆具有以下限制。

  • 克隆继承原始效果的池。 请参阅共享参数部分。
  • 克隆继承原始效果的技术、传递、参数和注释 (包括使用 ID3DXEffect) 添加的所有注释。
  • 克隆继承原始效果动态添加的批注。
  • 如果原始效果的池不是 NULL ,并且原始效果包含共享的设备依赖参数 ((如纹理或着色器) ),则克隆到新设备将失败。

共享参数

池是在不同效果之间共享效果参数的缓冲区。 若要向池添加参数,请在创建效果时指定共享用法。

池具有以下限制。

  • 首次将包含共享) 参数 (效果添加到池时,会将参数添加到池中。
  • 池从第一个共享参数获取初始值;共享的参数随后从池中获取其值。
  • 释放对共享参数的所有效果引用时,将从池中删除参数。
  • 池中包含相同 (共享) 设备依赖参数的所有效果都必须具有相同的设备。

NULL 可用于指定任何池,在这种情况下,不共享任何参数。 这几乎等同于仅为此效果指定唯一池。 唯一的区别是,克隆效果时,克隆不会与原始共享参数。

效果格式