Feature Request: How Do I Use VT's?

General discussion about Celestia that doesn't fit into other forums.
Toti
Developer
Posts: 338
Joined: 10.02.2004
With us: 20 years 9 months

Post #21by Toti » 16.02.2004, 04:00

Bob:
I am glad that it worked :)
Now you know what follows:

level 1:

1 ) inside of your celestia/textures/hires/earth folder, create a new folder called level1 (without spaces)
2 ) with the GIMP, create 8 images 512x512 in rgb: one orange, the other green, etc. Do not use blue/red/white/black because they could mask undesired effects. Save them as

tx_0_0.jpg
tx_0_1.jpg
tx_0_2.jpg
tx_0_3.jpg

tx_1_0.jpg
tx_1_1.jpg
tx_1_2.jpg
tx_1_3.jpg

inside the level1 folder.

3 ) run celestia. Go to earth, orbit it, etc.
You should see the planet painted blue/red. Now get closer (slowly, I recommend 7-9 short beats to the HOME key) at some point, you should see earth completely covered with a tiled pattern of the colors you used. Now there should be 8 of them.

Pay attention to the delays: some of them will be due to disk transfer (the textures are been loaded from disk) and some others (the shorter, silent ones) to data being transferred from main RAM to the video card RAM through the AGP/PCI port)
You can try to optimize your VT increasing/decreasing the size of your tiles in order to minimize these delays.

If this works OK (I mean, you can see the 8-colored tile pattern, and move the planet on screen with an acceptable smoothness) you should search for a real 512*512 tile size VT.
If you are on a dialup, I recommend downloading level1, 2 and 3. You can download the rest of the levels later (or better and quicker, make your own real VT)
Replace the earth folder with them (if the VT does not provide a .ctx you can use your own, but remember that the new folder name must match the one in your earth.ctx)
If you cannot find a 512*512 tile size VT, you can try downloading a 1024*1024 tile size one. If it works too slowly, you can downsample each 1024*1024 tile to 512*512 (a very boring task in GIMP, because it must be made manually)

Hope this works :)

Topic author
Bob Hegwood
Posts: 1048
Joined: 19.10.2003
With us: 21 years
Location: Germantown, Ohio - USA

Post #22by Bob Hegwood » 16.02.2004, 04:10

Ziggy,

I tried as well to get Fridger's script implemented on my poor, limited machine.

However, Cygwin screwed me. This is a massive download, and I apparently lack the technical expertise to implement it correctly. I also didn't wish to waste Gigabytes of disk space just so I could use one utility.

What the hell is a Dalwhinnie Single Malt? You mean this drink doesn't give hang-overs? 8)

Thanks for the advice, if I can find one, I'll give it a shot! :wink:

Take care, Bob
Bob Hegwood
Windows XP-SP2, 256Meg 1024x768 Resolution
Intel Celeron 1400 MHz CPU
Intel 82815 Graphics Controller
OpenGL Version: 1.1.2 - Build 4.13.01.3196
Celestia 1.4.0 Pre6 FT1

Topic author
Bob Hegwood
Posts: 1048
Joined: 19.10.2003
With us: 21 years
Location: Germantown, Ohio - USA

Post #23by Bob Hegwood » 16.02.2004, 04:24

Toti wrote:Bob:
I am glad that it worked :)
Now you know what follows:

Thanks a *bunch* Toti...

I can see why the topic is not really embraced by Celestia users just yet. It gets complicated quickly doesn't it? :(

At any rate, I'm copying your messages to my PC, and I'm saving them as my "How To" Guide. Don't know when, but can I use the text from your messages to create a real "How To" Guide and place it on my web page?

I think it would be of great assistance to others. Maybe even those who are just trying to figure out what VT's are! Just thought I'd ask.

Thanks again, Bob
Bob Hegwood

Windows XP-SP2, 256Meg 1024x768 Resolution

Intel Celeron 1400 MHz CPU

