Page 1 of 1

Black ball display problems

Posted: 16.01.2003, 20:35
by timcrews
Hello:

I have recently developed the problem that my high-resolution textures are resulting in a "black ball" effect. I know that generally this is a problem with not enough texture memory, or a missing texture file, but I have several reasons to believe this is not the case for me:

1) I have the same video card I have always used, and it worked fine with Celestia and the same combination of textures for months. A GeForce 4 Ti4200, 64M . I have 1.25GB of main memory. Problem developed under Windows 2000. I have since upgraded to WinXP Pro and still have the problem.

2) The black ball isn't _all_ black. Small segments of the correct texture are displayed on the planet. Also, the specular maps are working correctly, so that I can see different reflections off of the black portions based on the specular texture. Atmospheric haze is also correctly displayed over the planet.

The two really high res textures I use are for Mars and for Earth. If I start with my medium-res textures, I can see the planets just fine, but then when I switch to hi-res, the black ball effect kicks in, and it won't go away even if I switch back to medium res. Even if I zoom way in to the planet surface before switching to hi-res (which was previously the technique I always used to maintain good frame rates), the black ball effect happens.

The textures I am using are:

mars medres
4k main .dds texture
4k bump .jpg texture
4k spec .dds texture
2k .png cloud texture (overlays place names)

mars hires
8k main .dds texture
8k bump .jpg texture
4k spec .dds texture
2k .png cloud texture (overlays place names)

earth medres
8k main .dds texture with specular alpha channel
8k night .dds texture
no bump texture
2k cloud .dds texture

earth hires
16k main .dds texture with specular alpha channel
8k night .dds texture
no bump texture
2k cloud .dds texture

Of course I can see that if I add together the individual file sizes they add up to more than 64M. So maybe I am being overly ambitious with my textures. However, I _have_ seen both Earth and Mars displayed at their highest resolution; in fact, I studied them very closely for many hours, much to my enjoyment. Admittedly, if I zoomed out too far, my frame rate plummeted, but this is a different problem than I am now having.

Any pointers?

Thanks,

Tim Crews

Black ball display problems

Posted: 16.01.2003, 20:53
by t00fri
Tim:

Could you please dump the Earth part of solarsys.ssc as well as a list of /all/ actual Earth texture files located in the /hires/ and /medres/ directories.

Did you make sure that both vertex and pixel shaders are ON? Toggle CTRL P and CTRL V. What happens?

I am convinced that this is not Celestia's problem...

Bye Fridger

Posted: 16.01.2003, 22:11
by timcrews
Fridger:

Interesting, turning Pixel shading _OFF_ makes the black ball problem go away. Of course, I also lose dynamic bump mapping the the process.

When I just went and tried this, I started Celestia and went to Mars right away, which means it was using the medres texture. It was partially black-balled. I toggled pixel shading off, the whole Mars came back. I toggled pixel shading back _on_, and Mars continued to be properly displayed, and dynamic bump mapping turned back on too. In other words, the end state was what I _should_ have seen when I first went to Mars, but I had to toggle pixel shading off and back on to see it properly.

But with the high-res maps, I can only eliminate the black ball problem by turning pixel shading off and keeping it off.

I can give you a complete list of my files, however I'm not sure it will help much because I have worked pretty hard to come up with a set of files with consistent names. In other words, the filenames I am using are not the same as in the standard distribution.

"Earth" "Sol"
{
Texture "earth.dds"
#Texture "big3.jpg"
#BumpMap "earthbump.jpg" # slows things down, doesn't look right.
NightTexture "earthnight.dds"
SpecularTexture "earth-spec.dds"
Color [ 0.85 0.85 1.0 ]
SpecularColor [ 0.5 0.5 0.55 ]
SpecularPower 25.0
HazeColor [ 1 1 1 ]
HazeDensity 0.3
Radius 6378
Oblateness 0.003
RotationPeriod 23.9344694 # 23.93419
RotationOffset 280.5 # offset at default epoch J2000
Obliquity -23.45
Albedo 0.30

Atmosphere {
Height 80
Lower [ 0.5 0.5 0.65 ]
Upper [ 0.3 0.3 0.6 ]
Sky [ 0.3 0.6 0.9 ]
CloudHeight 9
CloudSpeed 100
CloudMap "earth-clouds.dds"
}

CustomOrbit "vsop87-earth"
EllipticalOrbit {
Period 1.0000
SemiMajorAxis 1.0000
Eccentricity 0.0167
Inclination 0.0001
AscendingNode 348.739
LongOfPericenter 102.947
MeanLongitude 100.464
}

}

"Mars" "Sol"
{
Texture "mars.dds"
BumpMap "marsbump.jpg"
BumpHeight 55.0
SpecularTexture "marsspec.dds"
SpecularColor [ 0.14 0.12 0.10 ]
SpecularPower 25.5
Color [ 1 0.75 0.7 ]
HazeColor [ 0.28 0.24 0.2 ]
HazeDensity 0.90
Radius 3394
Oblateness 0.006

Atmosphere {
Height 30
Lower [ 0.8 0.6 0.6 ]
Upper [ 0.7 0.3 0.3 ]
Sky [ 0.83 0.75 0.65 ]
CloudMap "rgbmars-names-2k.png"
}

CustomOrbit "mars"
EllipticalOrbit
{
Period 1.8809
SemiMajorAxis 1.5237
Eccentricity 0.0934
Inclination 1.8506
AscendingNode 49.479
LongOfPericenter 336.041
MeanLongitude 355.453
}

RotationPeriod 24.622962
Obliquity 23.98
LongOfRotationAxis 262.78

Albedo 0.150
}

