I would say that circuit is not sufficient for driving an 8x8x8 cube.
A cube has 64 LEDs per layer or 8 rows of 8 LEDs, and 8 layers.
They are driven by multiplexing. The most straightforward way, with brightest outcome, is to drive all 64 LEDs in one layer, enable the layer for a short time (30 Hz refresh rate with 8 layers means each layer turned on for 1/8 of 1/30 second = 4166microseconds), then turn if off and repeat for the next layer.
An alternate way is row of 8 LEDs in a layer, then the next 8, then the next 8, etc. Each group is on for 1/8 of 4166uS, or 520uS, and end result will be noticeably dimmer.
I think the best way is to use 8 TPIC6C595 or TPIC6B595 shift registers to sink current for 64 columns of LEDs, with a P-channel MOSFET to source current to each layer. Can use a 9th '595 to sink current from the P-MOSFET gates to determine which layer is on.
Use SPI.transfer() to quickly send the data out to the shift register.
MrsCrossRoads and I are building a 9x9x9 cube, having a center should make for better rotations visually. I made a control board with high current output shift registers (cd74ac164) to drive each column and N-channel MOSFETs (AOI514) to sink current from each layer. She had already started the cube, taking advantage of the longer anode leg for the columns, so I made the control board to match. We’re up to 9x9x7 layers so far.
Jameco has some cube kits that may help you out.