Intel 82815 Graphics Controller

OpenGL Version: 1.1.2 - Build 4.13.01.3196

Celestia 1.4.0 Pre6 FT1

Toti
Developer
Posts: 338
Joined: 10.02.2004
With us: 20 years 9 months

Post #24by Toti » 16.02.2004, 07:49

I can see why the topic is not really embraced by Celestia users just yet. It gets complicated quickly doesn't it?

If you refer to my instructions for level0 and level1 build, they are only a test method to see if your card will be able to support VTs (ie. mantaining a lot of big textures on screen at the same time).
The real construction of VT is much simpler:
1) Download a large texture.
2) If you want, you can color correct it, enhace it, etc.
3) For each tile level that you want to build:
* run Virtualtex script on it, specifying tilesize, tile level and destination graphic format
* move the constructed images to the appropriate folder (level0, level1, etc.)
4) Create the corresponding .ctx
5) Update your solarsys.ssc (or add a file with the proper AltSurface info)
6) Enjoy

or

You can download an already constructed VT from several Celestia users sites, as a zip file. Most of these files come with their own .ctx, so you only have to do step 5). Some of them are divided in levels, ie. you can download levels 1-4 and later levels 5-8, etc.
But most of these VT are DXT compressed. This means that every single tile is in .dds format. If your graphic card supports DXT decompression on the fly then you can use them (and the result will be a overall better Celestia performance). Otherwise, you will not see them at all unless you convert every single tile to other format (jpg, png) (if done manually, a really boring task)
So be careful when you choose what to download.

At any rate, I'm copying your messages to my PC, and I'm saving them as my "How To" Guide. Don't know when, but can I use the text from your messages to create a real "How To" Guide and place it on my web page?

I think it would be of great assistance to others. Maybe even those who are just trying to figure out what VT's are! Just thought I'd ask.

Of course you can, Bob. The VT creation/installing is simple when you understand what to do. Given the fact that there isn't a single VT included with the binary distribution, it is possible that a lot of casual users do not even know about this feature.

Ziggy,

I tried as well to get Fridger's script implemented on my poor, limited machine.

However, Cygwin screwed me. This is a massive download, and I apparently lack the technical expertise to implement it correctly. I also didn't wish to waste Gigabytes of disk space just so I could use one utility.


You only need the base Cygwin package and a Unix style simple text editor like Nano. There are accurate step by step instructions on this page:

http://www.shatters.net/forum/viewtopic.php?t=3089&postdays=0&postorder=asc&start=30

I recommend reading the whole thread. There is useful introductory info on Cygwin, NetPBM, console level utilities, inter-platform CR issues, etc.

I used ImageMagick several times to make my own VT. It is considered THE solution when you need to open all the images in a folder and make some simple processing with them.
But recently I coded a simple script to construct VT sets in the GIMP in interactive mode.
I have serious doubts that it will work with 32K or 64K textures on low specs PCs, though.

Topic author
Bob Hegwood
Posts: 1048
Joined: 19.10.2003
With us: 21 years
Location: Germantown, Ohio - USA

Post #25by Bob Hegwood » 16.02.2004, 23:10

Thanks again, Toti...

Got Cygwin and ImageMagick both installed on my PC, and I've verified that my machine can use the virtual textures.

I'm still confused here though. Where do I place Fridger's script, and how do I execute the 'chgmod' command to make it an executable? I mean, do I place the script in a Cygwin directory? An ImageMagick directory?

I'm getting there, it's just that I'm slow. :roll:

Take care, Bob
Bob Hegwood

Windows XP-SP2, 256Meg 1024x768 Resolution

Intel Celeron 1400 MHz CPU

Intel 82815 Graphics Controller

OpenGL Version: 1.1.2 - Build 4.13.01.3196

Celestia 1.4.0 Pre6 FT1

ziggy
Posts: 64
Joined: 27.03.2003
With us: 21 years 7 months

Post #26by ziggy » 17.02.2004, 01:24

