50
  Building
  Making Seamless Textures with Gimp
 
Seamless textures are useful in Activeworlds, both for building and modelling.
When you want to use a texture pattern, there shouldn't be any clear division lines between each texture pattern, but the textures should fit smoothly, without you can see any interruptions between the textures. Look at the borders of the picture : left and right , and top and bottom of the image should match with eachother.
Normally you people search on internet for seamless textures, but they aren't always freeware, often they got a watermark, and sometimes there is a limited choice, you won't always find the seamless texture that you really want for your build or for you model.
Normally, you would expect that making seamless textures is a difficult matter, for which expensive software is required. But Gimp is freeware and making seamless textures is quite easy if you know how to do it.
Not all textures are the same (stucco, brick, grass, terrain...), maybe one method will not have good results for certain types of textures,but there exist different methods to make textures seamless with Gimp.
Make a perfect square
For this example, we use this white stucco, which we have cut out first from the original image, and after having used editing tools (perspective, cloning) , the image size is now 681x840pixels. Select the Rectangle Tool . Double-click on the tool to see the options window, and you "check" the option : fixed , and you choose "proportion". Now you start drawing the square, and in the options window, you can see that you can draw a perfect square with that : 600x600pixels.
Go to the menu and choose : Edit > Copy and then Edit > Paste as: new image. Now choose : Image > Scale and scale the image to 512x512pixels, which is a good size for use in Activeworlds (powers of 2) . We export this image : stucwhite512.jpg
We look at spots and lines in the picture the might "disturb" the seamless pattern that we will make. We use Clone Stamp Tool and we remove the dark horizontal line in the middle, and also remove the dark vertical sport in the upper middle. When finished, go to the menu and choose File > Overwrite file stucwhite512.jpg and choose: Export.
Method 1 - "Make Seamless"-filter

The first method is the easiest method, but will not work for all kinds of textures.Open the image stucwhite512.jpg and go to the menu : Filters > Map > Small Tiles. (In dutch : Filters > Projecties > Kleine Tegels) (or you can choose : Filters > Map > Tiles and you increase the values to 700 , and view the result).

In this window you can move the slider and increase the number of segments (to 3 or 4), and you will view the result in the upper left corner, or you press ok. And you will see that you can clearly see clear lines between the bright upper area and the dark bottom area of the images. We reset this (undo with CTRL+Z).
Go again to the menu : Filters > Map > Make Seamless . (In dutch : Filters > Projecties > Naadloos maken). And you see that the image is modified : the upper area gets a lot darker now, and the lower part has become bright.
Now choose again : Filters > Map > Small Tiles, and you can see that the pattern is smooth now without any clear division lines between the tiles. Check if some parts still need to be cloned, which "disturb" the pattern, and after cloning, check again if it's ok.
This seamless image can be used now in Activeworlds, and we export this image as stucwhite512t.jpg ( with optional "t", which refers to the fact that the image is tiled)
Method 2 - Offset the Layer

As you have read in the introductions, the borders of the picture should match with eachother in order to have a seamless image. With Offset, we bring the borders to the middle of the image, and then we fix those borders with the Clone Stamp Tool.

We use image stucbrown128.jpg, we have cut out the image and changed into 128x128pixels, but it is still untiled. Choose in the menu : Layer > Transform > Offset. (in dutch: Laag>Transformeren>Verschuiven.) Now will see the Offset window, where we press upon the button "Offset by x/2 y/2" which will offset the image by 50 percent ,and you see the offset values of x 64 and y 64, which is half the size of the 128x128pixels. By choosing "wrap around", the rest of the picture will be maintained. Now click upon "Offset".

Now you see the division lines in the middle of the image, and it is clear that the image is not seamless yet.

Now select the Clone Tool, and choose a rather fuzzy brush ( hardness 50% or 75%), and reduce the brush size, because this image is rather small (128x128pixels) and choose "Aligned", which makes it a lot easier to use the Clone Tool. Now press the CTRL key and start with the editing work in the middle of the picture. Don't clone the edges, because then you the picture won't be seamless in the middle.
Check the result with Filters > Map > Small Tiles. If this is ok, then you export this tiled image : stucbrown128t.jpg

Method 3 - Image flipping

This is also a simple method, but the result is often "kaleidoscopic", after flipping the images, you will need to use the Clone Stamp Tool.

For this example, we use an image of the Newgrange site, the image has been cut out and resized to 512x512 pixels and exported as jpg : newgr512.prg. We load this image again into Gimp. And we copy this image : CTRL + C .
Go to the menu and choose : File > New, and you get a window, where you can modify the image size: we choose the double size for width and height so that the images fits exactly 4 times in the image, so enter twice 1024 pixels and you get your new canvas size.Now paste the image into this canvas with CTRL + V , and move it into a corner.
Go to the menu : Image > Set Grid. The default grid is 10 , which isn't useful here, we type 256 for width and height, and press ok. Go to the menu : View > Show Grid, and also View > Snap to Grid (in dutch : Beeld > Raster magnetisch).

