Commit Graph

410 Commits (73638c116d90226181af195a747958e00ee51588)

Author SHA1 Message Date
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
Chris Laurel 6d164e6e47 Add new shaders for handling combined base and specular maps in the GeForce FX render path. 2004-08-03 08:57:13 +00:00
Chris Laurel 863f9af5f9 Fixed several problems with coalesced depth buckets. 2004-07-28 16:53:48 +00:00
Chris Laurel ccc6762f27 Don't render eclipse shadows of objects that don't exist at the current simulation. 2004-07-26 17:10:50 +00:00
Chris Laurel 02d760d744 - Fixed flickering location labels by using a double precision calculation. 2004-07-21 16:58:30 +00:00
Chris Laurel 79824e3e32 - Use a more conservative max near/far clip plane ratio to limit depth buffer precision artifacts
- Change fractional pixel offset for text rendering so that text still looks crisp with multi-sample antialiasing.
2004-07-21 07:12:45 +00:00
Chris Laurel 8a692bc773 Mesh and rendering cleanup:
- Add semantic-indexed attribute list to VertexDescription class
- Abstracted RenderContext so that it's an interface with implementations for various render paths.
- Moved all GL code from Mesh class into RenderContext
This work will enable normal and specular maps for meshes (soon)
2004-07-07 09:53:09 +00:00
Chris Laurel 35c0798aac Fixed longstanding bug where two objects having overlapping bounding spheres would get incorrectly rendered, with one completely in front of the other. 2004-06-26 08:22:20 +00:00
Harald Schmidt e0817161f2 Added loading of specmap in loadTextures() 2004-06-05 12:31:39 +00:00
Chris Laurel 7bbd8309e1 Fixed for scoping bug that was causing g++ to complain. 2004-06-04 07:37:25 +00:00
Chris Laurel 8fd1d6ff26 Implemented an option to display just the portion of object's trajectory that it has travelled as of the current time. Currently, there is no keystroke bound to toggle this option on and off; it can only be enabled from scripts (.cel and .celx) 2004-06-01 07:27:17 +00:00
Chris Laurel e2fdfd26e3 Depth sort labels for solar system objects so that they're correctly occluded. 2004-05-18 17:31:26 +00:00
Chris Laurel 3718b9e60d Added new fragment programs for per-pixel specular on GeForce FX hardware. Fixed clipping problems for solar system mesh objects. 2004-04-19 17:28:39 +00:00
Harald Schmidt b3598e91d2 Added getMinimumOrbitSize as counterpart for setMinimumOrbitSize. 2004-03-21 19:26:54 +00:00
Chris Laurel 99c60e1d3c Added to the config file rendering detail options for orbits, shadows, and rings. 2004-03-15 18:51:16 +00:00
Chris Laurel e65a9d5088 Fixed Linux compilation problems:
- Disambiguated call to pow in render.cpp
- In celestiacore.cpp, protected a reference of celxScript with #ifdef CELX
so that we still build without Lua support.
2004-03-12 18:01:01 +00:00
Chris Laurel efabdafcf6 - Turned off FOV-based limiting magnitude adjustments for solar system objects--the automag feature should have made this obsolete
- Made ring shadows darker, as suggested by images from Cassini
- Account for a planet's oblateness when rendering the shadows it casts on its rings.
- Fixed the wobbling of ring shadows by using a stable coordinate system for the shadow volume.
- Experimented with using pixel shaders for eclipse shadows; code is currently commented out.
2004-03-12 08:31:10 +00:00
Chris Laurel 3214174e4e When available, use fragment programs to rend shadows on rings. 2004-03-03 10:21:04 +00:00
Chris Laurel 329aa57aa9 Display Bayer designations with Greek letters 2004-02-28 09:30:17 +00:00
Chris Laurel 6f2cde6770 - Render antiliased lines for graticules (and any other deep sky objects)
- Allow an ssc file definition to override the texture in a model
- When deciding if blending should be turned on when rendering a model, consider whether the texture has an alpha channel
2004-02-22 01:44:38 +00:00
Chris Laurel 3d0c30aba5 - Disable eclipse shadows on mesh objects (because they're completely broken)
- Make the shadows cast by rings lighter
2004-02-19 07:49:34 +00:00
Chris Laurel df98cc39cd Improved mesh support:
- Use more efficient and flexible internal representation
- Added code to convert 3DS meshes to new structure
- Support new Celestia mesh format (ASCII-only right now)
2004-02-17 09:58:52 +00:00
Chris Laurel 3b8f50f17b Moved location labels closer to the near clip plane so they don't get obscured when at low aspect ratios (and potentially other cases.) 2004-01-29 17:28:10 +00:00
Chris Laurel 1507865b6f Added spectral class C for carbon stars 2004-01-27 18:40:59 +00:00
Chris Laurel 0b8aefc963 Added a missing GL texture enable that caused stars and galaxies rendered after a nebula to appear square. 2004-01-27 17:51:43 +00:00
Chris Laurel f29ce40663 Support ambient color with bump mapping in the vertex programs/DOT3 render path. 2003-11-29 04:48:32 +00:00
Chris Laurel e3a3e5c0be Fixed two bugs in location visibility calculation: locations behind the camera were sometimes rendered anyway, and labels were being shown for locations still below the horizon. 2003-08-01 06:32:43 +00:00
Chris Laurel b9da43799b Made virtual textures actually work, modulo LOD calculation and eviction.Delegated the task of computing sphere LODs to LODSphereMesh. 2003-07-30 17:07:46 +00:00
Chris Laurel 62792a9db0 Complete rewrite of texture handling code for cleanup and in order to support virtual textures. What was the texture class is now split between Texture and Image. There are several subclasses of Texture, including ImageTexture, TiledTexture, CubeMap, and VirtualTexture. 2003-07-30 05:34:04 +00:00
Chris Laurel 3d5239d903 Reenable buggy OpenGL vertex program detection. 2003-07-25 08:01:16 +00:00
Hank Ramsey daebb6f8ef Added fix for MacOS X orbit display bug 2003-07-17 04:03:39 +00:00
Chris Laurel dcfc3e56db Added star styles: normal fuzzy points, points, and scaled discs. Added orbit mask separate from the show all orbits bit of renderFlags. Vary color of orbits based on object class. 2003-07-08 15:31:34 +00:00
Chris Laurel 022ee7fc44 Improved orbit rendering. Orbits may be turned on and off separately for each object class. Sampled trajectories are now rendered completely and with the extra 'loop' segment omitted, 2003-07-05 00:22:01 +00:00
Chris Laurel 8e2f615dd4 Tweaked the opacity of daytime atomspheres to prevent moons from appearing to bright. 2003-07-04 00:08:57 +00:00
Chris Laurel d7b3afc866 Redo the selection class to use a single pointer and a type field. 2003-06-25 17:40:24 +00:00
Chris Laurel 28d7af9428 Correctly compute the positions of locations on the surface of irregular (i.e. mesh) bodies. 2003-06-24 06:31:19 +00:00
Chris Laurel 8547cf5623 Use the location feature type filter to determine which locations to display. 2003-06-23 14:04:28 +00:00
Chris Laurel 93568a5890 Implemented size and importance properties for locations.
Added minimum feature size control to renderer.
Made renderer respect LocationLabels setting.
2003-06-18 18:35:59 +00:00
Chris Laurel ca2f35af81 Implemented surface locations 2003-06-17 17:40:49 +00:00
Chris Laurel 98058e9f2b More brown dwarf stuff: use the brown dwarf texture for L and T stars; added temperature tables for types L and T. 2003-06-11 05:16:06 +00:00
Chris Laurel 6e4d02e324 Added support for alternate surface textures for planets/moons/etc. 2003-06-09 03:57:43 +00:00
Chris Laurel 482d51a4a7 Introduced support for overlay textures, which may be used for limit of knowledge masks and probably a ton of other things as well. 2003-06-06 17:13:16 +00:00
Chris Laurel 7f238afbfd Fixed a bunch of small atmosphere bugs 2003-06-03 17:16:00 +00:00
Chris Laurel 1e5941ce43 Fixed atmospheres for light emitting objects. 2003-05-30 17:53:26 +00:00
Chris Laurel c35acb1b81 Fixed hole in sky problem 2003-05-30 08:28:07 +00:00
Chris Laurel e224430853 Allow sunset color be defined in an .ssc file. 2003-05-26 04:43:54 +00:00
Chris Laurel 514078ac0f Fixed memory overwriting bug in atmosphere code. 2003-05-26 04:11:14 +00:00
Chris Laurel 090acc75c7 New and improved atmosphere rendering code 2003-05-26 02:27:27 +00:00
Chris Laurel 36c85c68ba Completed support for atmospheres on oblate planets. 2003-05-14 07:48:57 +00:00
Chris Laurel 75caf57fd7 Implemented (mostly) rendering of atmosphere haloes for oblate planets. 2003-05-13 09:53:07 +00:00
Chris Laurel 84f583d849 Fixed clipping of small deep sky objects. 2003-05-07 07:46:15 +00:00
Chris Laurel ae4d0382dc Fixed bump/normal maps. 2003-04-25 09:06:02 +00:00
Chris Laurel f121f1b824 Prevent invisible objects from casting shadows. 2003-04-02 09:34:15 +00:00
Chris Laurel 3632b836e9 Eliminated dead code in renderRings() that caused a crash when running with a driver without multitexture. 2003-04-01 17:32:34 +00:00
Chris Laurel d7885bc638 Added an invisible classification for solar system bodies; invisible objects are not rendered or labeled, and are not pickable. 2003-04-01 07:27:56 +00:00
Chris Laurel c8f5f22446 Fix support for ARB_vertex_program render path--requires passing context around, and abstraction of vertex attribute array calls. 2003-03-28 18:39:23 +00:00
Chris Laurel 5b2dd75846 Fixed rendering problems when mixing nebulae and galaxies. 2003-02-25 08:26:18 +00:00
Chris Laurel a4612a54bc Added a symbol option for markers. 2003-02-25 08:03:27 +00:00
Chris Laurel 1cc1c5a5a1 Made time a property of the observer instead of the simulation. Added get/setSyncTime method to Simulation. By default, it's on, so time changes are broadcast to all observers. Currently, there's no UI support for disabling sync time. 2003-02-22 06:49:37 +00:00
Chris Laurel af2c71b5be Implement the texenv_combine/DOT3 pixel path. 2003-02-21 08:28:29 +00:00
Chris Laurel 7690e30aa1 Merged renderSphere_Combiners_NvVP and renderSphere_Combiners_ARBVP into a single function. Turned on specular+bump support. Began work on renderSphere_DOT3_VP. 2003-02-20 09:48:47 +00:00
Chris Laurel e7d8fb331e Infrastructure for different rendering paths, includings ones which use ARB_vertex_program instead of NV_vertex_program 2003-02-19 17:48:25 +00:00
Chris Laurel 2d2cf0c375 Fixed compilation error with gcc. 2003-02-15 04:25:39 +00:00
Chris Laurel 478aafec68 Changed FOV to be a property of the observer. 2003-02-14 18:07:47 +00:00
Chris Laurel b151ced5f4 Eliminate eclipse shadows on wrong side of planet. 2003-02-14 08:39:58 +00:00
Chris Laurel bdf0268fc7 Moved pickRay method to Observer 2003-02-12 10:27:09 +00:00
Chris Laurel 7882c880d2 Implemented markers 2003-02-01 04:42:21 +00:00
Chris Laurel 6218428245 Added new DeepSkyObject base class for Galaxy and Nebula 2003-01-29 05:47:50 +00:00
Fridger Schrempp 2792e844d0 making calcPixelSize public 2003-01-01 23:48:15 +00:00
Chris Laurel 4a80f89f9d Added separate vertex shader for night side lights; fixed night side lights for fragment shader/no vertex shader path. 2002-12-23 07:58:58 +00:00
Chris Laurel 87d8fbb72b Eliminate shadows on clouds and rings when a planet is emissive. 2002-12-17 18:09:31 +00:00
Fridger Schrempp d05b3e52ad Incorporate setting of faintest mag at 45 deg FoV if Automag=ON 2002-12-11 20:27:35 +00:00
Chris Laurel b74afd2496 Fixed detection of new OpenGL versions for determining whether it's safe to enable haze. 2002-11-24 00:48:08 +00:00
Chris Laurel 873bfd115b Moved all OpenGL extension functions into the namespace glx. This protects against possible linker confusion if a library happens to export the extension functions. Also added ARB_vertex_program and NV_fragment_program extensions to glext.{h,cpp} 2002-11-23 18:25:28 +00:00
Chris Laurel eb8993c44d Fixed night light rendering when specular and bump textures are enabled. 2002-11-21 18:18:21 +00:00
Chris Laurel 69f7ffaf06 Fixed overzealous enabling of antialiased lines when constellation figures, borders, or celestial grid were enabled. 2002-11-15 06:00:11 +00:00
Chris Laurel ecb72fd5dd Change LongOfRotationAxis to EquatorAscendingNode, since that's how it's actually interpreted. 2002-11-04 07:54:56 +00:00
Chris Laurel 142ce492aa Improved distance sorting for objects; fixes the case when a small satellite orbiting close to a planet was incorrectly occluded. 2002-11-04 04:14:07 +00:00
Chris Laurel c2f91d203c Fixed view frustum culling of galaxies to work correctly outside the Milky Way. 2002-10-10 17:09:46 +00:00
Chris Laurel 0d365947b4 Implemented object lifespans 2002-10-05 09:22:05 +00:00
Chris Laurel f3666d7114 Preliminary work on an improved comet tail shader. 2002-10-04 17:04:40 +00:00
Chris Laurel ad98e33649 Added workaround for broken S3 ProSavage card; don't cast eclipse or ring shadows on emissive objects. 2002-09-28 09:21:26 +00:00
Chris Laurel f53c311b69 Don't enable ring shadows unless vertex programs are available. 2002-09-25 17:39:13 +00:00
Chris Laurel eb4cca6f2c Added shadows cast from rings onto planets. 2002-09-23 01:59:15 +00:00
Fridger Schrempp 046f6e2077 Added culling in galaxy rendering, tuning of AutoMag 2002-09-22 14:49:49 +00:00
Chris Laurel 2cf0fb4b5e Made stars rotate (again) 2002-09-13 08:06:22 +00:00
Chris Laurel 07f8f10759 New and improved illumination for rings; when vertex programs are available, don't use a constant eye direction for all ring particles. 2002-09-13 07:35:50 +00:00
Chris Laurel 757dc67ddc Added distance filtering for stars and rendering flag for comet tails and ring shadows. 2002-09-09 03:50:37 +00:00
Chris Laurel 35b7a49be0 Improved comet rendering . . . still needs some tweaking. 2002-09-02 21:13:10 +00:00
Chris Laurel 8b68bc1f5e Fixed bug that made clouds black when spec and bump maps were used together. 2002-08-30 07:44:23 +00:00
Chris Laurel 9db723aa16 Made clouds rotate when vertex shaders are enabled. 2002-08-28 04:39:20 +00:00
Chris Laurel 9de80f60db Fixed cloud layers so that they don't cause z fighting when vertex shaders are enabled. 2002-08-27 17:11:35 +00:00
Chris Laurel 26c6c53b72 Fixed stupid for scoping error (thanks, MSVC!) 2002-08-22 08:08:23 +00:00
Chris Laurel 698712ad30 Handle different sized base, bump, and specular mask textures correctly. 2002-08-20 09:09:35 +00:00
Bob Ippolito 550ee4a5bc Small syntax changes to compile in OS X 2002-08-01 21:27:58 +00:00
Chris Laurel 31c269aee6 Improved specular maps. The renderer can now use a separate textures for the specular mask instead of using the alpha channel of the base texture. Specular maps can also be used together with bump mapping. There's still the restriction that, like a bump map, a separate specular map must be the same size as the base texture if either is large enough to be split. Also, it'd be good to have a version of the renderer that can take advantage of more than two textures per pass. 2002-07-26 05:41:25 +00:00
Fridger Schrempp 239efad88c Introduce AutoMag for stars, halo fixes and display tunings 2002-06-22 15:15:44 +00:00
Chris Laurel 835c04d4df Uncommented constellation boundary code. 2002-06-21 21:14:51 +00:00
Chris Laurel 4b0c4d8704 Fixed broken OpenGL extension crud. Again. 2002-06-17 02:41:11 +00:00
Bob Ippolito 646ecf860f Changes to allow compile on OS X and to be wrapped with Objective C++, please let me know if this had any adverse effects on other platforms. Don't expect much out of this from OS X, because these are only changes that affect the celestia base.
bob@redivi.com
2002-06-14 15:34:22 +00:00