【发布时间】:2014-07-18 01:00:39
【问题描述】:
我目前正在尝试将一个非常大的模型导入 XNA/Monogame,这是一个具有超过 80,000,000 个顶点的钢结构模型。该引擎的编写是为了优化此模型以实现可视化,在 ModelMesh 级别上运行八叉树和视锥体剔除。
我最近了解到模型处理器中的默认 base.Process 操作结合了模型中所有模型网格的顶点和索引缓冲区,根据这篇文章中的答案:
Confusion about model's vertexbuffer and indexbuffer
这带来了一个问题,因为该模型超过了最大 VertexBuffer 大小 67108863。结果,内容处理器甚至不允许我创建 xnb 文件。
理想情况下,我会在内容处理器中将顶点和索引缓冲区拆分为多个较小的缓冲区,但缓冲区本身是在模型处理器的 base.Process 函数中生成的,之后似乎不可编辑。
我可以使用任何机制来拆分 XNA 模型的顶点和索引缓冲区吗?
【问题讨论】:
-
Erm..你为什么需要这么大的模型?
-
您最好将模型导入 3ds 或 maya 等 3d 建模应用程序并使用自动顶点缩减功能。