Skip to content


by Alastair M. Robinson

Start by creating a new image at, say, 512x512 pixels.

We will start with the slowest operation - generating the veins for the marble.

For this we use Script-Fu->Render->Lava item from the image's right-mouse-button menu. Change the gradient to the Default black to white one, and click OK.

This operation can take a minute or so to complete on slower machines, which is why we get it out of the way first!

Bring up the Layers, Channels & Paths window and select the Lava Layer. Now go to Image->Colours->Levels..., and adjust the input side roughly as shown.

The result should be random light streaks on a black background.

We're going to use this as a layer mask later on, but for the time being we can hide it by clicking the appropriate "eye" icon in the Layers, Channels & Paths window.
Now we need some random blotches, so we'll borrow a technique from the "Scott Effect":

Create a new layer, and use Filters->Render->Clouds->Plasma to generate some plasma within it.

Using the magic wand, with its sensitivity set to about 20, hold down Shift and click at random places within the plasma until about half the image is selected. (You may need to use Select->None before doing this.)

Fill the selected area with white (Edit->Fill with BG Colour), and "forget" the selection with Select->None.

Now use Image->Colours->Desaturate, followed by Filters->Blur->Gaussian Blur (IIR) with a radius of about 5, and our blotches layer is complete.
Create a new layer, and again fill it with Filters->Render->Clouds->Plasma.

This is going to be the surface of our marble, so we need to restrict its colour-spread a bit. Select Image->Colours->Colourmap Rotation, and in the "From" pane, click "Select All".

Adjust the radii in the "To" pane so that they encompass a narrow spread of hues - about 15 degrees centred on yellow seems to work nicely. Once you're happy, click "Ok"


Duplicate this layer, and on the copy, add a layer mask.

From the Layers window, select the Lava Layer, and then Edit->Copy.

Select the newest layer's mask, followed by Edit->Paste, and anchor the pasted selection.


All that remains now is to adjust the transparencies of the layers to suit.

Give the blotches layer about 15% opacity, the masked layer about 55% and the unmasked surface layer about 35%. Adjust to taste!

(If you're going to use Filters->Map->Make Seamless on the result, you'll probably want to leave the texture with a slightly more contrast than you would otherwise.)

When you're happy with the result, Flatten the image, and you're done!