Texture library online (creative commons)

Here are textures from when I used to take photos for texturing real-time models.

— Text from the website —
These textures are nothing special but sometimes an image search wont cut it when your looking for high-res photo textures for 3D modeling I find. Amongst the mundane images there are some more interesting ones too. Currently there are 2900 textures on this page. All textures are covered by the creative commons attribution license, photos are mostly between 4-7mp, some are edited for use as tiled textures and have been re-saved as PNGs.

that page is quite a load, but thanks for all the awesome resource! :slight_smile:

yeah thanks!

The site needs to be more organized. Everything seems thrown together, so among all the useless pictures like sideways pictures of tiles and photographs of houses there are some tiling metal textures, etc.

Why are you always so rude? Seriously, every post is really negative.

Be thankful that Ideasman is sharing his pictures under a pretty good licence…

One day maybe you’ll write something positive and i’ll fall of my chair

Naw, you wouldn’t read it.

But really, what use is a shot of tiles if the picture isn’t an orthographic projection?

I currently use filter forge as a resource, because everything is seamless tileable.

whoah… nice stuff in it. thanks.
but, i have to agree though that you need some sort of tagging system. had to stop the page from loading before computer exploded :slight_smile:

.b

Sweet, thanks

Agree, they could be arranged nicer but basically It was this or just leaving them on my harddisk.

if there is some album generator that can take folders of images and make a static HTML gallery I could try that but I really didn’t want to spend days on this.

well, if you are on linux you have atleast couple…
lazygal for example which is python made… and have a nice name :slight_smile:
but as you already uploaded everything into one directory i guess it’s too late for that.
also i don’t know what you are using for photo arranging on your computer, but most of those softwares can output html galleries too…

.b

the images are in folders online, so it might not be so bad.

I wrote this script to make the thumbnails and gallery.


# Copyright Campbell Barton, Released under the GPL license, V2
import os

DIR = '/home/ideasman42/textures'
HTML = os.path.join(DIR, 'index.html')
THUMBS = '_thumbs'
THUMBS_ABS = os.path.join(DIR, THUMBS)

def fileList(path):
    for dirpath, dirnames, filenames in os.walk(path):
        for filename in filenames:
            yield os.path.join(dirpath, filename)

def is_image(f):
    f = f.lower()
    if f.endswith('.png'): return True
    if f.endswith('.jpg'): return True
    if f.endswith('.jpeg'): return True
    if f.endswith('.tif'): return True
    if f.endswith('.tiff'): return True
    if f.endswith('.bmp'): return True
    # todo xcf
    return False
    

