I’ve been playing around with the POD format on an Nvidia Tegra dev kit (we’re lucky enough to have one at my university). It’s been working marvelously, except for one issue: triangle strips don’t seem to work at all. I have both skinned and non-skinned models, and my code is based off the “Introducing POD” and “Skinning” tutorials. A few questions:
Do triangle strips work with interleaved vectors? Is any particular triangle sorting method required? Or perhaps strips only work on PVR chipsets?
I’m using Maya with the POD exporter. My simplest example is a subdivided plane (no animation, exported without matrices). Only the first couple triangles are rendered if I export strips, though everything looks fine with triangles.
Any advice would be appreciated, thanks in advance!
First step would be to turn off back face culling. If it then draws the tri strip is not wound correctly. As a tri strip is rendered the winding changes from CCW to CW. Any tool that exports tri strips will tend to create many small ones and join them together. This joining has to be done correctly otherwise the winding for a triangle will be incorrect aswell as there will be incorrect faces. For some hardware and API's a special index can be used to reset the strip and so the winding, this means that the 'degenerate' tris used to join strips together are not needed. The tool maybe assuming your hardware can do this and so writing this special index instead of joining the mini strips with degenerates, this will be throwing the GLES 2.0 hardware into a tizzy.