At LAST! UltraFast Conversion|Display of DDS in Linux, Win,.

Tips for creating and manipulating planet textures for Celestia.
Avatar
Topic author
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

At LAST! UltraFast Conversion|Display of DDS in Linux, Win,.

Post #1by t00fri » 18.01.2003, 21:58

++++++++++++++++++++++
Forget about 'nvdxt'...
++++++++++++++++++++++

I discovered an amazing open-source /multi-platform/ Image Library Project for
developers, that handles DXT Format + openGL support very well and
easily! It understands an incredible amount of different image
formats.

...and it WORKS!

DevIL:= Developer's Image Library
==================================
http://openil.sourceforge.net/features.php
http://openil.sourceforge.net/download.php

Many people may have known DevIL as OpenIL, but the name was changed
due to SGI's request. Developer's Image Library (DevIL) is a
programmer's library to develop applications with very powerful image
loading capabilities, yet is easy for a developer to learn and
use. Ultimate control of images is left to the developer, so
unnecessary conversions, etc. are not performed. DevIL utilizes
a simple, yet powerful, syntax. DevIL can load, save, convert,
manipulate, filter and display a wide variety of image formats.

Currently, DevIL can load .bmp, .cut, .dds, .doom, .gif, .ico, .jpg,
.lbm, .mdl, .mng, .pal, .pbm, .pcd, .pcx, .pgm, .pic, .png, .ppm,
.psd, .psp, .raw, .sgi, .tga and .tif files.

Formats supported for saving include .bmp, .dds, .h, .jpg, .pal, .pbm,
.pcx, .pgm,.png, .ppm, .raw, .sgi, .tga and .tif.

DevIL currently supports the following APIs for display: OpenGL,
Windows GDI, SDL, DirectX and Allegro. Compilers that can compile
DevIL or use it include Djgpp, MSVC++, Linux gcc, Delphi, Visual
Basic, Power Basic and Dev-C++.
--------------------------------------

The latest version 1.6.5 /compiles very easily on Linux/, provided the
following (standard) libraries are installed:

Libpng, for .png support.
Zlib, for compression.
Libjpeg, for .jpg support.
Libtiff, for .tif support.
Libmng, for .mng support.
Little CMS, for colour profiles.

A zip file of the sources for these external libraries is available,
however, as LibSrc.zip.
The library also exists in various precompiled versions for 'End
Users'!

========================================================
With the help of the DevIL library I hacked today a number of very
simple, super-fast conversion tools and (openGL) image viewers.

After a little bit of further testing I shall make my tools available on my TextureFoundry site. Stay tuned...
========================================================

The speed is fascinating and there are no problems with memory or graphics!

1) Benchmarks (PIII 1GHz, 512MB CL2 Ram):
-----------------------------------------
16k earth.tga => earth.dds : 2.5 Minutes !
8K earth.png => earth.dds : 15 seconds ! (took >15 min's with nvdxt)

For the first time, I could convert my 16k earth textures to dds!

Reading dds and converting it to anything like jpg, png, tga, tiff is
even faster.

2) Handles (individual) Mipmaps easily, so one may compose a dds file from
different kinds of textures of 2^n size.

3) My openGL viewer is super, despite its simplicity. Fast display of
DDS format under Linux and any other formats...Zoom still missing though.

Lots of further posibilities ahead, I am just at the start...


Bye Fridger

PS: The translation of formats is as follows:

nvdxt: DXT1a => ilSetInteger(IL_DXTC_FORMAT,IL_DXT1);
DXT1c => ilSetInteger(IL_DXTC_FORMAT,IL_DXT3);
etc.

Rassilon
Posts: 1887
Joined: 29.01.2002
With us: 22 years 9 months
Location: Altair

Post #2by Rassilon » 18.01.2003, 23:08

As usual on top of things ;)...I look forward to your tools Fridger...
I'm trying to teach the cavemen how to play scrabble, its uphill work. The only word they know is Uhh and they dont know how to spell it!

