The online racing simulator
#51 - Gunn
The main points to know are:
A: Enlarging images won't make them high quality, they have to be created large (and high quality) to start with.
B: Enlarging, shrinking (resampling) always degrades the quality of the original JPG, enlarging especially makes a real mess of it.
C: Creating a large image in high detail and shrinking it down to the desired resolution can often yield a better result than just creating the file in the desired resolution in the first place.
D: There are so many factors affecting file size of a JPG image that a file size consistent formula or static ratio for all images is impossible to calculate.
E: Lots of detail and/or lots of colours usually increases the file size a lot.
F: A large image can still be a small file size, a small image can still be a large file size.
G: Generally speaking, a 3D texture needs to be a power of 2 for most graphics cards to display it correctly.
F: JPG format is a lossy format and uses its own native compression, but good image programs allow even more compression to be applied incrementally. A little compression can make a noticeable difference in file size without a noticeable difference in quality. High res skins don't neccessarily need to be large files.
Quote from Gunn :
F: JPG format is a lossy format and uses its own native compression, but good image programs allow even more compression to be applied incrementally. A little compression can make a noticeable difference in file size without a noticeable difference in quality. High res skins don't neccessarily need to be large files.

This is especially true. Everyone who has made his own skins with lots of details know that the first 4 or 5 steps (in paint shop pro, at least, not sure if the steps are universally similar in other progs) of jpg compression can have quite a big effect on the file size but the effect on the actual skin detail is not visible unless you know to look for the effect.

---
Of course every kind of compression is bad if you apply it multiple times

Still, if someone wants to download 1024 size skins there is at least people who want/need the feature. Add the "more skin slots" into the package and the devs could charge some money for it, if they see such service fitting into LFS
Quote from Gunn :G: Generally speaking, a 3D texture needs to be a power of 8 for most graphics cards to display it correctly.

I'm not sure if you really meant 3D texture, but for 2D textures (which is the topic here) there really is no such limits today. For Nvidia, if I remember right, non powers of 2 size textures have been supported at least since the GeForce 2.
#54 - Gunn
Quote from Kegetys :I'm not sure if you really meant 3D texture, but for 2D textures (which is the topic here) there really is no such limits today. For Nvidia, if I remember right, non powers of 2 size textures have been supported at least since the GeForce 2.

3D texture meaning a texture that will be mapped to a 3D model and displayed by a 3D graphics card (there is no such thing as a 3 dimensional texture in reality AFAIK). As for the power of 8 info, that comes from my college teacher in my 3DS Max class. I stick to that rule because I know that powers of 8 are fully compatible with 3D hardware.

*edit: Actually Kagetys, I may stand corrected, I'm going from memory not my notes. But you mentioned 768 x 768 earlier, which is not a power of 2 either. So perhaps 768 x 768 is not a good choice for skin size?
Quote from Gunn :3D texture meaning a texture that will be mapped to a 3D model and displayed by a 3D graphics card (there is no such thing as a 3 dimensional texture in reality AFAIK).

Such texture can be one, two or three dimensional, thus if you say '3D texture' it would imply a texture with three dimensions. 'Static' 3D textures are used quite rarely since they use up alot of space, procedural 3D textures do not but those do not have much use in games but both certainly do exist.

Quote from Gunn :I stick to that rule because I know that powers of 8 are fully compatible with 3D hardware.

All 3D hardware do not even support texture mapping
#56 - Gunn
Quote from Kegetys :Such texture can be one, two or three dimensional, thus if you say '3D texture' it would imply a texture with three dimensions. 'Static' 3D textures are used quite rarely since they use up alot of space, procedural 3D textures do not but those do not have much use in games but both certainly do exist.



All 3D hardware do not even support texture mapping

Read my edit (edited before you posted )

Can you show me a 3D texture? I'm intrigued.
Quote from Gunn :But you mentioned 768 x 768 earlier, which is not a power of 2 either. So perhaps 768 x 768 is not a good choice for skin size?

the 'old' limit is that textures must have sizes in powers of 2, that is 2,4,8,16,32,64,128,256,512,etc. but today there usually simply is no limit at all, other than a maximum size and possibly a limit in aspect ratio. In Direct3D the support can be checked from the caps flags, if the card has D3DPTEXTURECAPS_POW2 flag then it only supports texture sizes in powers of 2. There is also another flag, D3DPTEXTURECAPS_NONPOW2CONDITIONAL, if that one is set then the card supports non powers of 2 textures but has some limits for them when using pixel shaders. But, as far as I know, every even semi-new card today has neither set and has no limits for the texture size (other than the max size and aspect). And if a card does not support the textures it is easy to know from the caps flag and use 512x512 textures for example instead, so 768x768 or any other practical size should be well useable.

Quote :Can you show me a 3D texture? I'm intrigued.

http://resumbrae.com/ub/dms424_s03/24/00.html
http://www.hypeskeptic.com/mattias/3DTexture/
http://www.cs.utexas.edu/users ... eServer/TextureServer.htm
http://www.youtube.com/watch?v=mU15seBuLZg
#58 - Gunn
Quote from Kegetys :the 'old' limit is that textures must have sizes in powers of 2, that is 2,4,8,16,32,64,128,256,512,etc. but today there usually simply is no limit at all, other than a maximum size and possibly a limit in aspect ratio. In Direct3D the support can be checked from the caps flags, if the card has D3DPTEXTURECAPS_POW2 flag then it only supports texture sizes in powers of 2. There is also another flag, D3DPTEXTURECAPS_NONPOW2CONDITIONAL, if that one is set then the card supports non powers of 2 textures but has some limits for them when using pixel shaders. But, as far as I know, every even semi-new card today has neither set and has no limits for the texture size (other than the max size and aspect). And if a card does not support the textures it is easy to know from the caps flag and use 512x512 textures for example instead, so 768x768 or any other practical size should be well useable.


http://resumbrae.com/ub/dms424_s03/24/00.html
http://www.hypeskeptic.com/mattias/3DTexture/
http://www.cs.utexas.edu/users ... eServer/TextureServer.htm
http://www.youtube.com/watch?v=mU15seBuLZg

Thanks for that useful information about the D3D, can you tell me how it affects OpenGL? I use 3DSMax 6 which works best with OpenGL. Do those parameters effect OGL the same way as D3D?

Those "3D textures" appear to not be 3D, they are several flat 2D textures. The name is misleading.
Quote from Gunn :Thanks for that useful information about the D3D, can you tell me how it affects OpenGL? I use 3DSMax 6 which works best with OpenGL. Do those parameters effect OGL the same way as D3D?

I would guess the cards that support it in D3D also do so in OpenGL.

Quote :Those "3D textures" appear to not be 3D, they are several flat 2D textures. The name is misleading.

That is just a method of storing it, you might as well say a 2D texture is not really 2D, it's just several 1D textures split by rows. And, procedural 3D textures are not stored in any way other than as a formula (which gives infinite resolution too).

FGED GREDG RDFGDR GSFDG