渲染期间模型的三角形计数加倍

Posted

技术标签:

【中文标题】渲染期间模型的三角形计数加倍【英文标题】:Triangle count for model is doubled during render 【发布时间】:2010-03-23 20:20:53 【问题描述】:

我正在使用 Trinigy 3d 引擎,它报告模型在渲染期间的三角形数量是模型显示中的两倍(假设是 4000 而不是 2000)。如果我使用额外的轮廓着色器渲染模型,它会报告 6000 个三角形,所以这不是简单的复制。可能是什么问题?

【问题讨论】:

【参考方案1】:

额外的着色器通道(如轮廓着色器)通常会增加为模型渲染的三角形数量,因为它必须被渲染多次。如果您使用前向渲染模式,每个动态光源也会增加渲染的三角形数量,因为影响模型的每个动态光都需要重新渲染。

您可以通过使用引擎的延迟着色解决方案或将多个着色器折叠成一个通道来避免这种情况。

【讨论】:

动态照明是个问题。谢谢。【参考方案2】:

这超出了我的专业领域,但它可能开启了双面渲染,并且在计数中包含了每个三角形两次。

【讨论】:

【参考方案3】:

可能取决于着色器/照明的复杂性。如果你有两盏灯,每盏灯渲染一次网格的可能性很高(这也可以解释为什么使用轮廓着色器会增加计数,它可能需要额外的一次通过。)看看你是否可以在没有任何效果/材料的情况下进行渲染/等等应用。 (免责声明:我从未使用过 Trinigy 引擎)

【讨论】:

以上是关于渲染期间模型的三角形计数加倍的主要内容,如果未能解决你的问题,请参考以下文章

图形学之渲染管道

在 OpenGL 中使用 Blender/SketchUp 模型

Unity3D Shader系列之渲染流水线

FBX 模型的面(某些)未正确渲染

渲染管道子流程

渲染管道子流程