Jump to content
Sign in to follow this  
jaysprout

Sizes besides 1024 x 1024 ?

Recommended Posts

I knew textures based on fashion templates for apparel must be 1024x1024 but figured out the hard way that textures for art and such also needed to be. Most of my stuff is easily fixable now that I've figured that out but ...

What about books and magazines? How do I create a texture for pages that aren't square?

I also - and this isn't as important - just bought an awesome display thingy that displays textures in a landscape format ... even if they were portrait, they'd still be not square.

thanks in advance for solving this noobie mystery.

- jaysprout / Robert Walton MacGregor

Share this post


Link to post
Share on other sites

Texture dimensions can be any power of two between 32 and 1024. (Technically smaller powers of two like 8 and 16 also work, but some viewers have issues with texture smaller than 32 x 32, and don't display them correctly.)

So 32, 64, 128, 256, 512 or 1024 can be used for either dimension of the texture.

Clothing textures and skin textures for actual use inside SL should be 512 x 512. If you import a 1024 x 1024 texture and apply it to clothing or a skin, it will get reduced to 512 x 512 by the Viewer for what actually gets used, and the viewer usually does a far worse job of resizing than your graphics program can. Any skin maker touting "high resolution 1024 x 1024 skins" is offering something that is no real advantage over a 512 x 512 skin. Their skins get reduced to 512 x 512 for use, and just take longer to load.

That doesn't mean you can't create the texture at a higher resolution though. Most clothing and skin textures start at 1024 , 2048 or even larger in size in the master image that the creator works with on their computer, and then a copy of that texture gets scaled down to 512 x 512 before importing into SL for use in skins or clothes. That is why the templates for creating clothing and skins are usually 1024 x 1024 or 2048 x 2048. You create it at a larger size, and then scale down before importing.

Textures that will be applied to prims can be as large as 1024 x 1024, but you generally don't want to use any larger of a texture than you absolutely have to in order to get the detail you need for the texture to look good in-world. The larger the texture dimensions, the more video memory and load time for dealing with that texture, every time it is in the field of view, even if you can't see it.

Share this post


Link to post
Share on other sites

If it is not logical to dimension your texture in powers of two, it's tempting to try squishing or (worse) stretching it into a power of two format and then undo the damage when it's applied to a prim in world. A litle bit of squishing and stretching isn't bad, but if you do too much of it you are sacrificing resolution or distorting the image.

It makes more sense to drop your texture on a background layer that is dimensioned in powers of two, leaving white space to pad around the texture itself. That is, if you have a texture that is 460 x 200 pixels, don't stretch it to 512 x 256. Instead, create a backround layer, expand the canvas to 512 x 256, and then fill the background layer with white.  Your texture's 460 x 200 dimensions will be preserved, undistorted.  When you apply the texture in world, put it on a prim with a 460/200 aspect ratio and use repeats and offsets to position the texture so that the white background doesn't show.

Share this post


Link to post
Share on other sites

They do not have to be square.  Here are all the allowable sizes:

1024x1024 4 MB 3 MB
1024x512 2 MB 1.5 MB
1024x256 1 MB 768 KB
1024x128 512 KB 384 KB
1024x64 256 KB 192 KB
1024x32 128 KB 96 KB
1024x16 64 KB 48 KB
1024x8 32 KB 24 KB

512x1024 2 MB 1.5 MB
512x512 1 MB 768 KB
512x256 512 KB 384 KB
512x128 256 KB 192 KB
512x64 128 KB 96 KB
512x32 64 KB 48 KB
512x16 32 KB 24 KB
512x8 16 KB 12 KB

256x1024 1 MB 768 KB
256x512 512 KB 384 KB
256x256 256 KB 192 KB
256x128 128 KB 96 KB
256x64 64 KB 48 KB
256x32 32 KB 24 KB
256x16 16 KB 12 KB
256x8 8 KB 6 KB

128x1024 512 KB 384 KB
128x512 256 KB 192 KB
128x256 128 KB 96 KB
128x128 64 KB 48 KB
128x64 32 KB 24 KB
128x32 16 KB 12 KB
128x16 8 KB 6 KB
128x8 4 KB 3 KB

64x1024 256 KB 192 KB
64x512 128 KB 96 KB
64x256 64 KB 48 KB
64x128 32 KB 24 KB
64x64 16 KB 12 KB
64x32 8 KB 6 KB
64x16 4 KB 3 KB
64x8 2 KB 1.5 KB

32x1024 128 KB 96 KB
32x512 64 KB 48 KB
32x256 32 KB 24 KB
32x128 16 KB 12 KB
32x64 8 KB 6 KB
32x32 4 KB 3 KB
32x16 2 KB 1.5 KB
32x8 1 KB 768 Bytes

16x1024 64 KB 48 KB
16x512 32 KB 24 KB
16x256 16 KB 12 KB
16x128 8 KB 6 KB
16x64 4 KB 3 KB
16x32 2 KB 1.5 KB
16x16 1 KB 768 Bytes
16x8 512 Bytes 384 Bytes

8x1024 32 KB 24 KB
8x512 16 KB 12 KB
8x256 8 KB 6 KB
8x128 4 KB 3 KB
8x64 2 KB 1.5 KB
8x32 1 KB 768 Bytes
8x16 512 Bytes 384 Bytes
8x8 256 Bytes 192 Bytes

Share this post


Link to post
Share on other sites

real world example:

standard letter size piece of art scanned in to your computer... actual dimensions 8.5in x 11in

it's aspect ratio is 1 to 1.294118 (11 /8.5)

inworld you are going to size the prim face to the same aspect ratio (any value multiplied by those numbers on two individual axis)

in your image editor, you resize the image so that it's longest edge is the largest power of two you want to use for the image, let say you want 512 to be the largest pixel dimension...

now you have an image that is 512 x (512/1.294118) or 512 x 396, but 396 isn't a power of two, so you increase that to 512 by stretching it in your editor, so that the image is 512 x 512.

then you upload the image, and apply it to your prim that has the original aspect ratio which squezes the stretched side back down.

 

you almost always want to stretch in the editor then compress inworld so you don't lose details. in reality, the resize should only be one step. The only time you want to reduce the size in the image editor and effectively stretch it back inworld is if the aspect ratio is very close to but UNDER a whole number, and if the texture is low detail you have a little more wiggle room, something like x.975 to x.950 and you only increase the smaller dimension to the next closest power of 2 above it

if the aspect ratio were 1 to 3.2 for example, and your max dimension was 1024, your smaller dimension would be increased to 512, not 1024.

Share this post


Link to post
Share on other sites

Also, one other trick to use - You can put multiple textures into a single texture in some cases, and then use the repeats and offsets to show only the parts that are needed for different faces of the prims in the project. In some cases that may mean that you can use a single texture but appear to have quite a few different textures on the object. An advantage of that is that the texture only needs to load once, and all the faces that use the same source texture pop into visibility at the same time.

As a simple example, let's say you are making something that needs to have 12 buttons on it, like the keypad for a phone. While you could make 12 separate textures, it is much more efficient to make one texture that has all 12 numbers on it (3 across and four down), and use 1/3 of the width and 1/4 of the height of that texture on any given surface of a button. Adjust the offsets to get the number you want for that particular button.

I did a large building recently that used 6 different window textures. But all of them were actually textured with a single texture, using 1/3 the width and 1/2 the height of a texture that showed two rows of three window images. This also allowed me to easily place all the windows, and then choose which appearance each of them would have by tweaking the offset values.

And yes, the textures certainly don't need to be square. Any of the power of two values up to 1024 can be used for either dimension. So for example a 128 wide by 256 high texture works well for a door or window texture.

Share this post


Link to post
Share on other sites

If I have an 800 I don't want to crop, I'll stretch it to 1024 rather than shrink it to 512.

My reasoning is that if you can get exaclty the same result as the 512 by later shrinking the 1024 (think about it), you only stand to preserve something more by staying at 1024.

Is the 1024 blurry? Maybe. But no blurrier than a 1024 made by doubling something shrunk to 512, and possibly less blurry.

Also, because image editing tools such as normalize operate on the pixel level, applying them after I stretch 800 to 1024 actually results in at least some pixel differentiation that doesn't simply duplicate what would be in a 512 sized up after application of the same pixel-level tool.

For edits in general, you can always shrink it later if you think the effective resolution doesn't warrant the extra data cost, so editing at a larger size either will allow greater control or it won't matter at all. So why not do it?

Share this post


Link to post
Share on other sites

did you miss the steps where I said to size it to your max desired dimension? that can be up or down... in the example it was down because an image scanned it of the size mentioned is going to be larger that 1024.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...