RGB SMT LED Cube, resistors, drivers, and shift registers.

but maybe there is a better way?

Yes you have the LEDs, connect them up with something like a 330R resistor and actually measure the forward voltage then you can do the math correctly to get your current.

I have also been revisiting the idea of running the shift registers at 3.3v instead of 5, reduce the 5vs to 3.3, and resister the data pin so that it gets 3.3v from the arduino. I was thinking maybe having a voltage regulator (like an lm317) drop the voltage from 5 volts to 3.3. Then I would have to resister the red LEDs, and run the other leds on 3.3v

Is that a reasonable solution?

Absolute crap solution.

  1. The shift registers cannot supply the current.
  2. You always need a current limiting device with an LED. LEDs

maybe i should just order some inexpensive driver chips instead?

No as well.