Hi everyone. I need your advice, if possible. I am updating some of my educational add-ons and have run into a weird problem with a few of them. One in particular is an add-on done for me by Don Edwards about a year ago. It creates a planet called Orpheus, which is the name given to the hypothetical planet that may have smashed into Earth to form our moon (Collision theory is the foremost theory for the moon's origins).
The add-on contains a surface texture, night texture, spec texture, normal texture and cloud texture. It also detailed a colored haze, using the ssc haze commands.
I have an NVidia GeForce 3600 GT card with 256 MB Video RAM.
In Celestia 1.4.1, everything worked fine when displayed in OpenGL 2.0. However, when I loaded the add-on into 1.5.1, the normal map became speckled when displayed in OpenGL 2.0. This defect did not occur when rendering in OpenGL Vertex/Nvidia Combiners. Also, the haze effect disappeared.
Here are some screenshots with the Normal map active, detailing the difference in the scene between Open GL 2.0 and OpenGL Vertex/Nvidia Combiners:
Frank
Notice the speckle visible in the flooded area. This is from the normal map. When I remove that map, the speckle does not appear.
The second problem is with haze. I see no haze in 1.5.1 when using Open GL 2.0. That can also be seen in the two pictures above. Has the haze effect disappeared from 1.5.1, or has it been replaced by different commands?
Sorry if this question was already asked somewhere else. Thanks in advance
Stange Normal map and haze effects in 1.5.1
-
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 9 months
- Location: Seattle, Washington, USA
Re: Stange Normal map and haze effects in 1.5.1
Frank,
The OpenGL 2.0 path doesn't support the haze effect. There's a good reason for this difference: haze is really an atmospheric effect, and is automatically produced with the OpenGL 2.0 atmospheres in a more physically realistic way. The atmospheric haze is a 'hack' that produces a plausible visual effect but doesn't physically make a lot of sense. The OpenGL 2.0 atmospheres weren't possible on the graphics hardware that was available when Celestia was first released; if they were, the haze effect would probably never have been added to Celestia.
I will have to investigate the normal map problem, though I already have some idea about what is going on. Versions of Celestia prior to 1.5.0 had only limited support for specular surfaces with normal maps: the normal map wasn't considered at all when calculating specular lighting. Thus 'glitches' in the normal map may not have been apparent in older versions. I suspect that there are some bad pixels in your normal map. It's my guess that you're using a DXT compressed normal map--some of the speckles look like block compression artifacts. If you can provide an add-on with the problem planet, I'll try and get to the bottom of the issue.
--Chris
The OpenGL 2.0 path doesn't support the haze effect. There's a good reason for this difference: haze is really an atmospheric effect, and is automatically produced with the OpenGL 2.0 atmospheres in a more physically realistic way. The atmospheric haze is a 'hack' that produces a plausible visual effect but doesn't physically make a lot of sense. The OpenGL 2.0 atmospheres weren't possible on the graphics hardware that was available when Celestia was first released; if they were, the haze effect would probably never have been added to Celestia.
I will have to investigate the normal map problem, though I already have some idea about what is going on. Versions of Celestia prior to 1.5.0 had only limited support for specular surfaces with normal maps: the normal map wasn't considered at all when calculating specular lighting. Thus 'glitches' in the normal map may not have been apparent in older versions. I suspect that there are some bad pixels in your normal map. It's my guess that you're using a DXT compressed normal map--some of the speckles look like block compression artifacts. If you can provide an add-on with the problem planet, I'll try and get to the bottom of the issue.
--Chris