使用pix调试torque3D,捕捉某一帧的数据,在Events面板中展开该帧的所有函数,会发现整个绘制过程一览无余。基本过程如下:
注意:要在某个表面上绘制图像,就要把该图像设置为renderTarget。
beginScense 开始绘制
1.ShadowMapPass_Render;
2.RenderPrePassMgr_Render;
3.AdvancedLightBinManager_Render;
4.RenderTerrainMgr_Render;
5.RenderTranslucentMgr_Render;
6.RenderGlowMgr_Render;
7.PostEffect;
8.UI
present 提交绘制内容
上面的步骤可以看出整个过程,基本上就是先在一些表面上绘制出一些基本的阴影和图像,然后把这些图像合成到一个表面上,再在该表面上绘制地形、模型、透明效果、glow效果等,从而得到一个基本的绘制结果,最后把该准表面作为纹理绘制到最终的表面上,最后的这个过程其实就是后处理。在后处理后,进行UI绘制。然后在把最终的表面提交。
调试技巧:
1.可以在render面板中选择感兴趣的某个像素,进行调试。
此时会发现所有的顶点和像素shader都是在后处理阶段设置的shader,因为那是最后设置shader的地方。
2.如果想对其它的shader进行调试,需要在Events面板中选择感兴趣的draw方法,然后再进行调试。