Texture resources, lets see:
http://www.blender3d.org/cms/Resources.181.0.html
You could check out Blender resources page. There are toons of free high-res free textures in there.
You could also check VRML fan pages and in general, home pages for free modelers like wings3d and not so free modelers like Milkshape. They usually have plenty of good links.
If you are a complete noob at making textures like me you have two paths.
One use photorealistic textures. But correct them first with gimp or photoshop or whatever. Usually they need to be tinted, bright normalized and tiled to work together right. It doesnt make sense to have a cave with red rock hard floor and green-gray mudy walls, for instance. It also doesnt make sense if there are mismatch bright spots on the cave. Let your game illuminate the scene and remove all 3d effects from it.
The other is to use procedural textures. I use Blender for that. I create a p. t. then render it to the bg and save it as an image. If you want to try download the materials database (link in resources page):
http://www.geocities.com/pollythesheep/matlib_index.html
Then tweak with the many possibilities offered. Blender supports multylayer procedural textures that can be rendered from first to last using blending modes:
Mix, Lighten, Darken, Divide, Multiply, Add, Subtract, Screen, Difference
They can be blended to just one part of the texture:
Color, Normal, Color specular, Color Mirror, Reflexivity, Spec, Amb, Hard, Alpha, Emit, Transl, Disp, etc…
On each layer you can put one of these shaders and adjust its parameters:
DistortedNoise, Voronoi, Musgrave, Noise, Blend, Magic, Wood, Stucci, Marble, Clouds, Image, Plugin, EnvMap
You can transform each layer above (rotate, scale, transl) and apply a colorband to it (with alpha values possible). You can set options to make them sticky, render them has 3d textures or 2d textures, use a custom set of UV coordinates.
You can choose the type of noise basis used for any of the shaders above:
CellNoise, Voronoi F1/…/F4/F1-F2, Perlin
When rendering the image ignore shader options that depend on your game light conditions, like diffuse, specular and stuff.
In odler style games you would render a p. t. to a texture image of a relativly good size like 128x128 pixels. But with modern cards its possible to do what Blender does in real time with pixel and vertex shaders.
One idea for anyone who knows how to create opengl shaders and use them in games is to make a Blender python script to read a certain material created in blender and write a java program that compiles into an opengl shader.