3x3x3 LED Cube (multiplexing) question

I have made a 3x3x3 LED Cube, however my knowledge of multiplexing and electronics is still very shy and I fail to understand how I would go about to light individual LED's when one layer is fully lit.

For the moment, my code looks like this, I light one LED and turn it off 100ms after.

What I would like to do is light each LED individually and keep it lit, starting from the bottom.

Any pointers would be very appreciated!

int pillars[] = { 2, 3, 4, 5, 6, 7, 8, 9, 10};
int layers[] = { 11, 12, 13};

void setup()
{
  for(int i = 2; i <= 10; i++)
  {
    pinMode(i, OUTPUT);
    digitalWrite(i, LOW);
  }
  
  for(int i = 11; i <= 13; i++)
  {
    pinMode(i, OUTPUT);
    digitalWrite(i, HIGH);
  }
}

void loop()
{
 for(int i = 0; i <= 2; i++)
 {
   digitalWrite(layers[i], LOW);
   
   for(int j = 0; j <= 8; j++)
   {
     digitalWrite(pillars[j], HIGH);
     delay(100);
     digitalWrite(pillars[j], LOW);
   }
   
   digitalWrite(layers[i], HIGH); 
 }

}

Multiplexing means you illuminate one layer at a time, but only for a millisecond or so,
before switching it all off and moving to the next layer. This is fast enough that the eye
sees a stationary pattern.