- July 15, 2009 at 3:39 pm #29857
We’ve created an animating model in Maya which, when exported and viewed in PVRShaman, does not render correctly: portions of the mesh are displayed with incorrect normals.
In Maya, the model renders perfectly. When exported without animation, it also renders well in PVRShaman. When exported with animation, only then do we see a problem with the normals (as betrayed by the incorrectly-lit polys).
The model is skinned (maximum of 4 verts per poly).
Here’s some other data –
Exporter version 1.11 Build 2.04.24.0838
PVRShaman version 1.6 (SDK Build 2.04.24.0805)
The ‘hard edges’ seen on the body are in error – the darkened areas either side of the body centre represent polys whose normals are incorrect.
Here are the export options we’re using:
If anyone has any idea what can be going wrong here, please help!July 16, 2009 at 8:04 am #33226Tragnarion wrote:The model is skinned (maximum of 4 verts per poly).
Sorry, I meant to write “maximum of 4 bones per vert”…. slowly being driven crazy here trying to export it properly.
Just to add – changing the “Max simultaneous matrices” setting in the exporter also leads to all sorts of different strange effects, when I wouldn’t expect it to make any difference to how the model renders at all (other than from an efficiency point of view). Does this shed any further light on the problem?July 16, 2009 at 10:30 am #33227July 20, 2009 at 5:46 pm #33228
Hi,Thanks for your files. It has turned out to be a bug in PVRShaman which will be fixed for our next release. The .pod file should display correctly in your own applications.Thanks,ScottJuly 21, 2009 at 8:11 am #33229
Thanks for confirming this Scott.
Now all that remains is to figure out why it’s not rendering correctly in our iPhone appJuly 21, 2009 at 5:30 pm #33230Tragnarion wrote:Thanks for confirming this Scott.
Now all that remains is to figure out why it’s not rendering correctly in our iPhone appIn what way is it not rendering correctly? Have you tried using a max of 3 bone influences per vertex and setting “Max simultaneous matrices” to 9?July 22, 2009 at 8:19 am #33231
Yes, we’re in the process right now of altering the model to use max 3 bones/vert, after reaching the conclusion that this was probably the maximum number supported by the iPhone hardware. If all goes well, I’ll let you know and we can put this thread to sleep 🙂
One thing that I’m finding a little frustrating (particularly coming from a background of working on Sony/Nintendo consoles) is that it’s really hard to find solid technical specs of the iPhone graphics hardware anywhere. Are you aware of any place I can find this kind of information, e.g. raw texture layouts, texture cache info, vertex/index cache info, VRAM size (is there VRAM?), timings, this kind of thing. At the moment, creating raw textures is a process of trial-and-error (e.g. is it RGBA or ABGR or ARGB etc etc), and attempting to optimise graphics performance is an entirely random process of “try this, see if it makes any difference”.
I know this is probably something to be taken up with Apple, but they are irritatingly cagey about ‘opening up the black box’!
Anyway, thanks for your reply – it’s good to have my suspicions confirmed once again.July 23, 2009 at 10:09 am #33232
I’m afraid we’re unable to comment on the graphics hardware in the iPhone without an NDA.Also, just in case you weren’t aware we have a document in our SDKs called “POWERVR 3D Application Development Recommendations” that contains a set of golden rules to get the best performance out of our hardware.
Scott 2009-07-23 10:19:11