Commit Graph

133 Commits (5097d204d0fe3bdee1800303bd6b95e840d17c35)

Author SHA1 Message Date
Hleb Valoshka b082d5f47f Automatically convert to c++11 using clan-tidy
+ manual cleanups
2018-09-22 23:42:02 +03:00
Hleb Valoshka 882e4ecf28 fix whitespaces and indents
trailing spaces are removed
tabs are replaced with 4 spaces

# Conflicts:
#	src/celengine/cmdparser.cpp
#	src/celengine/command.cpp
#	src/celestia/celestiacore.cpp
#	src/celestia/celestiacore.h
#	src/celestia/qt/qtappwin.cpp
#	src/celestia/qt/qtglwidget.cpp
#	src/celestia/win32/winmain.cpp
2018-09-22 23:41:57 +03:00
Dmitry Brant a25d26720c Adapt code to Eigen 3.3
No functional changes, just adapting to API changes in Eigen.
2018-09-22 17:08:07 +03:00
Alexell c102af525c Added configuration options
Added ReverseMouseWheel option (existing in source) in celestia.cfg
file, added new orbit rendering parameters.
2018-09-22 17:08:06 +03:00
Andrew Tribick 069a61b3af Expanded preferences dialog box for Qt; added ability to turn off tinted illumination. 2012-05-23 21:28:37 +00:00
Vincent Giangiulio 38b6e23c6f - Fixed i18n issue about truncated labels with East Asian locales: 2010-03-07 20:19:17 +00:00
Chris Laurel dcf9232c08 Refactored some shadowing/eclipse code in the renderer
- Enabled ring shadows on moons and other objects that aren't themselves surrounded by
  ring systems.
- Use texture LOD bias to add blurriness to ring shadows (a result of the finite
  size of the light source.)
- Calculate ring phase function per-pixel instead of per-vertex
- Implemented more realistic rendering of unlit side of ring systems
- Used new Eigen's NewStdVector for vectors containing fixed-sized vectorizable
  objects.
2009-10-27 22:02:01 +00:00
Chris Laurel c835491ddc Rewrote orbit drawing code to fix multiple shortcomings. New orbit code uses adaptively subdivided cubic curves to draw orbits more accurately and without numerical precision artifacts. The orbit rewrite uses Eigen throughout (instead of the Celestia vector classes.) 2009-08-07 03:15:26 +00:00
Chris Laurel 89d0ef130a Eigenized all orbit and trajectory calculations. 2009-07-23 01:40:17 +00:00
Chris Laurel 479ef22e15 Eigenized reference mark, label, and marker code. 2009-07-21 04:04:26 +00:00
Chris Laurel 5a31a08df9 Eigenized galaxy rendering and more of the core renderer. 2009-07-21 03:14:29 +00:00
Chris Laurel 5de792f64a Eigenized lighting and shadow calculations in renderer. 2009-07-18 05:50:56 +00:00
Chris Laurel 40fade9aac Eigenized and cleaned up more of the renderer code. 2009-07-17 06:15:25 +00:00
Chris Laurel b42accebaf More Eigenization of render.cpp. Changed a temporary variable in staroctree.cpp from double to float (back to the way it was in 1.6.0) 2009-07-16 20:18:48 +00:00
Chris Laurel 37a46a4eff Eigenized portions of the renderer that draw stars and DSOs. 2009-07-16 05:32:55 +00:00
Chris Laurel 7272945657 First round of Eigen-izing the core Celestia code. 2009-07-15 03:06:30 +00:00
Chris Laurel a79d7ac479 Fixed placement of glare sprite when rendering stars in legacy render paths. Positioning is now consistent with OGL 2.0 path and avoids artifacts caused by glare geometry intersecting the star geometry. 2009-03-20 18:02:14 +00:00
Chris Laurel 3d66a67f7a Bug fixes:
2557612: sun, planets and orbits disappear. This was caused by bad handling of the selection marker when the camera positioned inside a large DSO (e.g. the Milky Way)
2392876: Atmosphere draw for unilluminated planets
2009-02-18 01:39:43 +00:00
Chris Laurel 9d55c56382 Committed Julien's patch to fix the animation rate of the selection cursor
when recording movies.
2008-10-10 22:43:02 +00:00
Chris Laurel 301a74e16a Improved selection cursor:
- Animation effect to make it easier to notice
- Pointer shown at view border when selection is off screen
- Cursor has different appearance when selection object is occluded
- Cursor doesn't interfere with markers
2008-09-25 18:31:48 +00:00
Chris Laurel 58a634722c Implemented NormalizeMesh property for solar system bodies. This property makes it easier to build assemblies from several bodies with mesh geometry. 2008-09-22 21:03:43 +00:00
Fridger Schrempp c46e6c41fd Implement globular clusters 2008-09-20 14:17:39 +00:00
Chris Laurel 41efec9e08 - Added abstract class Geometry; this will permit geometry other than
static models to be used for objects.
- Replace body, star, and DSO instances of Model with Geometry
- Renamed ModelManager to GeometryManager
- Fixed a GeometryManager bug that was triggered by multiple uses of a mesh
  file with different MeshCenters.
