3.4.2,最近做优化发现一个现象,引擎调试显示的三角面是模型实际的3倍;
经过反复实验:自己的模型,1:1放到场景是3倍,缩小几倍就正常了;引擎的plane,1:1正常,X放大2倍就变成3倍了;x,y放大或者达到某种条件好像就会触发,z不管怎么变都没事。
想知道这个变3倍的触发条件是什么,建模的时候有什么办法可以规避一下
用3.5.1试了下,好家伙,直接5倍了;引擎plane1000个面
问题好像出在光照上面,我场景里面一个平行光,两个聚光灯;
之前3.4.2模型缩小后聚光灯照不到就是1倍,两个聚光灯照到就是3倍,这个暂且能理解了;
3.5.1为什么是5倍不能理解;
3.5.1即使缩小到聚光灯照不到,依然没有减少,暂不能理解;
这个多出来的面应该是阴影的,我尝试关闭场景的阴影,灯光的阴影,meshRender的阴影设置开关,均没有任何效果;
引擎设计如此么
这个方便给个 demo 看看吗?
引擎目前的前向光照是 add pass,所以每个光源都会增加一倍的 GPU 处理的面数,引擎在 3.5 改为了一级 CSM 阴影,在 3.6 改为四级 CSM 阴影,都会对渲染的 triangle 有影响。如果关闭阴影没有效果可以升级看看,应该是 bug
后面仔细对比排查发现是USE INSTANCING,不勾选这个就是正常的
我的demo里面也是勾选了这个
不知道这个是机制还是bug,反正我们现在项目的材质都没有用USE INSTANCING这个功能了