@designerhacks Nice textures but why are there still people who don’t know that a texture needs to be square and a factor of 64*64
— Henri Spaans (@Spa_Henri)
I stepped up to the plate and admitted to Henri that I didn’t know this rule and asked him if he’d be willing to dive into the subject for the Design Nation. He agreed.
Hold onto your seats, this is about to get pretty technical.
The card’s the limit
Henri explained that when 3d modelling first started, the graphic cards of the day were much less powerful and the size of the textures that could be used were very much restricted.
He explains with a standard (for the day) Esig 3000 which had only 12MB of texture memory.
To use the textures in the RT system you had to compile it with the 3D models to create a Texture Page file. This file was needed for Paging_memory_allocation.
512 64 32 16 2
512 64 32 16 2
The numbers above relate to the amount of memory space reserved for each size of texture map. The texture sizes that could be used where only: 64*64, 128*128, 256*256 and 512*512.
There are two memory banks available:
two 512*512 maps per bank
Sixteen 256*256 maps per bank
Thirty two 128*128 maps per bank
Sixty four 64*64 maps per bank
Five hundred and twelve tops maps per bank
With 12Mb of texture memory available the maximum number of texture maps per size is:
12 512*512 = 12Mb
48 256*256 = 12Mb
192 128*128 = 12Mb
768 64*64 = 12Mb
That was then, this is now
Well obviously we don’t have 12Mb graphic cards anymore right? So what’s the problem?
You might not notice a huge slowing of your models if your textures are not a factor of 64*64 or even square, but that still doesn’t mean it’s best practice.
We want to make sure your habits are pushing you towards the right things (and success).
Do you think it’s a coincidence that sketchup’s default material icon is square?
When you start to notice
When you have to create a large airfield with a lot of buildings, airplanes for all different companies, cars, light poles, blast fences etc. you need to be careful. What we did is create the textures, all at 72 dpi, with a factor off 1024*1024 or 2048*2048. The most textures have multiple livery’s or scenes in it to save memory space. When you’re ready, create a script in PS and save them down to all possible sizes in different directory’s. Then you can select the right size you need for your model within the amount of memory space that is available. It is easier to work with large files in PS and you get a nicer texture.
What happens when your texture’s are wrong
What will happen when the texture size is not square and doesn’t have a factor of 64*64 with 72 dpi let’s say 1000*2000. The software will split it by itself, randomly, which can cause memory problems if you’re using many textures. If you’re using RGB files with an Alpha channel things can go dramatically wrong.
I’m sure that is still the case in Sketchup, the numbers are a lot higher but it works the same because we still use OpenGL. I had a discussion in 2009 on the SketchUcation forum and about a problem someone had with textures in SU 7. The maximum size mentioned for SU was by default 1024*1024 and could be changed to 4096*4096. I don’t know what the maximum number is in SU 2014, but it should be a factor of 64*64 at 72 dpi.
What does all of this mean for your textures?
Basically what all of this tech talk means according is that your textures should be square and sized to a multiple of 64*64 pixels at 72 dpi.
What do you think of all this? Are you planning on making all of your textures square? Let us know in the comments below.