abiogenesis
Posts: 104
Joined: 07.06.2002
With us: 22 years 5 months
Location: Redmond, WA

Post #3by abiogenesis » 28.01.2003, 04:57

Hey, Fridger-

I've downloaded and built DevIL on WinXP (I know...), but I'm having a problem. It's all my fault though, as it's likely improper use. Remember that 32k earth texture that has been summarily dismissed as a pipe dream by the wisest of the developers on the forum? Well, I can't give it up. I know Celestia won't be able to load it, even if I can build it, but I'm a glutton for punishment. I won't feel that I've gotten the most out of my PC until I can make it actually cry. :twisted:

Anyway, I successfully stitched the two hemispheres of NASA's texture into a 32kx16k .tiff using NetPBM (thanks, Selden!) but I can't convert it to .dds. nvdxt takes a very long time to crash and DevIL is giving me an out of memory error when loading the file. I can't see what the problem is, it's only 1.5GB!

In your post above, you mention:
The speed is fascinating and there are no problems with memory or graphics!


But I'm having a problem with memory. I've only been using the libraries for about 20 minutes now, so it is quite possible that I'm overlooking something. Is there some way to have DevIL make more efficient use of my 1GB of RAM, or am I, yet again, out of luck?

Here are the specs of the system that I'm trying to break. You can see it's pretty beefy, but the NASA texture should do the trick!

Athlon XP 2100+
1GB PC2700 SDRAM
120GB HDD
GeForce 3 (plain vanilla, no Ti)[/i]

Avatar
Topic author
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #4by t00fri » 28.01.2003, 13:09

abiogenesis wrote:Hey, Fridger-

I've downloaded and built DevIL on WinXP (I know...), but I'm having a problem. It's all my fault though, as it's likely improper use. Remember that 32k earth texture that has been summarily dismissed as a pipe dream by the wisest of the developers on the forum? Well, I can't give it up. I know Celestia won't be able to load it, even if I can build it, but I'm a glutton for punishment. I won't feel that I've gotten the most out of my PC until I can make it actually cry. :twisted:

Anyway, I successfully stitched the two hemispheres of NASA's texture into a 32kx16k .tiff using NetPBM (thanks, Selden!) but I can't convert it to .dds. nvdxt takes a very long time to crash and DevIL is giving me an out of memory error when loading the file. I can't see what the problem is, it's only 1.5GB!

In your post above, you mention:
The speed is fascinating and there are no problems with memory or graphics!

But I'm having a problem with memory. I've only been using the libraries for about 20 minutes now, so it is quite possible that I'm overlooking something. Is there some way to have DevIL make more efficient use of my 1GB of RAM, or am I, yet again, out of luck?

Here are the specs of the system that I'm trying to break. You can see it's pretty beefy, but the NASA texture should do the trick!

Athlon XP 2100+
1GB PC2700 SDRAM
120GB HDD
GeForce 3 (plain vanilla, no Ti)[/i]


First of all, you should check whether you can convert a 16k texture to dds. This SHOULD definitely work. Also, there are a number of bugs in the DevIL library that I first had to eliminate. But this does not yet affect the operations at the level you are now.

Still, you should at least be able to load the texture into memory, which you cannot apparently, since your memory is 1GB and the texture size is 1.5 GB! I know of a method to convert arbitray sized files but it is very tedious.


Bye Fridger

Don. Edwards
Posts: 1510
Joined: 07.09.2002
Age: 59
With us: 22 years 2 months
Location: Albany, Oregon

Post #5by Don. Edwards » 28.01.2003, 14:42

