Hello, I don't understand the logic of TootleFastOptimize's parameters.
In source comments:
- pnIB The input index buffer: 3 unsigned int per triangle, it has to be in CCW order.
- eFrontWinding The winding order of front-faces in the model.
Are these two in conflict? Why do I need to specify pnIB in CCW order, if I can specify order in eFrontWinding??
Anyway, if I load raw data from Microsoft X format (created with Panda exporter), can I just enter this raw data and specify TOOTLE_CW in eFrontWinding (in X format front is CW, because CCW is the default cull mode in DirectX)? Need some explanation here!
The winding order of the index buffer (pnIB) can be specified using eFrontWinding. The comment is incorrect (at one point in the development, it was correct).
Excellent. Actually I made some experiments, picked CW and CCW, then compared. One had a lot of overdraw and one had just a bit, so I took the latter one.
Please make sure that you are using the right front winding for your mesh, otherwise, the overdraw measurement will not be correct (it will cull front faces instead of back faces of the mesh).
An easy way to check the winding order of your mesh is to use a visualization program. You can turn on backface culling and set the winding order of your front/back faces (RenderMonkey allows you to do this).