I write a vertex shader for skinned animation. But I got an error when I call Program3D::upload( kShader.m_kAGALShaderPair.vertexProgram.byteCode, kShader.m_kAGALShaderPair.fragmentProgram.byteCode ) :

I think it relates to the count of temporary registers Agal has to use to compute your program. You can get it by looking at AGALProgramPair.vertexProgram.temporaryRegisterCount.

In the doc you can read, that if its over 8, the program.upload() will fail. But that not exactly true. Even some shaders with more than 9 registers are working while my program I have the problem with just uses 4 if I get it right. I just havent found out what exactly makes the change.

Anyway...

As soon as Iam using one float4x4 that is not a parameter and maybe one additional float4, its over. Even if I have under 8 temporary registers. Iam stucking for hours on this.