To abiogenesis,
You seem to running into the same problems I have trying to work with 16k textures under XP. XP takes up more memory than the older Win98. If you have an old harddisk lying around with an install on it you might consider coping your texture to it and trying to compile your .dds under that instead. I had to resort to this the first time I tried to make an 8k texture due to only having 768mb of RAM. I did a RAM upgrade and now can work with 8k textures and create 8k .dds files in XP but as of yet even the 16k textures elude me and I am now working with a GIG of RAM. I personaly wouldn't even consider a 32k as you said earier you will never get the thing to load. But if its bragging rights you want then more power to you. I think you are in for even a greater memory upgrade though.
Have Fun!
I am officially a retired member.
I might answer a PM or a post if its relevant to something.

Ah, never say never!!
Past texture releases, Hmm let me think about it

Thanks for your understanding.

Guest

Post #6by Guest » 15.02.2003, 17:05

Hey guys.. I was having a problem getting nvdxt to operate on big files under WinXP also. I found my problem was the swap file was too small. Since I increased it (and told windows to stop resizing it as well), I've been able to fool with the 16k files successfully. I only have 256M of physical memory so it could be you guys are having a similar problem.

This new tool kits sounds great.. have to start the download NOW..
Later, hippie (I'll register here eventually)

Rassilon
Posts: 1887
Joined: 29.01.2002
With us: 22 years 9 months
Location: Altair

Post #7by Rassilon » 16.02.2003, 20:16

Increased RAM will solve winXP's swap...XP gobbles up 128 megs of RAM right off the top so doing anything like 16k textures would require 512-1 gig of RAM preferrably DDR (messing with the swap is not recommended generally)...that is for best performance of course ;)
I'm trying to teach the cavemen how to play scrabble, its uphill work. The only word they know is Uhh and they dont know how to spell it!

billybob884
Posts: 986
Joined: 16.08.2002
With us: 22 years 3 months
Location: USA, East Coast

At LAST! UltraFast Conversion|Display of DDS in Linux, Win,.

Post #8by billybob884 » 16.02.2003, 23:48

t00fri wrote:++++++++++++++++++++++
Forget about 'nvdxt'...
++++++++++++++++++++++

I discovered an amazing open-source /multi-platform/ Image Library Project for
developers, that handles DXT Format + openGL support very well and
easily! It understands an incredible amount of different image
formats.

...and it WORKS!

DevIL:= Developer's Image Library
==================================
http://openil.sourceforge.net/features.php
http://openil.sourceforge.net/download.php

this is exactly what i've been looking for, probably for at least a month
Mike M.

TacoTopia!

Avatar
Topic author
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

At LAST! UltraFast Conversion|Display of DDS in Linux, Win,.

Post #9by t00fri » 17.02.2003, 01:00

billybob884 wrote:
t00fri wrote:++++++++++++++++++++++
Forget about 'nvdxt'...
++++++++++++++++++++++

I discovered an amazing open-source /multi-platform/ Image Library Project for
developers, that handles DXT Format + openGL support very well and
easily! It understands an incredible amount of different image
formats.

...and it WORKS!

DevIL:= Developer's Image Library
==================================
http://openil.sourceforge.net/features.php
http://openil.sourceforge.net/download.php
this is exactly what i've been looking for, probably for at least a month


That announcement I made a /month/ ago and the reaction on it was so meager that I coded the whole thing and decided to use it just for myself;-)...

What I made is a dds viewer (without zoom yet) using openGL. It also displays many other formats.

Moreover and most importantly, I coded a conversion utility that dependent on command line parameters, converts any graphics format into DXT including Mipmaps.
Notably with my 512MB of RAM, I can convert even 16k textures of any popular graphics format /very fast/ into DXT! This I never managed with the nvdxt tool.

It can do a number of other things, but no Normal maps yet.

For now, I simply do not have the time to "service" the code for unexperienced users. Anyone who knows how to compile, is welcome to play with the stuff...

It's in C not C++.

For Linux, I have binaries, of course.

Bye Fridger

billybob884
Posts: 986
Joined: 16.08.2002
With us: 22 years 3 months
Location: USA, East Coast

Post #10by billybob884 » 17.02.2003, 01:52

i must have missed that post...
Mike M.



TacoTopia!