2008-07-23 21:54:53 +00:00
Chris Laurel c00a2a0f47 Added rendering of ecliptic line and support for turning it on and off via
script.
2008-06-07 01:35:24 +00:00
Chris Laurel ace6dfea21 Fixed a bug that caused objects to be incorrectly culled at small fields of view. Changed type of Renderer::cosViewConeAngle from float to double; using single precision floats was causing the value of cosViewConeAngle to be rounded to 1.0, making the view cone effectively just a line. 2008-05-30 06:37:37 +00:00
Chris Laurel d838a9e4d5 Enabled new sky grid code. 2008-05-29 21:52:27 +00:00
Chris Laurel f9975120d9 Location fixes:
- Added symbols for locations.
- Fixed visibility calculation for locations on ellipsoidal, non-spherical
bodies.
- Allow location labels to be occluded by foreground objects.
- Added new location types: eruptive center, insula (islands), and
tholus (domical hills and mountains)
2008-05-22 20:30:45 +00:00
Chris Laurel d97a73a05b Constified Renderer::getResolution and Renderer::getFaintestAM45deg to fix
compiler errors.
2008-05-01 22:25:20 +00:00
Chris Laurel 1604d97697 Fixed depth sorting of long/lat labels for planetographic grids. 2008-04-30 18:31:30 +00:00
Vincent Giangiulio f2f9931c62 Fixed bug with dwarf planet and minor moon labels. 2008-04-16 09:07:05 +00:00
Chris Laurel cc1fa6a80c Added minormoon and dwarfplanet classes. 2008-04-15 18:31:53 +00:00
Chris Laurel 889046a12d Removed some redundant calculation in renderer to speed up creation of render lists. 2008-04-05 23:22:39 +00:00
Chris Laurel d216a98755 Implemented secondary illumination (e.g. planetshine.) Rewrote much of the code that contructs render lists to make it possible to do compute secondary illumination efficiently. This patch fixes two other bugs. The orbit of barycenters is shown when they have children that are planets, moons, or asteroids. And, an incorrect frame release was fixed in solarsys.cpp. 2008-04-03 17:46:45 +00:00
Da Woon Jung e59f4b4b54 HDR bloom, adaptive exposure, calibrated nightlights - disabled by default, enable with USE_HDR and HDR_COMPRESS. 4 new vertex programs added. 2008-03-25 00:23:16 +00:00
Chris Laurel 9303aa6028 Fixed broken rendering of background markers. Markers behind the viewer were
being rendered. Added code to cull markers outside the field of view, fixing
the bug and improving performance when lots of markers are enabled.
2008-03-21 23:38:05 +00:00
Chris Laurel e4a28ef68a Implemented more flexible system for reference marks. Reference mark objects lists are maintained instead of simple bitfields, allowing customization of reference mark parameters (e.g. arrow size, planet grid style, etc.) There are three new reference mark types: planetographic grid, spin vector, and body-to-body vector. The Qt4 and Win32 front ends have been updated; Gtk, KDE, and Mac interfaces need to be updated to use the new code for toggling reference marks.
This change also includes a fix for two problems with Replace:
- objects were being reordered so that selection with the 1-9 keys no longer worked as expected.
- children of Replaced bodies were being deleted
2008-03-20 21:36:17 +00:00
Chris Laurel c7dae56a84 Eliminated the 16k light year distance limit for stars. The limit is increased
to 10 million light years, large enough to contain local group of galaxies. It
should be possible to increase this further by simply changing the setting
of STAR_OCTREE_ROOT_SIZE in stardb.cpp, but the performance implications need
to be investigated.
2008-03-15 00:19:27 +00:00
Chris Laurel 7f0e7b12d0 Fixed bug 1828935 (low albedo prevents drawing of child objects) and improved performance of visibility culling code. The new code uses the frame hierarchy introduced with Timelines to cull subtrees based on apparent brightness and position with respect to the view frustum. 2008-02-28 20:04:52 +00:00
Chris Laurel eba1b9940c - Implemented framework for Orbit and RotationModel subclasses to implement their own velocity and angular velocity methods to use instead of numerical differentation. Actual implementation of velocity methods will wait until further discussion on the developers list.
- Implemented Timelines for solar system bodies. A timeline allows a body to have different reference frames, orbits, and rotation models over time.
2008-02-21 02:25:48 +00:00
Chris Laurel ed9b33dab0 Implemented depth sorting for markers, with option to specify non-occludable
markers.
2008-02-13 21:49:53 +00:00
Chris Laurel 39041826d8 Fixed problems building with VC++ 9.0 (Visual Studio 2008) Made comparison operators for nested classes member functions so that they work as predicates for STL algorithms. The VC9.0 compiler seems to have stricter argument dependent lookup. 2008-02-04 09:37:55 +00:00
Chris Laurel f22a02b423 Added missing virtual destructor for RendererWatcher 2008-01-24 08:39:30 +00:00
Chris Laurel 4439a6e333 - Adjusted constellation label and boundary fade distance
- Fixed incorrect occluding of labels by irregular objects
- Implemented renderer watchers (currently not used, so this change is a noop)
2008-01-19 22:21:56 +00:00
Chris Laurel 2832a3e275 Removed limit on maximum number of nearby solar systems when rendering. Fixes
crashing bug reported by Martin.
2007-12-18 01:54:17 +00:00
Chris Laurel 68eb351b56 Fixed depth sorting of labels for solar system objects. The labels are now
correctly ordered with respect to other objects, and there's some special
handling to prevent labels of low-orbiting objects from being partially
occluded.
2007-12-06 17:15:53 +00:00
Chris Laurel edc7576e97 Added code to track changes to renderer settings. 2007-11-15 20:08:24 +00:00
Chris Laurel baad1b6f26 Fixes for orbit rendering:
- Transform and z clip orbit paths on CPU at double precision to avoid jittering, holes,
and other problems caued by single precision arithmetic.
- Use cubic interpolation to smooth sections of orbits that are close to the camera
- Added bounding volume culling for orbits to avoid rendering sections outside
the view frustum.
2007-11-11 01:58:05 +00:00
Chris Laurel 72e59b8afb Brightened grid and constellation border colors. 2007-11-08 20:50:37 +00:00
Chris Laurel 73e3cb81f6 Renderer changes:
- Rewrote orbit cache for efficiency, to avoid thrashing when multiple
views are active, and to eliminate unnecessary recalculation of orbits
- Added method to invalid orbit cache
- Cleaned up render list processing by replacing convoluted checks with
  a single switch on the new member renderableType
- Always use two digits for minutes in RA labels on equatorial grid
2007-10-25 07:18:53 +00:00
Christophe Teyssier c6b9d10888 Fixed compilation with gcc 2007-10-13 11:08:13 +00:00