Doctorjoe and Dirkpitt have been working on some bug fixes and performance tweaks to their latest patches of Celestia.
The goods are available here:
http://celestiaproject.net/forum/viewtopic.php?t=7457
Please read all the caveats for this UNOFFICIAL build. Hopefully this fixes some of the problems some of you have had. Note this is NOT based on the latest build of the CVS. There was some code uploaded this afternoon that is crashing my compiler.
Also, please feel free to confirm you can no longer reproduce the bug represented here (and post to tell us):
http://www.celestiaproject.net/forum/viewtopic ... highlight=
Thanks,
Steve
New UNOFFICIAL OS X Celestia Build (7-12-05)
-
Topic authorBlindedByTheLight
- Posts: 485
- Joined: 19.03.2005
- With us: 19 years 8 months
- Location: Los Angeles, CA
New UNOFFICIAL OS X Celestia Build (7-12-05)
Steven Binder, Mac OS X 10.4.10
-
- Developer
- Posts: 3776
- Joined: 04.02.2005
- With us: 19 years 9 months
-
Topic authorBlindedByTheLight
- Posts: 485
- Joined: 19.03.2005
- With us: 19 years 8 months
- Location: Los Angeles, CA
Hey doctorjoe... so, as I wrote you elsewhere, the latest patches from July 11th do not alleviate the "jagged orbit problem"...
This is the old nice orbit lines...
This is with the latest (and last few) patches...
Notice how much thicker the 2nd picture's orbit lines are. Especially on the right. Note that this image is not full-sized. Full-sized, the jaggedness is much worse.
This extra thickness also has some interesting properties. With smooth rendering on, the jaggedness appears only on one side (as seen above). As you zoom away - several thousand km, the jaggedness goes away. And this occurs regardless of the rendering settings (basic or otherwise). Changing the rendering settings have no effect.
In terms of how the original orbit lines looked (the older, nice and smooth ones) - I only posted the one screenshot because, again, regardless of rendering options, they always looked nice and smooth. If I turned OFF smooth lines, the orbit lines got a LITTLE worse... but nowhere near as bad as the new patches.
Furthermore, I have noticed (and not sure if reported elsewhere - I haven't been following lately) that Jupiter and Saturn have little extra mini-orbits of something at their center. Looks like moon orbits are getting drawn inside or something.
Mars has it to - but only when you get VERY close... then the orbit lines go haywire. Earth, I've noticed also. You get up close with orbit lines on and weird things start to happen.
Hope this helps,
Steve
This is the old nice orbit lines...
This is with the latest (and last few) patches...
Notice how much thicker the 2nd picture's orbit lines are. Especially on the right. Note that this image is not full-sized. Full-sized, the jaggedness is much worse.
This extra thickness also has some interesting properties. With smooth rendering on, the jaggedness appears only on one side (as seen above). As you zoom away - several thousand km, the jaggedness goes away. And this occurs regardless of the rendering settings (basic or otherwise). Changing the rendering settings have no effect.
In terms of how the original orbit lines looked (the older, nice and smooth ones) - I only posted the one screenshot because, again, regardless of rendering options, they always looked nice and smooth. If I turned OFF smooth lines, the orbit lines got a LITTLE worse... but nowhere near as bad as the new patches.
Furthermore, I have noticed (and not sure if reported elsewhere - I haven't been following lately) that Jupiter and Saturn have little extra mini-orbits of something at their center. Looks like moon orbits are getting drawn inside or something.
Mars has it to - but only when you get VERY close... then the orbit lines go haywire. Earth, I've noticed also. You get up close with orbit lines on and weird things start to happen.
Hope this helps,
Steve
Steven Binder, Mac OS X 10.4.10
Fixes
The jagged lines are an easy fix. Basically I have to turn off smooth lines for a section of the orbit before it hits the planet. To make it look nice on one of my machines I have to thicken the line, but I think to fix this all I have to do is to use the same line thickness as the rest of the orbits.
Adaptively drawing more points near the planet is something I'm working on, but it is hard. The problem is that right now celestia calculates the orbits once and uses those calculated points to redraw the orbits each time. If you do adaptive drawing, you'll have to recalculate the orbit points as the object moves.
I haven't been able to fix the mini-orbit problem because I don't see it on my machine. Here is a test
go into your patches code, and look for
void Renderer::renderForegroundOrbits(const PlanetarySystem* system,
const Point3f ¢er, // km
float distance, // km
const Selection& sel,
double t) {
// Render orbit paths
Add a line
void Renderer::renderForegroundOrbits(const PlanetarySystem* system,
const Point3f ¢er, // km
float distance, // km
const Selection& sel,
double t) {
return;
// Render orbit paths
and let me know if you still see the mini orbits. This line will disable the foreground orbits so that I can figure out if this is the broken code.
Adaptively drawing more points near the planet is something I'm working on, but it is hard. The problem is that right now celestia calculates the orbits once and uses those calculated points to redraw the orbits each time. If you do adaptive drawing, you'll have to recalculate the orbit points as the object moves.
I haven't been able to fix the mini-orbit problem because I don't see it on my machine. Here is a test
go into your patches code, and look for
void Renderer::renderForegroundOrbits(const PlanetarySystem* system,
const Point3f ¢er, // km
float distance, // km
const Selection& sel,
double t) {
// Render orbit paths
Add a line
void Renderer::renderForegroundOrbits(const PlanetarySystem* system,
const Point3f ¢er, // km
float distance, // km
const Selection& sel,
double t) {
return;
// Render orbit paths
and let me know if you still see the mini orbits. This line will disable the foreground orbits so that I can figure out if this is the broken code.
Mini orbit problem
Also can you zoom in really close to the mini orbits and do a screen shot?
Some more questions
1) When you have these mini-orbits, are the moons being drawn with foreground orbits?
What might be happening is that the moon's foreground orbits are being drawn incorrectly on your machine and correctly on mine.
2) Can you e-mail me (joe@confucius.gnacademy.org) a copy of your file render.cpp?
Thanks/
What might be happening is that the moon's foreground orbits are being drawn incorrectly on your machine and correctly on mine.
2) Can you e-mail me (joe@confucius.gnacademy.org) a copy of your file render.cpp?
Thanks/
FYI
Right now I'm focusing on fixing the mini orbit since I don't understand what is causing that.
As far as what is causing some of the other bugs
z orbit - the z orbit is due to the fact that the orbit equations take into account things like the pertubation of other planets and such resulting in orbits which are not perfect ellipses. So after one orbit the planet doesn't end up where it starts and if the try to draw the orbit as a loop, you get a "kink"
bouncing orbits - appear to be caused by numerical accuracy. You are trying to calculate the location of something 100 million miles across to an accuracy of 100 kilometers. There is roundoff error which causes things to bounce.
As far as what is causing some of the other bugs
z orbit - the z orbit is due to the fact that the orbit equations take into account things like the pertubation of other planets and such resulting in orbits which are not perfect ellipses. So after one orbit the planet doesn't end up where it starts and if the try to draw the orbit as a loop, you get a "kink"
bouncing orbits - appear to be caused by numerical accuracy. You are trying to calculate the location of something 100 million miles across to an accuracy of 100 kilometers. There is roundoff error which causes things to bounce.