"Green Mars" "Sol"
{
#Texture "Green-Mars-compose.dds"
Texture "TM07.dds"
Color [ 0.85 0.85 1.0 ]
SpecularColor [ 0.5 0.5 0.55 ]
SpecularPower 25.0
HazeColor [ 1 1 1 ]
HazeDensity 0.3
Radius 3394
Oblateness 0.006

Atmosphere {
Height 30
Lower [ 0.5 0.5 0.65 ]
Upper [ 0.3 0.3 0.6 ]
Sky [ 0.3 0.6 0.9 ]
#CloudMap "Green-Mars-Clouds.dds"
#CloudMap "Terra-Mars Clouds.png"
CloudMap "rgbmars-names-2k.png"
}

CustomOrbit "greenmars"
EllipticalOrbit
{
Period 5
SemiMajorAxis 1.5237
Eccentricity 0.0934
Inclination 1.8506
AscendingNode 49.479
LongOfPericenter 336.041
MeanLongitude 355.453
}

RotationPeriod 24.622962
Obliquity 23.98
LongOfRotationAxis 262.78

Albedo 0.3
}

########################

As you can see, I have two mars definitions, one red and one green.

The earth files in the medres directory are:

earth.dds - 21846 KB
earthbump.jpg - 925 KB
earth-clouds.dds - 2731 KB
earth-spec.dds - 5462 KB

In the hires directory are:
earth.dds - 87382 KB
earthnight.dds - 21846 KB

The mars files in the medres directory are:
Green-Mars-Clouds.dds 2731K
Green-Mars-compose.dds 10923K
mars.dds 5462K
marsbump.jpg 1494K
marsspec.dds 5462K
rgbmars.dds 683K
rgbmars-names-2k.png 258K
rgbmars-spec.dds 683K

And in hires:
mars.dds 21846K
marsbump.jpg 4078K
rgbmars.dds 2731K
rgbmars-spec.dds 2731K

Thanks Fridger

Tim

Posted: 16.01.2003, 22:26
by Darkmiss
I have had this happen to me once
when i was mucking about with textures

half of my planet would be comletely black.
and the problem was that the texture wasnt in 24bit RGB or higher

as soon as I loded the texture into my paint program and converted it to RGB
It worked fine

I'm not sure if this is your problem, but check anyway.

Posted: 17.01.2003, 00:05
by selden
Tim,

A comment irrelevant to the texture problem:
I noticed that your GreenMars definition includes the declaration

Code: Select all

CustomOrbit "greenmars"

I trust you are aware that no such CustomOrbit exists unless you've modified Celestia's source code. Unmodified Celestia would be using the EllipticalOrbit definition that follows.

(written later: you didn't include the dimensions of the textures you listed. They won't be used by Celestia if they aren't actually powers of two in height and width. I've gotten burned often enough, with symptoms similar to yours, when I accidentally copied in the pre-scaled versions.)

Posted: 17.01.2003, 00:47
by timcrews
The "greenmars" custom orbit was an ignorant attempt to get a second mars near the original mars without them actually being in the same place. Apparently I accomplished the desired objective without knowing what I was doing.

The files are all standard 2K, 4K, 8K, or 16K sizes, where K=1024, not 1000.

I will have to check on the 24-bit RGB thing. But I don't think that is the problem. Several of the textures that I am seeing the problem with were not manipulated by me, but were downloaded straight from Celestia-related sites.

Thanks,
Tim

Posted: 17.01.2003, 00:56
by t00fri
timcrews wrote:The "greenmars" custom orbit was an ignorant attempt to get a second mars near the original mars without them actually being in the same place. Apparently I accomplished the desired objective without knowing what I was doing.

The files are all standard 2K, 4K, 8K, or 16K sizes, where K=1024, not 1000.

I will have to check on the 24-bit RGB thing. But I don't think that is the problem. Several of the textures that I am seeing the problem with were not manipulated by me, but were downloaded straight from Celestia-related sites.

Thanks,
Tim


Your solarsys-filename associations all seem OK. The next thing that comes to mind is clearly concerning the dds textures themselves.

If a dds texture has been incorrectly converted as a DXT1a format, you got your black ball problem!

So please, go to my Texture Foundry site and download at least one hires set of dds earth or mars textures. These are correctly done...You bet.



Bye Fridger

Posted: 17.01.2003, 05:50
by timcrews
Fridger:

I already have your textures, and I do appreciate your making them available.

However, I find the difference that dynamic bump-mapping makes is incredible, especially with Mars, so that's why I don't use your mars textures.

But since I'm not using a separate bump map for Earth anyway, I will try using your Earth texture instead and see if that eliminates the problem. That will at least help me narrow it down.

But really, with the new info about turning on/off pixel shading affecting the black-ball problem the way it does, don't you think there is any possibility of a real bug at this point? Would an incorrectly-produced .dds file really account for the behavior we are talking about? (Remember, part of the texture _is_ shown on the planet's surface, so it can't be complete garbage, also turning off pixel shading makes the texture appear correctly.)

Tim