我正在使用Direct3D显示钢结构中使用的多个I部分。在我的场景中,可能会有数百个这些I部分的实例。建模三维图形库中的I部分
我能做到这一点有两种方法:
I-Sections http://vulcan.eager.googlepages.com/i-section.png
使用方法A,我有较少的表面。但是,在打开背面剔除后,只能从一面看到表面。如果背面剔除被关闭,则凸缘(水平板)和腹板(垂直板)可能以错误的顺序呈现。
方法B似乎是正确的(我可以保持背面剔除功能打开),但在我的模型中,I部分的板厚并不重要,我希望避免必须创建单独的三角形条板的每一侧。
有没有更好的解决方案?有没有办法只关闭DrawIndexedPrimitives的某些调用来关闭背面剔除?如果有的话,我也想要一个平台中立的答案。
请注意,为每个三角形分别启用和禁用背面剔除将是一个巨大的性能损失,因为它是一个服务器端状态。 – 2008-10-27 09:16:31