2

我正在尝试通过以下代码片段在 SlimDX 中使用 StateBlock 来保存和恢复状态:

StateBlockMask mask = new StateBlockMask(null) { RasterizerState = true };
var sb = new StateBlock(device.Device, mask);

StateBlockMask 和 StateBlock 都是类。这给了我一个编译错误:

'.ctor' is not supported by the language

从 SO 上的其他一些帖子中阅读,这似乎是一个与使用错误参数调用托管代码有关的问题。在 SlimDX 的源代码中,我发现:

StateBlock::StateBlock(SlimDX::Direct3D10::Device^ device, StateBlockMask mask)

我完全没有使用 C++/CLI 的经验,所以我想知道这里是否有问题(例如缺少或额外的 ^),还是应该将错误集中在我这边?

(注意:此问题已交叉发布到 gamedev.net,未来有相同问题的用户可能还想查看那里给出的答案)

4

2 回答 2

3

StateBlockMask结构吗?如果没有,StateBlockMask^ mask请在 C++ 构造函数中使用。

于 2011-03-01T13:22:52.017 回答
0

这看起来像是 SlimDX 中的一个错误。您可能希望使用问题跟踪器来确保它得到正确处理。

于 2011-03-01T18:50:39.803 回答