Compiles fine but running it I receive an exception that says: Register allocator has run out of registers.This is not a very complex shader, it's very usual stuff in HLSL\CG\GLSL, and basically every graphics card around can handle something like that.What kind of limitations in register number has this current version of PixelBender3D? Will newer versions improve on it? Is it a problem of PB3D or if I try to do it in Agal (I still need to learn that) I'll hit the same problem? Am I doing something wrong?

Seems like there's a limit of 128 constant registers for vertex shaders, but that's not the case, even if I put Bones[5] I still get that error... :-(

Looks like PixelBender3D is currently less powerful than the old Pixel Shaders 1.1, or maybe the generated code by PB3D uses a lot of instruction registers somehow? Is there a way to make a skinned mesh with a good number of bones in Molehill?

There's a limit of 128 constant registers, however I think the limit you're running into is the limit on temporary registers in the code. Unfortunately some of the hardware we support only allows for 8 temporary registers so that's the limit we have for AGAL and Pixel Bender 3D.

As things currently stand, you might be able to do better by programming directly in AGAL, however that's because you might be able to do better hand optimizations than we're currently doing in the compiler, rather than because the limits are any different. We are very aware that we need to improve the optimization in the compiler and we're working on that.