Hi All,

Ptarmigan
PS. OT Dalwhinnie have a strange tendency to sometimes
produce product with a slight nose of cabbages ! I kid you not !!
I am quite fond of Glenfiddich from Speyside,
but I am sure their bottlesare becoming less triangular.
(OT) Dalwhinnie is a very nice whisky, I've personally never
come across one with a cabbage nose Ptarmigan, although
after too much it's possible to get into situations leading to
cauliflower ear... I understand that it's often used in blends,
as it has a smoothing effect. As for hangovers, I think single
malts are purer and don't give such bad ones, compared to
brandy etc. Anyway, this looks purgatory bound so perhaps
enough already .

On the VTs, I followed the thread pointed up by Toti,
observe how much of it is concerned with problems
with line endings and so on, ie making it work, I found that what is a trivial
matter to Dr F, was not so easy or obvious to me, not for
want of trying either. Best of luck Bob! The advice you receive
may be along the lines of "get less confused"

I think you are now fully qualified to move to level 1
In my case I can make tiles up to level 10, but I have failed
miserably when it comes to displaying level 11.
I think that means that genius ends at 10 and
I have to become omnipotent to get to 11


I don't think Celestia supports beyond level 10 so that might
explain the difficulty there.
However, if you become omnipotent you will have access to all levels,
when it happens remember your friends here, won't you....
I know that you don't have to have a complete set of files for
each level, it's ok if you are just doing close-ups, where you only need a few, still a bit slow to do though,
hopeless if you are doing a complete planet .
cheers all :wink:

Ptarmigan
Posts: 127
Joined: 02.01.2004
With us: 20 years 10 months

Post #27by Ptarmigan » 17.02.2004, 01:54

ziggy wrote:I don't think Celestia supports beyond level 10 so that might explain the difficulty there.
Yep, you are quite right. My fault.
I re-read Selden's page in which he says "Virtual textures consist of as many as 11 levels of detail." and counting, on my fingers, from 0 to 10 =11 levels ! ha! I was a fool !! :oops:

Now if only I could get Base Split 1 to woik ,,,,,

Malcolm, ->>passes hat of genius to ->> Ziggy :-)

Toti
Developer
Posts: 338
Joined: 10.02.2004
With us: 20 years 9 months

Post #28by Toti » 17.02.2004, 03:26

Bob:
the directory where you must place Fridger's script is pointed out in the thread page that I have posted above.
Cygwin uses Windows usual Path declaration (in c:\autoexec.bat). You should add ImageMagick for Windows path to it (if IM installing process doesn't do this).
This way, Cygwin command line interpreter should be able to locate IM.
Do not load & save the script on any Windows text editor. This will likely introduce line-end changes and will make it unusable.

This should work, but if still doesn't, copy and paste identify.exe and convert.exe (from IM directory) to the directory where the script is located. Navigate to that directory (using Cygwin command line), and run the script from there.

Topic author
Bob Hegwood
Posts: 1048
Joined: 19.10.2003
With us: 21 years
Location: Germantown, Ohio - USA

Post #29by Bob Hegwood » 17.02.2004, 04:36

Sorry Toti,

I missed that during my blurry-eyed reading of the instructions. :oops:

Now you've really gotten me confused though. I don't have an "autoexec.bat" file on my Windows XP machine.

Not to worry though... Give me a day or two, and I'll get it figured out.

Thanks again for all of your help, but there really oughtta be a better/easier way to do this shouldn't there? :wink:

Take care, Bob
Bob Hegwood

Windows XP-SP2, 256Meg 1024x768 Resolution

Intel Celeron 1400 MHz CPU

Intel 82815 Graphics Controller

OpenGL Version: 1.1.2 - Build 4.13.01.3196

Celestia 1.4.0 Pre6 FT1

Guest

Post #30by Guest » 17.02.2004, 06:29

Now you've really gotten me confused though. I don't have an "autoexec.bat" file on my Windows XP machine.

Not to worry though... Give me a day or two, and I'll get it figured out.


Sorry, this was my mistake. XP doesn't have autoexec.bat at all. Go to Control panel > System > Environment variables
There you should be able to put a path statement or something like that (I am not a XP user)

Toti
Developer
Posts: 338
Joined: 10.02.2004
With us: 20 years 9 months

Post #31by Toti » 17.02.2004, 06:33

Tha above post was mine. I was not logged in

Topic author
Bob Hegwood
Posts: 1048
Joined: 19.10.2003
With us: 21 years
Location: Germantown, Ohio - USA

Post #32by Bob Hegwood » 17.02.2004, 06:59

Not to worry, Toti...

I'll get it sooner or later. I've also looked at a few other "image-splitting" graphics packages. You can find a few if you look hard enough.

At any rate, I will get this working shortly.

Thanks to you, I now know that:

1) I can use virtual textures on my machine.
2) I can get some fantastic resolutions based on other VT's I've found on the web
3) I'm going to be able to create my own VT's for use within my scripts too.

