1

我一直在尝试让硬件实例在 XNA 4 中工作。我一直在关注 Microsoft 示例代码,并且在最后几行代码之前一切正常。

我遇到的问题是效果。技术仅具有基本效果。当我编译和运行他们的源代码时,它有硬件实例化选项,只是没有我复制过来的。它可能与他们项目的 InstancedModelPipeline 有关,但我无法找到它实际上是如何链接到项目的。他们的 InstancedModelPipeline 引入了一个 InstancedModel.fx,其中包含 HardwareInstancing。

Effect effect = meshPart.Effect;

effect.CurrentTechnique = effect.Techniques["HardwareInstancing"];
effect.Parameters["World"].SetValue(modelBones[mesh.ParentBone.Index]);
effect.Parameters["View"].SetValue(Camera.ViewMatrix);
effect.Parameters["Projection"].SetValue(projection);

示例代码站点

4

1 回答 1

1

InstancedModelPipeline是内容管道扩展。要使用它,您必须右键单击您的内容项目,单击“添加引用”,然后选择InstancedModelPipeline项目。

内容项目参考列表中的 InstancedModelPipeline

(注意:不要从您的游戏项目中引用内容管道扩展。)

InstancedModelPipeline项目为可用的模型提供了一个新的内容处理器,称为InstancedModelProcessor. 您必须在您的内容项目中选择您的模型,转到“属性”面板 (F4),然后将您的模型设置为使用此处理器。

已选择 InstancedModelProcessor

默认的 XNA 模型处理器将构建BasicEffect到模型中(ModelMeshPart.Effect属性)。该内容处理器将内置InstancedModel.fx,其中包括HardwareInstancing您正在寻找的效果。

于 2012-08-13T08:28:21.830 回答