jim
Posts: 378
Joined: 14.01.2003
With us: 21 years 10 months
Location: Germany

At LAST! UltraFast Conversion|Display of DDS in Linux, Win,.

Post #11by jim » 17.02.2003, 20:32

t00fri wrote:
Anyone who knows how to compile, is welcome to play with the stuff...



That's the point. I hope someone can do that for windows.

Thanks Fridger for your great work.

Jens

Avatar
Topic author
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

At LAST! UltraFast Conversion|Display of DDS in Linux, Win,.

Post #12by t00fri » 17.02.2003, 21:38

jim wrote:
t00fri wrote:
Anyone who knows how to compile, is welcome to play with the stuff...


That's the point. I hope someone can do that for windows.

Thanks Fridger for your great work.

Jens


I have just sent the code to Selden. He is going to give it a try with Cygwin in Windows. I have even assembled an "emergency style" Readme.txt. Hope it is enough;-). Everything works quite fine for me at least...

Bye Fridger

billybob884
Posts: 986
Joined: 16.08.2002
With us: 22 years 3 months
Location: USA, East Coast

Post #13by billybob884 » 17.02.2003, 21:41

so selden will be compiling it all into a texture conversion program? (it turns out that i dont have any of the required programs to compile it :oops: )
Mike M.



TacoTopia!

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #14by selden » 17.02.2003, 22:16

Mike,

Now that is a rash assumption!
I'll try, but you may have to install the (free) Cygwin environment to be able to use the programs.

http://www.cygwin.com/
Selden

billybob884
Posts: 986
Joined: 16.08.2002
With us: 22 years 3 months
Location: USA, East Coast

Post #15by billybob884 » 17.02.2003, 22:23

sorry, just a guess
Mike M.



TacoTopia!

Rassilon
Posts: 1887
Joined: 29.01.2002
With us: 22 years 9 months
Location: Altair

Post #16by Rassilon » 18.02.2003, 00:32

Well if someone will compile it for the Win32 platform and post it for download Ill try it out...
I'm trying to teach the cavemen how to play scrabble, its uphill work. The only word they know is Uhh and they dont know how to spell it!

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #17by selden » 18.02.2003, 03:36

Unfortunately my brief attempt to build Fridger's programs under Windows was not successful. At least one of the libraries required by the display program does not seem to exist for Windows.

I'll have to leave it to someone else.

Sorry.
Selden

Rassilon
Posts: 1887
Joined: 29.01.2002
With us: 22 years 9 months
Location: Altair

Post #18by Rassilon » 18.02.2003, 05:03

Oh well been using nvdxt for a while wont make me cry to use it for a while longer ;)
I'm trying to teach the cavemen how to play scrabble, its uphill work. The only word they know is Uhh and they dont know how to spell it!

Avatar
Topic author
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #19by t00fri » 18.02.2003, 08:04

selden wrote:Unfortunately my brief attempt to build Fridger's programs under Windows was not successful. At least one of the libraries required by the display program does not seem to exist for Windows.

I'll have to leave it to someone else.

Sorry.


So which one is it? Does it concern the building of 'showgl'? If so, then it concerns Cygwin's openGL installation, presumably.

The DXD converter 'texconvert' does not use openGL. Moreover, by looking at ./configure --help, you see that you may turn off a number of graphics formats for which the respective libs are not installed on your system...

Did the installation of the DevIL graphics package work fine at least?

Bye Fridger

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #20by selden » 18.02.2003, 12:28

Fridger,

Yes, there are libraries I couldn't find for showGL

I did manage to get DevIL installed.
It didn't include any library named IL, but one named "devil" seemed to satify the unresolved references for TexConvert. I don't know if it actually works, though.

Cygwin only includes the OpenGL libraries libblui.a and libgluix.a. GLUT is separate, for example.

The library simply called "GL" was my stumbling block. I don't know enough about OpenGL to know what Windows package that corresonds to.
Selden


Return to “Textures”