None of this would have occurred without your help, so please accept my sincere thanks for walking me through the process. I can't believe that many others are going to go through all of this though. If you come up with an easier way to create the textures with a Gimp script, please let us know about it.

Again, thanks for your patience and understanding. Are you a teacher? :wink: If you ain't, maybe you oughtta be!

Take care, Bob
Bob Hegwood

Windows XP-SP2, 256Meg 1024x768 Resolution

Intel Celeron 1400 MHz CPU

Intel 82815 Graphics Controller

OpenGL Version: 1.1.2 - Build 4.13.01.3196

Celestia 1.4.0 Pre6 FT1

Topic author
Bob Hegwood
Posts: 1048
Joined: 19.10.2003
With us: 21 years
Location: Germantown, Ohio - USA

Post #33by Bob Hegwood » 17.02.2004, 21:08

Okay,

Here's the latest from the Brain-Dead...

I've gotten Cygwin, ImageMagick, and Fridger's script all to work fine. :lol:

Now, the problem is that I don't understand the output files I'm getting.

When I enter "virtualtex HiresMars.jpg 512 jpg" in the Cygwin window, the process completes normally, and creates 128 tiles for use in Celestia. Note: The HiresMars.jpg file is 8192 x 4096.

What I *thought* I'd get, and what I actually got are two different things. I thought I'd get two texture files for level0, and I thought they'd each be half of the planet. Looks like tx_0_0.jpg and tx_1_0.jpg are the same 1/4 of the planet. :?:

Can someone explain please?

Thanks, Bob
Bob Hegwood

Windows XP-SP2, 256Meg 1024x768 Resolution

Intel Celeron 1400 MHz CPU

Intel 82815 Graphics Controller

OpenGL Version: 1.1.2 - Build 4.13.01.3196

Celestia 1.4.0 Pre6 FT1

ANDREA
Posts: 1543
Joined: 01.06.2002
With us: 22 years 5 months
Location: Rome, ITALY

Post #34by ANDREA » 17.02.2004, 23:31

Bob Hegwood wrote:What I *thought* I'd get, and what I actually got are two different things. I thought I'd get two texture files for level0, and I thought they'd each be half of the planet. Looks like tx_0_0.jpg and tx_1_0.jpg are the same 1/4 of the planet. :?: Can someone explain please? Thanks, Bob

Bob, if you go to this post
http://www.celestiaproject.net/forum/viewtopic ... c&start=30
you'll find a very clear explanation of the thing. :D
By

Andrea :D
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO

Topic author
Bob Hegwood
Posts: 1048
Joined: 19.10.2003
With us: 21 years
Location: Germantown, Ohio - USA

Post #35by Bob Hegwood » 18.02.2004, 04:03

Thanks Andrea,

But your link explains exactly what I thought that I would get. Maybe I didn't explain myself correctly.

