lp:~guillaume-chereau/stellarium/fix-orbits
- Get this branch:
- bzr branch lp:~guillaume-chereau/stellarium/fix-orbits
Branch merges
- Stellarium: Pending requested
- Diff: 357765 lines
Branch information
Recent revisions
- 8537. By Guillaume Chereau
-
Attempt to support depth buffer on the orbit paths
This might break the rendering of planet rings in some cases. We need
to test this. - 8536. By Guillaume Chereau
-
Remove Planet:
:computePositio nWithoutOrbits method We don't need it anymore, since the orbit positions are computed only in
the render function. - 8535. By Guillaume Chereau
-
Fix a bug in planet orbits rendering
The rendering function overrides a few attributes, we need to backup and
restore them.It would be nicer if we could compute the position of a planet at any
time without side effect. - 8534. By Guillaume Chereau
-
Try to improve orbit lines
At the cost of performances! I think we will still need to adjust the
parameters to find the right balance, or optimize the code more. - 8533. By Guillaume Chereau
-
Improve performances of planet orbits rendering
When we split the parametric path function in segments, we try to be
clever about when we can assume all the points in an interval will be
invisible. In that case we just stop the iteration.There might be some cases where this does not work very well.
- 8531. By Guillaume Chereau
-
Fix planet orbits for fast moving planets
In that case we need to make sure the position cache error is smaller.
I think an other way would be to interpolate the values, but I am afraid
that might make the code slower. - 8530. By Guillaume Chereau
-
Use a position cache for orbit position
It is based on a QMap (Qt implementation of red/black tree). That way
we can relatively quickly find the nearest cached position for a given
time.The get method of the PosCache class uses a dt argument to allow en error
range in the returned value. For the moment I statically set the error
range used to one hour. I guess we could make this smaller without
changing the performance much. - 8529. By Guillaume Chereau
-
Use parametric path for planet orbits
This allows to have orbits with arbitrary precision, but it makes the
code really slow.I added a new StelPainter method to draw parametric path, taking a
std::function as an argument (so that we can use c++ lambda when we call
it).I removed all the caching from the orbit code, since it was assuming a
fixed size cache, and this does not work anymore. This is why this
patch makes the code so slow. I will add a new caching system in a next
commit.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:stellarium