Tips & Tricks for 16k Monster Textures...
Posted: 30.03.2003, 21:19
Since quite a while, this weekend I had some spare time again. Here is
a status report of what I did....
1) I had to configure a new Laptop with Windows XP /256MB RAM and a ATI
Radeon 16MB card. Celestia works fine (with just Basic and
Multitexture render paths supported, i.e no bumping and specular
lights...). DXT Format works as well.
2) Next I assigned 4GB of /virtual/ memory on a separate partition
which resulted in the fact that all NVIDIA command line tools
(5.39) now work on /very large/ textures as well (16k no problem!).
3) I finally managed to convert the huge 21k Blue Mable earth texture
to the nice ("Render") color scheme of the SpaceGraphics earth
textures. Here is what I did (hope to upload the stuff very soon to
my TextureFoundry):
a) Rescale the 21k -> 16k with GIMP (cubic interpolation)
b) Load the 16k sea selection channel,=> channel to selection
c) Apply to the sea only:
Hue/Saturation:
-------------------------
Hue: -27
Lightness: +25
Saturation: -64
d) Invert the selection and do (land!)
Hue/Saturation:
-------------------------
Hue: -14
Lightness: +17
Saturation: -20
e) Use select by color, 25% fuzz, 'add' mode and click a few times on
the world's /green/ areas, save selection to channel.
Hue/Saturation:
-------------------------
Hue: -20
Lightness: +9
Saturation: -55
f) Unselect everything and apply
unsharp masking
---------------------------
4.5
0.55
0
Finally, /select "green" channel/ and for the selection apply
unsharp masking
---------------------------
3.5
0.55
0
Hue/Saturation:
-------------------------
Hue: 0
Lightness: +10
Saturation: 0
g) Next, save the results as *.tga file and convert
the texture to dxt1c with 'nomipmap' setting!
h) Apply the 'detach' command line utility to the 8k SG earth8k-SG.dds
which leads to 13 mipmaps in dds format. Renumber them, and add
the 16k dds file as earth16k-SG_00.dds
i) Finally, apply the 'stitch'command which assembles everything into
a earth16k-SG.dds texture with 14 mipmaps identical to the ones in
the 8k SG texture!
That's it.
I now have a most beautiful 16 earth texture that perfectly matches to
the SpaceGraphics Render-earth 8k one.
4) Moreover, I finally solved the old problem that the DXt normal maps tended
to show all sorts of /artifact patterns/: The trick is to add '-dither'
in nvdxt dxt conversion as well as '-24 dxt1c'. It should be
obvious why;-). Moreover, by far the best normal maps are obtained
with the parameter -n4, i.e. 2x2 sampling! I should note that I
always use the 16bit grayscale bumpmap as alpha channel, which has
to be inverted! So here are typical command line parameters (for earth):
nvdxt -file <bump-texture.tga> -alpha -n4 -dither -wrap -scale 10.0
-24 dxt1c
I generated such new "perfect" normal maps for earth, mars and moon
in 2k,4k,8k and partly 16k resolutions.
Bye Fridger
a status report of what I did....
1) I had to configure a new Laptop with Windows XP /256MB RAM and a ATI
Radeon 16MB card. Celestia works fine (with just Basic and
Multitexture render paths supported, i.e no bumping and specular
lights...). DXT Format works as well.
2) Next I assigned 4GB of /virtual/ memory on a separate partition
which resulted in the fact that all NVIDIA command line tools
(5.39) now work on /very large/ textures as well (16k no problem!).
3) I finally managed to convert the huge 21k Blue Mable earth texture
to the nice ("Render") color scheme of the SpaceGraphics earth
textures. Here is what I did (hope to upload the stuff very soon to
my TextureFoundry):
a) Rescale the 21k -> 16k with GIMP (cubic interpolation)
b) Load the 16k sea selection channel,=> channel to selection
c) Apply to the sea only:
Hue/Saturation:
-------------------------
Hue: -27
Lightness: +25
Saturation: -64
d) Invert the selection and do (land!)
Hue/Saturation:
-------------------------
Hue: -14
Lightness: +17
Saturation: -20
e) Use select by color, 25% fuzz, 'add' mode and click a few times on
the world's /green/ areas, save selection to channel.
Hue/Saturation:
-------------------------
Hue: -20
Lightness: +9
Saturation: -55
f) Unselect everything and apply
unsharp masking
---------------------------
4.5
0.55
0
Finally, /select "green" channel/ and for the selection apply
unsharp masking
---------------------------
3.5
0.55
0
Hue/Saturation:
-------------------------
Hue: 0
Lightness: +10
Saturation: 0
g) Next, save the results as *.tga file and convert
the texture to dxt1c with 'nomipmap' setting!
h) Apply the 'detach' command line utility to the 8k SG earth8k-SG.dds
which leads to 13 mipmaps in dds format. Renumber them, and add
the 16k dds file as earth16k-SG_00.dds
i) Finally, apply the 'stitch'command which assembles everything into
a earth16k-SG.dds texture with 14 mipmaps identical to the ones in
the 8k SG texture!
That's it.
I now have a most beautiful 16 earth texture that perfectly matches to
the SpaceGraphics Render-earth 8k one.
4) Moreover, I finally solved the old problem that the DXt normal maps tended
to show all sorts of /artifact patterns/: The trick is to add '-dither'
in nvdxt dxt conversion as well as '-24 dxt1c'. It should be
obvious why;-). Moreover, by far the best normal maps are obtained
with the parameter -n4, i.e. 2x2 sampling! I should note that I
always use the 16bit grayscale bumpmap as alpha channel, which has
to be inverted! So here are typical command line parameters (for earth):
nvdxt -file <bump-texture.tga> -alpha -n4 -dither -wrap -scale 10.0
-24 dxt1c
I generated such new "perfect" normal maps for earth, mars and moon
in 2k,4k,8k and partly 16k resolutions.
Bye Fridger