我一直在尝试让硬件实例在 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);