Page 1 of 1
Dissapearing Ring Bug
Posted: 06.11.2004, 01:57
by Michael Kilderry
I am here reporting a bug that I have discovered when I was testing new planets for the Lera System project. I have put a ring around a moon instead of a planet, so when the moon orbits, there is a hoola-hoop effect to the ring. The ring surrounds both the moon and the planet, the bug is when the moon goes behind the planet but the ring's still in front, the planet appears to be in front of the ring even when it isn't as the portion of ring in front of it just dissapears.
I am using Celestia 1.3.2, Windows 98, GeForce 4 TI 4800 SE video card if this helps.
Michael Kilderry
Posted: 06.11.2004, 02:30
by Evil Dr Ganymede
I can't visualise at all what you're saying there... can you either post the code you're using or post a screenshot anywhere?
For example, how can you have a ring around a moon, but the ring is around the planet too? Do you mean that the moon orbits the planet inside the ring system?
Posted: 06.11.2004, 02:54
by Michael Kilderry
Yes, the moon is inside the ring system, and here's the code:
Code: Select all
"Shebabeba" "The Lera Star"
{
Texture "shebabeba_surf.png"
SpecularTexture "shebabeba_spec.jpg"
NightTexture "shebabeba_night.jpg"
Color [ 0.60 0.40 0.40 ]
SpecularColor [ 0.80 0.20 0.20 ]
SpecularPower 40.0
HazeColor [ 0.80 0.20 0.20 ]
HazeDensity 8.0
Oblateness 0.1
Radius 62756
BumpMap "shebabeba_bump.png"
BumpHeight 0.8
Atmosphere {
Height 600
Lower [ 0.90 0.10 0.10 ]
Upper [ 0.70 0.10 0.40 ]
Sky [ 0.66 0.10 0.60 ]
Sunset [ 1 0 1 ]
}
EllipticalOrbit {
Period 22.75
SemiMajorAxis 22.75
Eccentricity 0.328
Inclination 17.94
AscendingNode 83.76
LongOfPericenter 8.86
MeanLongitude 72.94
}
RotationPeriod 13.47
Obliquity 22.78
RotationOffset 385.38
Albedo 0.05
}
"Hoola" "The Lera Star/Shebabeba"
{
Texture "hoola_surf.jpg"
SpecularTexture "hoola_spec.jpg"
Color [ 0.10 0.00 0.90 ]
SpecularColor [ 0 0 1 ]
SpecularPower 15.0
HazeColor [ 0 0 1 ]
HazeDensity 13.0
Oblateness 0.0
Radius 927
BumpMap "hoola_bump.png"
BumpHeight 1.0
Atmosphere {
Height 40
Lower [ 0.90 0.10 0.10 ]
Upper [ 0.70 0.10 0.40 ]
Sky [ 0.66 0.10 0.60 ]
Sunset [ 1 0 1 ]
}
EllipticalOrbit {
Period 7.0287
SemiMajorAxis 70287
Eccentricity 0.02
Inclination 1.19
AscendingNode 5.65
LongOfPericenter 87.5
MeanLongitude 357.76
}
Rings {
Inner 157860
Outer 166740
}
RotationPeriod 5.6
Obliquity 4.56
RotationOffset 12.67
Albedo 0.34
}
Michael Kilderry
Re: Dissapearing Ring Bug
Posted: 06.11.2004, 03:22
by chris
Michael Kilderry wrote:I am here reporting a bug that I have discovered when I was testing new planets for the Lera System project. I have put a ring around a moon instead of a planet, so when the moon orbits, there is a hoola-hoop effect to the ring. The ring surrounds both the moon and the planet, the bug is when the moon goes behind the planet but the ring's still in front, the planet appears to be in front of the ring even when it isn't as the portion of ring in front of it just dissapears.
Hmm . . . My guess is that the rings are not being considered when sorting objects back to front for rendering. I can't promise that I'll have a fix for this right away though . . .
--Chris
Posted: 06.11.2004, 03:38
by Evil Dr Ganymede
Oh, I see now.
There is something odd going on here.
See the screenshots below. Now, when I look in Celestia, in views 1 and 2 both arcs of the the ring are actually behind the big red planet - but as the third view shows, the big red planet is always within the ring system.
The odd thing is that in the screenshots you CAN actually see the ring in front of the red planet (in the first view anyway). The second view shows the ring in front of the planet, but it's being 'clipped' somehow.
If you experiment with Saturn's rings, it's even worse. The red planet is superimposed over the rings and keeps switching back and forth behind them.
I even tried rearranging things so that the small blue object was the planet (with the rings) and the big red world was the moon. I got the same problem with that set up... The larger world doesn't actually intersect with the rings at all at any point of its orbit, yet it seems to go in front of the rings. So this problem isn't related to rings being around a moon.
I get this on Basic, Multitexture, OGL, and OGL/NVidia Combiner paths, on an ASUS 128 MB Geforce4 TI4200 card.
Is this a videocard issue? I don't spot anything wrong with the code...
Posted: 06.11.2004, 03:40
by Evil Dr Ganymede
Oh, Chris - any idea what's up with the screenshot issue? The screenshot seems to sort things vaguely correctly (but still appears to have trouble, see shot #2), but Celestia itself doesn't...
EDIT: Er, and I just noticed that I can see stars through the big red planet in the screenshots...
Posted: 06.11.2004, 04:42
by Michael Kilderry
The stars don't show through the red planet in my Celestia, but that may be just a screenshot issue, did you actually notice any stars showing through the planet in the actual simulation?
By the way, it's great how you put screenshots of my solar system on the forum, I can't do it myself, since I don't have webspace, so I appreciate it when other people do it.
When you make the time faster and look at the planets, do you think it has the effect of a hoola hoop going around the planet Dr. Ganymede?
Michael Kilderry
Posted: 06.11.2004, 04:53
by Evil Dr Ganymede
It's definitely odd. I must admit it does look kinda cool.
And no, I can only see the stars through the planet in the screenshots, not in Celestia itself...
Posted: 06.11.2004, 05:04
by Michael Kilderry
So, do you think I'm going in better directions with my solar system?
Michael Kilderry
Posted: 06.11.2004, 05:17
by Evil Dr Ganymede
Michael Kilderry wrote:So, do you think I'm going in better directions with my solar system?
Let's stay on topic here. This is a board for posting bugs, not assessment of people's work.
Posted: 06.11.2004, 10:53
by ANDREA
Evil Dr Ganymede wrote:Let's stay on topic here.
Going on with rings problems, here is another strange one:
using Rassilon's Muphrid system in a script, with 2 planets used as stars (emissive true), with .ssc:
Code: Select all
"Muphrid B" "Muphrid"
{
Texture "mstar-dark.jpg"
Emissive true
Color [ 0.5 0 0 ]
BlendTexture true
Radius 60000
Atmosphere {
Height 30000
Lower [ 0.5 0 0 ]
Upper [ 0.4 0 0 ]
Sky [ 0.3 0 0 ]
}
EllipticalOrbit {
Period 2000
SemiMajorAxis 20
Eccentricity 0.001
Inclination 0.5
}
Rings {
Inner 80000
Outer 200000
Texture "muphrid_b-rings.png"
Color [ 0.7 0.2 0.1 ]
}
RotationPeriod 5000
Albedo 0.5
}
"Muphrid C" "Muphrid/Muphrid B"
{
Texture "white-dwarf.jpg"
Emissive true
Color [ 0.9 1 0.9 ]
BlendTexture true
Radius 6000
Atmosphere {
Height 15000
Lower [ 0.95 1 0.95 ]
Upper [ 0.35 0.35 0.35 ]
Sky [ 0.3 0.3 0.3 ]
}
EllipticalOrbit {
Period 50
SemiMajorAxis 220000
Eccentricity 0.001
Inclination 0.001
}
RotationPeriod 1000
Albedo 0.9
}
I have such results:
light ring
dark ring
black ring
Strange, do you agree?
Practically the ring blinks from black to orange and viceversa, and this happens in 1.3.2 final release, not checked with 1.3.4 release, sorry.
Any idea on reasons?
Thank you
Andrea
[/url]
Posted: 06.11.2004, 13:22
by selden
Andrea,
The "changing darkened rings" problem also exists in v1.4.0pre5.
It goes away when I comment out "Emissive true" from the definition for Muphrid B.
Posted: 06.11.2004, 14:04
by selden
Michael and EDG,
To try to clarify what Chris wrote, Celestia has to "depth sort" objects so that they get drawn in front of, behind or around one another. It seems that the sorting doesn't properly handle the case when rings that are around a satellite are larger than the planet that the satellite orbits around.
Are the surface textures that were used for the screenshots of Shebabeba publicly available?
Does Shebabeba's Texture PNG image include an Alpha channel?
(I'm wondering if the screenshot transparency problem may be a bug that somehow is related to the fact that both a PNG surface texture image and a separate specularity texture image are being used. Normally when a PNG image used as a surface texture includes an Alpha channel, that Alpha channel is used for the specularity texture. I dunno what happens if two specularity textures are used simultaneously.)
Posted: 06.11.2004, 14:31
by Evil Dr Ganymede
Actually, I didn't use any textures for the screenshots, I just deleted the texture lines (since I don't have the textures myself), I was just testing the code. Could that be a problem?
Posted: 06.11.2004, 15:04
by ANDREA
selden wrote:Andrea, The "changing darkened rings" problem also exists in v1.4.0pre5. It goes away when I comment out "Emissive true" from the definition for Muphrid B.
But if I do this I will loose my dark star and its surrounding white dwarf.
So even OpenGL 2.0 cannot solve it.
I was about changing my card with the new 6800, but I will wait for news on this subject.
Thank you Selden.
By
Andrea
Posted: 06.11.2004, 15:26
by selden
EDG (I hope you don't mind me using initials),
Unfortunately, Celestia does seem to have problems when drawing objects which have no surface textures specified. I know there are errors in how illumination and eclipse shadows are handled, for example. There may be others.
Chris has improved this somewhat in the new OGL2 Render path. However, since blank textures are relatively easy to create, I suspect that fixing these kinds of problems are low priority for him.
Posted: 06.11.2004, 18:51
by Evil Dr Ganymede
selden wrote:EDG (I hope you don't mind me using initials),
That's fine
Unfortunately, Celestia does seem to have problems when drawing objects which have no surface textures specified. I know there are errors in how illumination and eclipse shadows are handled, for example. There may be others.
I noticed that increasing the ambient light to maximum didn't seem to affect the big red planet in OGL/NVIDIA path, but it worked on Basic and Multitexture.
Chris has improved this somewhat in the new OGL2 Render path. However, since blank textures are relatively easy to create, I suspect that fixing these kinds of problems are low priority for him.
Either way, it all looked fine in the view seen in Celestia - it's just in the screen shots that it looks screwy. Which implies that there's something up with the screen capture process. I'll try it again with a texture though, and see what happens.
Posted: 07.11.2004, 09:51
by Michael Kilderry
selden wrote:Michael and EDG,
To try to clarify what Chris wrote, Celestia has to "depth sort" objects so that they get drawn in front of, behind or around one another. It seems that the sorting doesn't properly handle the case when rings that are around a satellite are larger than the planet that the satellite orbits around.
Are the surface textures that were used for the screenshots of Shebabeba publicly available?
Does Shebabeba's Texture PNG image include an Alpha channel?
(I'm wondering if the screenshot transparency problem may be a bug that somehow is related to the fact that both a PNG surface texture image and a separate specularity texture image are being used. Normally when a PNG image used as a surface texture includes an Alpha channel, that Alpha channel is used for the specularity texture. I dunno what happens if two specularity textures are used simultaneously.)
I have made PNG textures for Shebabeba and it's moon, but they do not include alpha channels. They may take a while to be available on the Celestia Motherlode in an updated Lera1.zip as I am making other planets to be included as well and the Shebabeba system needs fixing up anyway.
Michael Kilderry