last_dir = ['']
class img_file:
    def __init__(self, fullpath):
        self.fullpath = fullpath
        self.path = fullpath[len(DIR):]
        
        if self.path[0] in ('\\', '/'):
            self.path = self.path[1:]
        
        self.thumb = os.path.join(THUMBS, self.path.replace('.', '_') + '_htmlthumb.jpg')
        self.fullthumb = os.path.join(DIR, self.thumb)
        
        self.thumb_size = (96,96)
    
    def dir_name(self):
        return os.path.dirname(self.path)
    
    def convert(self):
        new_dir = os.path.dirname(self.fullthumb)
        
        if not os.path.exists(new_dir):
            os.makedirs(new_dir) 
        
        if not os.path.exists(self.fullthumb):
            os.system('convert -quality 60 -resize 96x96 "%s" "%s"' % (self.fullpath, self.fullthumb))
        
        # get the size of the thumb
        """
Image: textures/stone_cliff_tile_001_nor.png
  Format: PNG (Portable Network Graphics)
  Class: DirectClass
  Geometry: 1024x256+0+0
  Resolution: 28.35x28.35
  Print size: 36.1199x9.02998
"""
        lines = [l.strip() for l in os.popen('identify -verbose "%s"' % self.fullthumb).read().split('
')]
        for l in lines:
            if l.strip().startswith('Geometry:'):
                size = l.split('Geometry:')[-1].replace('+', 'x').split('x')
                self.thumb_size = int(size[0]), int(size[1])
                break
    
    def write(self, file):
        
        dir_text = self.dir_name()
        if dir_text not in last_dir:
            last_dir[0] = dir_text
            file.write('<hr><a name="%s">
' % dir_text)
            file.write('    <h2>%s</h2>
' % dir_text)
            file.write('</a>
')
        
        file.write('<a href="%s"><img src="%s" width="%d" height="%d"></a>
' % (self.path, self.thumb, self.thumb_size[0], self.thumb_size[1]))

def html_start(file):
    file.write(\
'''<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>ideasman42's texture library</title>
</head>
<body>

<a href="http://creativecommons.org/licenses/by/3.0/">
<img src="http://mirrors.creativecommons.org/presskit/buttons/88x31/png/by.png" width="403" height="141" ALIGN=RIGHT>
</a>

These textures are nothing special but sometimes an image search wont cut it when your looking for high-res photo textures for 3D modeling I find,
amongst the mundane images there are some more interesting ones too. Currently there are 2900 textures on this page.
<p>
All textures are covered by the <a href="http://creativecommons.org/licenses/by/3.0/">creative commons attribution license</a>, photos are mostly between 4-7mp, some are edited for use as tiled textures and have been re-saved as PNGs. Currently there are 2900 textures on this page.
<p>
For any queries mail me - ideasman42(at)gmail.com<br>
- Campbell Barton
''')

def html_end(file):
    file.write(\
'''
</body>
</html>
''')
    

def main():
    file = open(HTML, 'w')
    if not os.path.exists(THUMBS_ABS):
        os.makedirs(THUMBS_ABS)
    
    
    files = [f for f in fileList(DIR) if (THUMBS not in f) and is_image(f)]
    files.sort(key = lambda f: f.lower())
    
    img_files = [img_file(f) for f in files]
    
    html_start(file)
    
    # Make an index of dirs
    dirs = list(set([imf.dir_name() for imf in img_files]))
    dirs.sort()
    
    file.write('<hr>
')
    for f in dirs:
        file.write('<a href="#%s">%s</a>
' % (f, f))
    
    
    for i, imf in enumerate(img_files):
        print i, 'of', len(img_files), imf.path 
        imf.convert()
        imf.write(file)
        
    html_end(file)
    
if __name__ == '__main__':
    main()

Thank you!!

Very nice and useful collection.

this is very useful!
I thank you greatly!
btw I like your script, might ‘borrow’ some of it

great collection… thanks for sharing

so when the image is saved as .PNG, i can safely assume they’re tileable?

This is a really great resource, thanks very much!

Thanks for sharing, it’s always useful some high resolution CC textures.

It’s not really indispensable that they are tilable, using projection painting they can be very useful either tilable or not. The good thing is that many of them have pretty much flat lighting which doesn’t add “artificial” lighting to the model.

Would be nice to share in this thread links to sites with Creative Commons images. I don’t know many of them. Here are a couple I know:

http://www.flickr.com/creativecommons/
http://commons.wikimedia.org/wiki/Main_Page

I wonder if we can really trust this kind of websites for using their CC pictures commercially. Or if it is likely to happen that people just uploads some pics with copyrights and puts them as CC.

.

These are great, thank you very much for sharing these!

:smiley:

Thanks Ideasman42,
Awesome!

P. Monk

@Eclectiel, glad you see where I was coming from…
I found even though there are high res photo’s online there are some subtle differences in how you take photos if you intend to use them for textures (avoid direct sunlight/shadows, try have nothing interfering with the area and try get is little perspective distortion as possible)

The funny thing was that some of the boarding items were really hard to get reference photos for online and even if you do they are not always creative commons, or in some usable format if you want to use for texturing.
With OpenGL/DirectX shaders being so advanced now texturing from photos directly isnt as worthwhile as it used to be, but still has some value :slight_smile:

@LPT, added tiny GPLv2 header, use what you like from it.

@ideasman42, Thanks!