Commit Graph

409 Commits (b082d5f47f3e945bf61548201a7921ee30a647c0)

Author SHA1 Message Date
Chris Laurel a6cc486542 Rewrote observer class to use 1.5.0 reference frames. The FrameOfReference
class is replaced by the new ObserverFrame class, which is a wrapper for
ReferenceFrame. Small changes to a lot of file were necessary, in many cases
simply because the CoordinateSystem enum was moved from astro to
ObserverFrame. This change was primarily a refactoring to make future
development easier and improve performance be eliminating redundant
frame -> universal conversions of the observer position. The one change that
will be apparent to users is the redefinition of the chase and phase lock
frames. Previously, these used the spin axis of the reference object to define
the secondary frame axis. Now, the secondary axis is the position vector in
chase mode, and the velocity vector in phase lock mode.
2008-02-08 21:46:02 +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 0cda718f63 Added new ssc object flags for visibility, orbit color, and orbit visibility. Added ssc properties for visibility and orbit color, celx methods for all new flags. 2008-02-04 00:17:35 +00:00
Da Woon Jung 9c552f552d Added ATI X800 to the Mac point sprite blacklist (fixed star glares on X850XT) 2008-02-02 04:52:04 +00:00
Chris Laurel b1982a520d Updated Body class to allow all three ellipsoid axes to be specified independently via SemiAxes property. 2008-02-01 01:37:49 +00:00
Chris Laurel ee2ae878cc Fix for bug 1882282: Star glare clipping problem
Depth writes were left set to true after rendering comet tails, resulting in a star glare halos appearing to clip labels. Fixed by removing a glDepthMask(GL_TRUE) that shouldn't have been in the code at all.
2008-01-30 02:52:33 +00:00
Da Woon Jung 48d4d8a8ac Mac: Due to driver-imposed point sprite size limits, do not use point sprite stars on ATI RV3xx renderers. 2008-01-19 22:31:13 +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
Da Woon Jung 6916a937aa Mac Qt patch 2008-01-18 06:08:18 +00:00
Vincent Giangiulio 839f745485 Changed from marker 'name' to marker 'label'. 2008-01-03 23:10:12 +00:00
Vincent Giangiulio 82fb8eb895 Added name to markers 2008-01-03 00:05:40 +00:00
Chris Laurel a1f4551b0a - Switched to using ARB_texture_cube_map instead of obsolete EXT_texture_cube_map
- Changed fade distance for constellation labels
- Enabled fading for constellation boundaries
- Prevented rendering planets as points in daytime sky
- Enabled REFMARK in render.cpp
- Removed dead code
2007-12-30 20:11:26 +00:00
Toti 16f45d7b33 Added fade effect for constellation labels and lines 2007-12-29 23:25:48 +00:00
Toti 7085612260 Improved halo size computation. Fixes bug 1849089 2007-12-28 02:23:23 +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 23c66a059f Fixed frame related bug that caused a body to be positioned incorrectly
when the star of its orbit frame didn't match the namespace root star.
2007-12-11 21:25:35 +00:00
Chris Laurel 1d3a1fb865 Re-enabled star coronas. 2007-12-06 23:51:44 +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
Vincent Giangiulio 06493ad2a6 Fixed bug in label rendering with objects named as the empty string. 2007-11-21 18:52:33 +00:00
Toti 4ac5f4353e Added check to skip DSO octree traversal if all DSO renderflags are disabled 2007-11-20 04:28:37 +00:00
Chris Laurel 55250a8b90 Fixed crash bug with LongLat orbit display (LongLat is deprecated, but older add-ons still use it.) 2007-11-17 05:44:13 +00:00
Chris Laurel edc7576e97 Added code to track changes to renderer settings. 2007-11-15 20:08:24 +00:00
Chris Laurel 61c5950f63 Trajectory rendering fixes:
- Fixed crash bug when computing bounding volumes for empty trajectories (FixedPosition)
- Fixed bad orientation of star orbits
- Removed debug output
2007-11-12 17:35:38 +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
Chris Laurel bdc15ebdbe - Fixed depth sorting code to never use a near plane distance of zero
- Added more declination and right ascension labels for celestial grid
2007-10-13 02:22:07 +00:00
Chris Laurel 1dfdf8ed5e Set tesselation of comet tails adaptively based on screen sizes. Fixes the obviously polygonal appearance of comets when seen up close without impacting frame rates. 2007-10-11 22:20:53 +00:00
Chris Laurel 5c79564639 - New label colors. Harcoded constants replaced with settable values.
- Fixed missing coordinate markers in equatorial grid
- Corrected depth sorting for stars that cover less than a pixel on screen.
The depth sorting problem was most apparent for pulsar planets, where
the radius of the star was much smaller than the radii of planets in
orbit around the star.
2007-10-11 01:32:04 +00:00
Vincent Giangiulio d6681c006e Centered the constellation labels. 2007-06-25 21:31:40 +00:00
Chris Laurel b96258bab9 Added separate flag for star orbit rendering (so star and planet orbits may be toggled independently.) 2007-06-16 04:28:54 +00:00
Chris Laurel 8efed8353d Increased the deep sky object octree size (and thus the max draw distance) to 100 Gly. 2007-05-24 17:35:40 +00:00
Vincent Giangiulio 82b59fef79 - Enabled line smoothing for markers. 2007-05-18 20:31:01 +00:00
Chris Laurel 825e52669c Modified depth sorting code for better orbit display:
- Avoid setting a near clip plane of zero when only orbit paths are visible. This should fix the disappearing orbits on the Mac version
- Don't render extremely large orbit paths into small depth intervals. This eliminates some clipping artifacts caused by GPU precision limits.
2007-05-17 18:14:12 +00:00
Fridger Schrempp 1dd4549a5f Added slight tuning for labelThresholdMag 2007-05-17 14:16:14 +00:00
Fridger Schrempp ebffbf1143 Added fading star labels 2007-05-17 14:00:39 +00:00
Chris Laurel e4f7c63797 Added fade effect for orbits and solar system body labels. 2007-05-14 03:00:26 +00:00
Chris Laurel ef9ae9073a Fix bug that limited resolution of virtual textures on ringed planets. The hack that was in place to prevent too much tessellation of ringed planets is no longer necessary with the new depth sorting code. 2007-05-12 11:19:43 +00:00
Chris Laurel 9d3fecdb11 Reduced point sprite size by a factor of 2. 2007-04-22 04:53:43 +00:00
Chris Laurel 9ff9823c2a Use GLSL instead of fixed function pipeline when rendering emissive models. 2007-04-20 17:56:04 +00:00
Chris Laurel 3b6d63962f Consider parents of parents (and so on . . .) when calculating eclipse shadows. 2007-04-17 17:43:24 +00:00
Chris Laurel f833a58ef2 Fixed bug with emissive models. 2007-04-03 18:00:21 +00:00
Chris Laurel 6454b452d4 Mesh rendering bug fixes and improvements:
- Defined a sensible lighting model to use when normals are omitted from a model, which should prevent crashes in the Mac version
- Added support for point sprites in cmod meshes
2007-04-02 16:55:32 +00:00
Chris Laurel b4be8570aa Orbit rendering improvements:
- Don't render the Sun's orbit about the SSB (or other aperiodic, inifinite trajectories)
- Changed blend mode for aliased lines to matched antialiased lines
- Changed color of moon orbits
2007-03-05 00:33:28 +00:00
Toti cdd623b8af Disabled unused function 2007-01-06 02:18:49 +00:00
Toti 6a68b18366 Suppressed 'unused variable' warning on GCC 2007-01-06 00:52:32 +00:00
Chris Laurel 8948472aee Fixed emissive textures in pre-OGL2 render paths. The emissive texture was being modulated by the diffuse color, but the diffuse color should really be ignored. 2007-01-05 10:09:59 +00:00
Chris Laurel 2a16fee060 Modified star rendering (again):
- Disabled glare halos for planets.
- Render subpixel planet discs as points in point stars mode
2006-12-28 19:29:42 +00:00
Chris Laurel 1e2003f733 Ignore phase when culling satellites based on the magnitude of their primary body; this prevents a planet's satellites from disappearing when it approaches a solar transit. 2006-12-20 19:34:47 +00:00
Chris Laurel 1729616adf Star rendering improvements:
- Improved glare texture
- Glare is drawn in front of object, to avoid strange behavior where a
dark object silhouette sits in the middle of the glow
- Stopped using atmospheres to give stars a fuzzy fringe (it was
making stars look worse, not better)
- In 'fuzzy points' mode, glare halo doesn't disappear as a star becomes resolvable as a > 1 pixel disc
- Set a maximum size for scaled disc stars
2006-12-20 18:56:43 +00:00
Chris Laurel f47cf82684 Fixed some orbit path rendering issues:
- Choose the near plane for the frontmost depth interval more carefully
- Enable depth writes when drawing orbit paths
2006-12-12 10:24:48 +00:00
Pat Suwalski 178d489a00 Adding SGI Video Sync support. 2006-12-12 01:29:27 +00:00
Chris Laurel 1ab3b7ee69 Fixed precision problems in code to display location labels. 2006-12-08 19:02:20 +00:00
Chris Laurel f0c4e5452d Made glare haloes fade as objects grow larger than a single pixel. 2006-12-05 13:02:16 +00:00
Fridger Schrempp 17bab29867 add distance dependent label transparency for galaxies 2006-12-03 22:13:14 +00:00
Chris Laurel 4aaf271164 Use new star rendering code by default in the render paths where it is supported. The '@' key binding for edit mode is restored. 2006-12-03 08:49:52 +00:00
Chris Laurel 490654909d - Fixed hole in the sky bug with new atmospheres
- Changed color of moon orbits
2006-12-03 08:20:55 +00:00
Chris Laurel 403947cdf4 Fixed another 'hole in the sky' bug. 2006-11-29 01:29:03 +00:00
Toti 4885a13c48 Fixed signed to unsigned implicit cast warnings 2006-11-27 19:11:55 +00:00
Chris Laurel 9417dc43f1 Fixed flickering star labels in old star rendering code 2006-11-22 07:08:19 +00:00
Chris Laurel ef58e5c817 - Enabled star labels in old star rendering path
- Changed some names in render.cpp (partition -> interval)
2006-11-21 13:02:16 +00:00
Chris Laurel e6647833cf Fixed comet tail clipping bug. 2006-11-08 17:55:08 +00:00
Chris Laurel 06d9ffd2ea Increased number of subdivisions in equatorial grid. 2006-11-05 09:08:44 +00:00
Chris Laurel 02028147fe Fixed some problems with star glare rendering. 2006-11-05 08:13:34 +00:00
Chris Laurel 9635d7b4ca Fixed excessive virtual texture tile loading bug. 2006-10-31 09:41:57 +00:00
Chris Laurel a8ef020fd7 - Fixed orbit paths so that they work for objects with an orbit frame
- Eliminated OrbitReferencePlanel it's superceded by reference frames
2006-10-31 08:23:04 +00:00
Chris Laurel a3bf034f82 Fixed some more DXT5nm related issues:
- Check for dxt5nm file extension to decide whether an image file contains a DXT5nm format file
- Make compressed normal maps work for meshes
- Avoid using dxt5nm textures with non-OGL2 render paths.
2006-10-22 00:13:18 +00:00
Chris Laurel 9f8005ebad Purged RotationElements class from code and replaced it with RotationModel. 2006-10-21 20:21:12 +00:00
Chris Laurel d5e28eb0e5 Implemented RotationModel class hierarchy to replace RotationElements. The new scheme allows more sophisticated ways of specifying the orientation of a body, including builtin functions and orientation data files. 2006-10-18 08:34:27 +00:00
Chris Laurel a0ef4b76c8 Fixed sizes of planets rendered as points in old star code. 2006-09-27 17:23:54 +00:00
Chris Laurel e00b4a58e1 Fixed problem with bodies rendered as points always appearing in front of larger objects in the old star render path. 2006-09-26 17:30:49 +00:00
Chris Laurel 436cb8e2d6 Fixed another depth sorting issue and eliminated some unused code. 2006-09-22 05:51:51 +00:00
Chris Laurel ffe26c5041 - Changed solar system object rendering so that child objects of barycenters are always rendered.
- Eliminated unused OrbitRenderer class
- Fixed comet tail clipping
2006-09-20 07:40:13 +00:00
Toti 69c6b7834d Commented out unused parameters 2006-09-16 23:02:55 +00:00
Toti f41462740e Fixed warnings about possible uninitialized variable usage 2006-09-15 18:42:37 +00:00
Toti 152627ae29 Disabled blocks of code that caused 'defined but not used' compiler warnings 2006-09-12 21:59:05 +00:00
Toti 3eb580abe9 Commented out unused variables that were causing compiler warnings 2006-09-12 12:56:47 +00:00
Chris Laurel 0e03ec8999 Added polygon offset to cloud layers so they aren't as susceptible to z fighting when depth buffer precision is limited. 2006-09-12 05:27:29 +00:00
Chris Laurel 79232ff174 Fixed depth sorting of comet tails and stars. 2006-09-12 04:38:12 +00:00
Fridger Schrempp e512193c0c galaxy labels with distance dependent transparency 2006-09-11 21:47:01 +00:00
Chris Laurel 76081d6603 Implemented two pass approach for rendering: opaque objects are rendered first, transparent ones second. Subpixel sized objects are also rendered with transparent objects and after orbit paths. This fixes the problem where orbit paths were occluding point sized objects. 2006-09-11 00:37:20 +00:00
Chris Laurel 23b392364d Fixed some broken logic that displayed the orbit of the select object even when orbits paths were turned off. Enabled highlighting for the orbit of a selected star. 2006-09-10 03:54:43 +00:00
Chris Laurel 8c5a08f26a Depth sorting and orbit fixes:
- Show and highlight orbit of selected object
- Show star orbits
- Remove depth sorting debug spew
- Correctly orient orbit paths when the orbit is referred to the ecliptic rather than the parent body's equator
2006-09-08 05:59:38 +00:00
Chris Laurel aa9c6a3c64 - Replaced the old depth sorting algorithm with a new, cleaner, faster, and more robust scheme.
- Overhauled orbit path rendering so that orbit paths get correctly depth sorted
2006-09-07 08:08:32 +00:00
Chris Laurel 08b80c2c89 Worked around a precision problem in the new atmosphere code that appeared when the camera was positioned far from an object relative to the size of that object. 2006-09-02 18:56:41 +00:00
Chris Laurel 097640abc6 Halved the minimum relative occluder radius used to decide whether an object should be considered for eclipse shadows. 2006-09-01 11:14:37 +00:00
Chris Laurel 1fc8c42ecb - Implemented normal maps for cloud layers. The new field CloudNormalMap specifies the texture file to use.
- Don't render ring shadows on cloud layers when ring shadows are disabled
2006-09-01 10:14:08 +00:00
Chris Laurel 1cc0b38fde Enable new atmospheres to work for irregular objects.
Moved parameter setup for atmospheres, lighting, and shadows into the CelestiaGLProgram class.
2006-08-29 06:13:41 +00:00
Chris Laurel 243ba06154 - Split the GLSL code out of render.cpp and placed it in its own file.
- Adjusted the atmosphere extinction threshold upward; slightly improves the appearance of atmospheres without introducing tessellation artifacts
- Fixed some clipping problems with the new atmosphere code (though there are still problems when the camera is very close to a planet's surface.)
2006-08-26 23:58:48 +00:00
Chris Laurel c23d15a4e4 Made LunarLambert term apply to models instead of just ellipsoid bodies. 2006-08-09 06:12:41 +00:00
Chris Laurel 856a05d6f6 Added lunar-Lambert photometric model for much more realistic rendering of the moon and similar bodies. 2006-08-08 17:19:57 +00:00
Chris Laurel 370655d004 Enabled opacity attribute in the OpenGL 2.0 render path. 2006-08-07 17:23:09 +00:00
Chris Laurel 27bfdea411 Added new photometric functions and atmospheric scattering model. 2006-08-07 06:40:45 +00:00
Chris Laurel 9389ea3b78 - Fixed bug in the eclipse shadow test; objects close to the surface of the lit side of a planet were incorrectly rendered with shadows
- Added a render flag for cloud shadows
- Made the OpenGL 2.0 path respect the ring shadow render flag setting
2006-07-26 17:21:23 +00:00
Chris Laurel 29fe230880 Made mesh objects with the emissive flag set render correctly in the OpenGL 2.0 path. 2006-07-17 03:58:19 +00:00
Chris Laurel d9c6dd5544 Turn off cloud shadows when cloud maps are disabled. 2006-07-13 16:23:06 +00:00
Chris Laurel 063ec093d3 - Implemented cloud textures
- Changed eclipse shadow shaders to use just a single interpolant for all shadows rather than one interpolant per shadow. This will prevent Celestia from generating uncompilable shaders when there are many eclipse shadows
2006-07-12 17:39:24 +00:00
Chris Laurel f3326dd39f - Added per-pixel specular lighting for GLSL path; can work either with or without bump mapping
- Turn on separate specular color when rendering models (not required for GLSL path)
- Fixed completely broken calculation of object space eye position for GLSL shaders
2006-07-09 02:03:29 +00:00
Chris Laurel dc7ce8986a Improved rendering of meshes in GLSL path:
- Switched to local viewer model for better quality specular highlights
- Added support for specular and normal maps for meshes
- Implemented shadows for meshes (cast by ellipsoids only, not from other meshes yet.)
2006-07-04 05:03:27 +00:00
Chris Laurel b7cc62512b Fix some depth sorting problems. Coaslescing depth buckets was failing when a coaslesced object was clipped to the near plane. Implemented a partial fix for the problem allows the coalesced depth buckets to have a larger far/near ratio. 2006-06-27 07:51:20 +00:00
Da Woon Jung f3041e349f Localize planet labels 2006-05-20 00:33:32 +00:00
Chris Laurel 2afe62f5a5 Made overlay textures work in the GLSL render path. 2006-05-17 10:21:58 +00:00
Chris Laurel 38ea55eded Fixed a crash that occurred when stars-as-points mode was set while a legacy render path was enabled. 2006-04-20 16:32:05 +00:00
Chris Laurel 1184a99a59 Disable new star rendering code when a pre-vertex shader render path is enabled. Fixes a crash. 2006-03-23 07:31:25 +00:00
Chris Laurel 612419cd2b Fixed point stars in new star rendering path--now they're rendered as points instead of colored squares. 2006-03-15 18:46:34 +00:00
Chris Laurel 4fa5c3475f Enabled new star rendering path as an option--uses point sprite extension, new glare textures (gaussian), and dynamic star labeling. 2006-03-08 18:29:10 +00:00
Fridger Schrempp 03c872017a fixed local brightness flash for Milky Way 2006-01-03 17:22:07 +00:00
Fridger Schrempp 0929f2c684 fix for displaying the furthest galaxies in deepsky.dsc, with distance > 1e9 ly 2005-12-19 23:04:28 +00:00
Fridger Schrempp 0493b69176 add comet tail vanishing code, distance sorted label display 2005-12-11 15:34:35 +00:00
Chris Laurel ffca320843 Use OpenGL point sprite extension for rendering stars (work in progress) 2005-11-25 22:57:20 +00:00
Chris Laurel 974213f905 Integrated changes from Fridger and Toti's Celestia FT 1.2 2005-11-18 09:00:39 +00:00
Chris Laurel f5f14ee5ab Render orbits paths in multiple passes so that they are drawn correctly when they appear in front of a planet or other body (another Joseph Wang fix) 2005-07-25 16:38:09 +00:00
Christophe Teyssier ae7095edd7 Added i18nName to the Asterism class and a renderer label flag to display
localized names of constellations.
Removed some redundant calls to gettext when rendering labels
Added KDE menu entry and preference to toggle I18nConstellationLabels
2005-07-21 22:35:18 +00:00
Chris Laurel 6f037cd9b4 Increased far plane distance by factor of 100 to avoid clipping distant galaxies. 2005-07-21 16:31:43 +00:00
Christophe Teyssier 2318e423a3 Adding support for i18n with gettext. 2005-07-19 21:31:04 +00:00
Chris Laurel 3fb7a9c689 - Add context as a parameter when rendering deep sky objects (required in order to use shaders)
- Add absolute magnitude for deep sky objects
2005-07-12 17:37:00 +00:00
Chris Laurel 5857865126 Added support for emissive textures for mesh objects (and foundation for further improvements for mesh rendering.) 2005-03-09 16:38:45 +00:00
Chris Laurel 57ff878447 Added separate render and label flags for the various types of deep sky objects. This will break some scripts and cel:// URLs that relied on the 'show galaxies' flag to also show nebulae, but this is the inescapable cost of moving to a more flexible set of render settings. 2005-02-11 06:09:37 +00:00
Chris Laurel 3c3425ef60 - Fixed bug in OpenGL 2.0 that was causing planets to appear completely dark when there was an eclipse and more than four light sources
- Use enumerants for the ARB version of the texture_env_dot3 extensions; this fixes bugs with normal maps on some Mac OS X drivers which no longer support the EXT version of the extension.
2004-11-12 06:50:04 +00:00
Chris Laurel 384e3ca8b7 Fixed lighting bug that occurred when multiple solar systems were rendered. Solar system centric light source positions from the wrong solar system were being used, resulting in completely incorrect illumination. 2004-11-11 09:41:51 +00:00
Chris Laurel 252182a102 Implemented phase lock and sync follow modes for stars. 2004-11-09 07:18:46 +00:00
Chris Laurel 91340872da Implemented correct shadows for clouds in GLSL path. 2004-11-02 18:39:08 +00:00
Chris Laurel b71f601b8e - Fixed multiple light source illumination for cloud layers
- Account for ambient light when rendering planet rings in the OpenGL 2.0 path
2004-11-02 08:10:14 +00:00
Chris Laurel 003515f72d - Made vertex program render paths use light source intensity scaling
- Fixed another g++ compilation problem
2004-10-27 09:48:39 +00:00
Chris Laurel 61d076046c - Fixed typo in glcontext.cpp that caused compile errors
- Fixed pow calls for building with free MS C++ compiler
2004-10-26 09:12:00 +00:00
Chris Laurel d119912cff - Fixed bug that caused specular color to be ignored when shadows were turned enabled, resulting in overbright specular highlights.
- Ring rendering was broken in the GLSL path when shadows were disabled.  Fixed.
2004-10-25 08:18:13 +00:00
Chris Laurel d76044133a Implemented shadows on rings for GLSL render path. 2004-10-23 09:30:14 +00:00
Chris Laurel e386facd1e More fixes for GLSL rendering path:
- Fixed bug where planets without a base texture would be rendered black
- Made shadows work on bodies with normal maps
2004-10-21 07:48:28 +00:00
Chris Laurel 55b070d1a4 Fixed bugs for planets in multiple star systems:
- Moons of planets that orbited barycenters were not getting rendered
- Picking was broken in solar systems with moving origins
2004-10-20 07:55:50 +00:00
Pat Suwalski 9d1e4db55f Fixed GCC errors by explicitly casting unsigned ints. 2004-10-20 04:12:10 +00:00
Chris Laurel 496fd54645 - Added separate specular texture support to GLSL path
- Implemented eclipse shadows for GLSL path
2004-10-19 17:52:43 +00:00
Chris Laurel 88da84eb25 Implemented ring shadows via GLSL shaders and made them work properly with ambient light and multiple directional light sources. 2004-10-17 01:43:49 +00:00
Chris Laurel 6f8031d387 Turned on OpenGL 2.0 / GLSL render path. 2004-10-15 09:55:12 +00:00
Chris Laurel 5d56527084 - Use brown dwarf texture for spectral types L and T.
- Get rid of texture on black holes so that they are rendered as featureless black spheres.
- Make night lights work correctly with more than one star
2004-10-10 02:07:51 +00:00
Chris Laurel 3dacffbf62 Fixed another ambiguous overload problem in a call to the pow function. 2004-10-09 20:52:59 +00:00
Chris Laurel c9a186130d Adjusted lighting in multiple star systems to use a gamma factor to make dimmer stars visible. Changed name of intensity field to irradiance. 2004-10-08 16:35:45 +00:00
Chris Laurel dcb8910d67 - Improved precision of axial rotation calculation
- Replaced oblateness with semiAxes, allowing general ellispoids to be used for stars
2004-10-07 17:52:22 +00:00
Chris Laurel 2f7d0089fc Support more than one light source when rendering objects. 2004-10-05 09:27:09 +00:00
Chris Laurel 0cae2cc3e2 - Made orbit path rendering work for multistar systems
- Added foundations of multiple light source rendering
2004-10-04 06:35:33 +00:00
Chris Laurel 165a158632 - Removed debugging output
- Made renderer respect visibility=false for stars
2004-10-02 17:21:45 +00:00
Chris Laurel 3427543f16 Changed pos parameter of astrocentricPosition() to const in order to stop gcc from complaining. 2004-10-02 16:55:33 +00:00
Chris Laurel 304c984e62 Implemented complex star systems:
- Barycenters may be defined in .stc files; star orbits may be defined with respect to a fixed or moving barycenter
- Eliminated BarycenterIsOrigin flag; barycenters are a more general solution
- Previously, just the closest solar system was rendered; changed renderer to show planets for all solar systems visible
- Added automatic star catalog number generation, so stars can be defined with just a name.  Some futher work required to make these stars work correctly in cel:// URLS.
2004-10-02 10:44:49 +00:00
Chris Laurel 64b2b94d96 Added flag to set whether solar system center is a star or the barycenter of orbiting stars. 2004-09-29 16:20:21 +00:00
Chris Laurel 2fdf2618c0 Updated render and selection code so planets orbiting stars in multiple system appear in the right place. Made a similar fix for orbit paths. 2004-09-28 07:44:34 +00:00
Chris Laurel 40a3e15efd Implemented star orbits. Much work remains, as there's a lot of code that still assumes fixed stars. 2004-09-28 04:44:26 +00:00
Chris Laurel 1908286da1 Fixed bug that was causing all stars to look like glowing asteroids. Oops. Added methods to getting/setting star orbits. 2004-09-23 06:54:28 +00:00
Chris Laurel 3524450c51 Allow custom meshes and textures for stars defined in .stc files. 2004-09-21 17:37:17 +00:00
Chris Laurel 12d827d29e Implemented StarDetails class which contains information that was formerly in StellarClass. Stars may have custom details with orbits, textures, meshes and other extended information. 2004-09-20 03:27:50 +00:00
Chris Laurel c64cf4359b Improved the horizon compass:
- made size of fiducials independent of distance to planet
 - disabled for irregular objects
 - fixed to work with oblate planets
2004-08-27 05:39:52 +00:00
Chris Laurel f3ee8d9618 Implemented experimental horizon compass, turned on whenever the celestial sphere is. There are no letters indicating cardinal directions yet. 2004-08-25 17:19:44 +00:00