At level0, I expected to get 2 files returned, one for each side of Mars.
At level1, I expected to get 8 files, 4 for each side of Mars.

The problem is that the files I expected to be named in accordance with the level configuration as it is explained in your thread, just don't match up to each half of the planet.

I'll look at it some more, but it's going to take a while to figure out where each of these 128 files are supposed to go if the naming isn't right? :?:

I know I'm a pain, but I'm making a real effort to understand/use the VT's. :wink:

Thanks, Bob
Bob Hegwood

Windows XP-SP2, 256Meg 1024x768 Resolution

Intel Celeron 1400 MHz CPU

Intel 82815 Graphics Controller

OpenGL Version: 1.1.2 - Build 4.13.01.3196

Celestia 1.4.0 Pre6 FT1

Toti
Developer
Posts: 338
Joined: 10.02.2004
With us: 20 years 9 months

Post #36by Toti » 18.02.2004, 06:18

Thank you, Bob. I am glad to help.

If you come up with an easier way to create the textures with a Gimp script, please let us know about it.
Then I will let you know that I had already let you know: :D
Some posts above I wrote:
But recently I coded a simple script to construct VT sets in the GIMP in interactive mode.


Now to your problem. I had to change some lines of Fridger's script to run it on my system, so I don't know how it originally worked. After reading it I am a bit confused by zsh syntax but I think -and may be incorrect- that it uses the original texture size as a basis to set the tile level desired.
If your original texture is 8192 pixels wide and your tile size is 512 then 8192/512=16=2^4. This means that the tiles created in this process are your level4-1=level3 ones (remember that Celestia starts numbering levels in 0, that's why 4-1).
More:
[8192/512]=horizontal tiles=16 (width/tilesize)
[4096/512]=vertical tiles=8 (height/tilesize)
Then:
16*8=128 tiles for your 3th level

A possible way to go:
1) Open your mars texture with the GIMP. This will be the source for level3.
2) Rescale it to 4192*2048 and save it to mars4k.tga (source for level2)
3) Rescale it to 2048*1024 and save it to mars2k.tga (source for level1)
4) Rescale it to 1024*512 and save it to mars1k.tga (source for level0)

Now:
For each of this textures (including the original, of course)
1) Run Fridger's script with texture's name as first parameter
2) Move the created textures to the proper destination folder

And should be all

Topic author
Bob Hegwood
Posts: 1048
Joined: 19.10.2003
With us: 21 years
Location: Germantown, Ohio - USA

Post #37by Bob Hegwood » 18.02.2004, 07:48

Thanks again Toti... :!:

But if this is what it takes to use/create virtual textures, then ain't nobody but rocket scientists ever gonna use it.

What I got was a series of texture files named:

tx_0_0.jpg
tx_0_1.jpg
tx_0_2.jpg
tx_0_3.jpg
tx_0_4.jpg
tx_0_5.jpg
tx_0_6.jpg
tx_0_7.jpg
tx_1_0.jpg
tx_1_1.jpg

... all the way up to ...

tx_15_7.jpg

I thought that tx_0_0.jpg and tx_1_0.jpg were supposed to represent the level0 textures. No?

If not, then what textures *do* go into level 0? All 8 of the first set? If that's the case, then what happened to the naming convention?

If I have to re-size the original texture in order to use this utility, then what's the point? :?:

Ah, never mind... I'm just getting frustrated here. :(

Thanks again for all your help, but I think I need a drink now. :wink:

Take care, Bob
Bob Hegwood

Windows XP-SP2, 256Meg 1024x768 Resolution

Intel Celeron 1400 MHz CPU

Intel 82815 Graphics Controller

OpenGL Version: 1.1.2 - Build 4.13.01.3196

Celestia 1.4.0 Pre6 FT1

Toti
Developer
Posts: 338
Joined: 10.02.2004
With us: 20 years 9 months

Post #38by Toti » 18.02.2004, 10:59

Bob:

1) Please read again my latest post carefully