When you view the layers window, you will see that the layer is still floating : select the floating layer, right-click and choose : Anchor the layer. Now create a new layer with transparant background. Select this new layer , and press CTRL+V , and a new stonewall image appears in the middle. (if the paste doesn't work: then go again to the first canvas window, copy the image again, and paste it here again).And you have a new floating layer too.

Use the Move Tool and bring the image into the second corner of the canvas.Choose in the menu : Layer > Transform > Flip Horizontal.
Select the floating layer, right-click and choose: Anchor the layer. We repeat this now for the 3rd image, and here we choose : Layer > Transform > Flip Vertical
Then for the 4th image we choose : Layer > Transform > Flip Vertical , and then also Layer > Transform > Flip Horizontal.
The result is a rather kaleidoscopic image, but it is a seamless texture. However in the layers menu, the images are still 4 seperate layers.
Select now the original layer, right-click and choose "Flatten Image", and all the layers are joined together.
Now you can remove the grid lines again en check final result : Filters > Map > Small Tiles. Then you can export this tiled texture .If you want a less kaleidoscopic image, you can start now using the Clone Tool and modify the middle part of the image.
Method 4 - Brick wall tiling
The make seamless-filter and the offset-layer are good for making seamless textures of e.g. stucco, but they are not the ideal for all textures . We use brickw512.jpg and choose Filters > Map > Make Seamless see that the textures get messed up, and if you choose the offset-layers you will also see that too much cloning work is required.
One thing is sure : this image is too large, we will need to make a smaller pattern. When you zoom in into the wall, then look carefully and you will see a pattern of 1 row of small bricks and then 6 rows of long bricks. We draw a perfect square and select 14 rows of these bricks. The top and bottom edges must be cement texture. Then we cut this out and apply "Edit - Copy" and then "Edit - Paste as : New Image". The new image size is 190x190pixels, which is still a good size.
Now choose : Filters > Map > Make Seamless , and it seems to work (but this is not always the case). The new texture isn't a mess, you can still see clearly each brick.
And now check out: Filters > Map > Small Tiles , and this is ok too.
Now we choose : Image > Image scale , and scale it to 256x256pixels.
One thing you can still fix is clone and remove the dark horizontal lines under 1 line of bricks, but you can say that this is a good seamless texture wall. And we export the file : brickw256t.jpg. Look at the result at the top of this webpage.
Method 5 - Build up and create yourself a pattern

The previous examples were about editing existing pictures into seamless pictures.This method is about building up a pattern with components and parts of pictures, or even without using any pictures at all. Perhaps the best method, but it is difficult to make 1 tutorial about it, because you can create patterns in so many ways. (brick , wallpaper , floortiles, wood, ice, grass...). And when you don't use any pictures at all, you need to explain so many aspects, if you want to create a texture that looks real.

1st example : (eg. for a brick wall) , first you start with a white canvas (eg. 256x256pixels) . You start with choosing the background texture, which is here the cement between the bricks. Now choose how to align the bricks on the canvas. For this, you can add a grid , and determine yourself the grid size, and choose a different grid size for the height than for the width. This grid will make it easier to place each brick on the same position . Then create a new layer and choose the brick size and brick texture , and then copy and paste and move the bricks upon the canvas. For each brick you have copied, you get a new layer. If everything is ok, you join all the layers into 1 layer.
2nd example: cut out 1 brick (or a block of bricks) with the lasso tool or with the rectangle tool and then copy and paste , and then move the brick(s) next to the other bricks into a seamless pattern.
3rd example : you create a brick texture by going in the menu to Colors and to Filters, and fill this up on your canvas. Then draw horizontal and verticals lines for the brick pattern and then make also the texture for the cement , and add this texture between the bricks. Or create the canvas first (like in the 1st example)
For the 5th method (=create yourself a seamless texture), we will make a seamless flower pattern. Create a new image, and we will first start making a correct canvas size : 512x512 pixels for this example.
Now we will make the background, here we choose a simple green background. Select the Paint Bucket Tool . Double-click to open the options window ,and here we select : "Fill with FGcolor" (foreground colour) and also "Fill whole section". We chose foreground, because there isn't yet a fore- or background.

Then select the black&white icon, select the white (foreground) and double-click. Now you have a window, where you can edit the foreground colour. Move the sliders of all the colours, until you have a bright green colour. Click upon OK. Now select again the Paint Bucket Tool and click in the white canvas, which turns into green.

Now we will add the grid , in order to position the flowers more easily.:
Go to the menu and choose : Image > Show Grid
Now we will change the number of grid lines : Image > Set Grid.
We modify the default , and we want 4 flowers for each line, so we will divide the 512x512 pixels into 8 rows and colums, and we type a value of 64 pixels for width and height, and click upon OK.
Now choose : File > Open and browse for the flower image, and we see that the flower is yet too big, doesn't have the perfect proportions yet.
Go to : Image > Image Scale, and here you modify the size to 128 for width and height. Unlock the size, so that you can type 128 pixels for both. The canvas size is 512 pixels, we want to put 4 flower on each row, so 128 pixels is the correct number. Click upon "scale" and the flower gets smaller.
Now choose : Edit > Copy. (CTRL+C ). Then select the window with the green canvas and choose: Edit > Paste (or : CTRL+V). Now you will see the flower in the middle of the canvas with the correct size. In the layers window, you will see a new layer.
Press again CTRL+V . Now a new flower is copied above the first flower. Select the Move Tool and drag the flower so that it fits into the grid besides the first flower.Go in the menu and choose : View > Snap to grid, this makes the positioning on the grid easier.
Now continue with CTRL+V until you have filled up the whole canvas with the flowers. Here have chosen to put the flowers diagonally, which is also easy, because the grid is divided into grids of 64x64pixels. At the borders, the flowers are only visible for 50% or for 25% in the corners. When you are ready, then go to the layers window, select the floating layer, right-click and anchor the layer (or : flatten image).
Finally we check if the image is seamless : Filters > Map > Small Tiles. Everything is ok and we export this as a jpg image.