Almost all of your questions are answered there, including where the script-produced tiles go.

2) I am sure that you remember one of my first posts, where I said that each level folder keeps a downsized version of your surface texture.
In your case (and somewhat repeating my latest post):

level3 keeps the 8192*4192 mars
level2 keeps the 4192*2048 mars
level1 keeps the 2048*1024 mars
level0 keeps the 1024*512 mars

But remember they are not in a single piece, but splitted.

So we have two tasks to do:
1) scale the mars texture to 4k 2k 1k. There will be 4 one-piece textures in total: 8k (the original) 4k 2k and 1k.
2) split each of this 4 one-piece textures into small tiles.

Fridger?s tool only splits textures (task 2). It doesn't scale them. (*)
So, you will have to scale them in order to use the script.
Once done, you must run it properly:

* when you use the script on the 1024*512 mars it will make the level0 tiles (2 tiles tx_0_0.jpg and tx_1_0.jpg. The tiles that you are worried about)
* when you use the script on the 2048*1024 mars it will make the level1 tiles (8 tiles)
* when you use the script on the 4096*2048 mars it will make the level2 tiles (32 tiles)
* when you use the script on the 4096*8192 mars it will make the level3 tiles (128 tiles, the ones that you listed above)

After each script execution, it's only matter of moving the produced tiles into the proper folder, and go for the next level.

(*) this is only an asumption based in my inspection of the script code. But I managed to run the script using the above instructions, so they will do the job.

Bye
:D

jestr
Posts: 612
Joined: 14.09.2003
With us: 21 years 2 months
Location: Bridgwater,UK

Post #39by jestr » 18.02.2004, 11:01

Hi Bob, You have to resize the texture for each level.So when you're making level0 tiles (if you want 2x512tiles) then your texture must be 1024x512.Then for level1 (4x2 tiles)-texture size=2048x1024.Level2 (8x4tiles)-texture size=4096x2048.Level3 (16x8tiles)-texture size=8192x4096.Level4 (32x16 tiles)-texture size=16384x8192 and so on.Hope this helps Jestr

Ptarmigan
Posts: 127
Joined: 02.01.2004
With us: 20 years 10 months

Post #40by Ptarmigan » 18.02.2004, 11:07

Prologue edit !
Ah! I see that as I was typing this lot up, Toti and Jestr are already awake and on the job also !! --->>>

Bob Hegwood wrote:Thanks again Toti... :!:
But if this is what it takes to use/create virtual textures, then ain't nobody but rocket scientists ever gonna use it. snip
heehe :-) mea culpa, well I'm not a rocket scientist, just spacecraft telecoms type ( Giotto and Ulysses, amongst others.)
But, to the point ,,,
this is just a little quicky on my way to breakfast, I expect Toti and others will be along in a minute to explain it all better, but try this to be going on with :--
I thought that tx_0_0.jpg and tx_1_0.jpg were supposed to represent the level0 textures. No?
Yes ! , err well sortof -->>
level 0 has two files : tx_0_0.jpg and tx_1_0.jpg
BUT level 1 ALSO has two different files called tx_0_0.jpg and tx_1_0.jpg as well as 6 other files 2_0, 3_0, in the top row and 0_1, 1_1, 2_1, 3_1 in the bottom row. See diagram in Chris' first post in the thread that Andrea pointed to. (i've left out the tx_ and jpg for brevity !

The same with level 2, it also has its own files called 0_0 and 0_1, as well files numbered similar to those other 6, plus a whole load of new numbers.
Each level always has a tile 0_0 in its upper left corner, think of cartesian coordinates x_y for the tile numbering sequence in Chris' diagram of little squares.

Am I explaining it very well, does it make sense, if not I'll be back later to try again :-)

I can't help with the fridger/cygwin lark, I've not used it.
good luck,
Malcolm.
Last edited by Ptarmigan on 18.02.2004, 11:48, edited 1 time in total.


Return to “Celestia Users”