Stellarium
24.4
|
This was the original landscape, introduced for decorative purposes. More...
#include <Landscape.hpp>
Data Structures | |
struct | landscapeTexCoord |
Public Member Functions | |
LandscapeOldStyle (float radius=2.0f) | |
void | load (const QSettings &landscapeIni, const QString &landscapeId) override |
Load landscape. More... | |
void | draw (StelCore *core, bool onlyPolygon) override |
Draw the landscape. If onlyPolygon, only draw the landscape polygon, if one is defined. If no polygon is defined, the. | |
float | getOpacity (Vec3d azalt) const override |
Find opacity in a certain direction. More... | |
Public Member Functions inherited from Landscape | |
Landscape (float _radius=2.f) | |
virtual void | initGL () |
unsigned int | getMemorySize () const |
Return approximate memory footprint in bytes (required for cache cost estimate in LandscapeMgr) The returned value is only approximate, content of QStrings and other small containers like the horizon polygon are not put in in detail. More... | |
void | update (double deltaTime) |
void | setBrightness (const double b, const double pollutionBrightness=0.0) |
Set the brightness of the landscape plus brightness of optional add-on night lightscape. More... | |
void | setTint (Vec3f color) |
Set a tint to render the landscape. Useful for low-sun scenes. | |
double | getBrightness () const |
Returns the current brightness level. | |
double | getLightscapeBrightness () const |
Returns the lightscape brightness. | |
double | getTargetLightscapeBrightness () const |
Returns the lightscape brightness modulated with the fader's target state (i.e. binary on/off) | |
double | getEffectiveLightscapeBrightness () const |
Gets the currently effective lightscape brightness (modulated by the fader) | |
void | setFlagShow (const bool b) |
Set whether landscape is displayed (does not concern fog) | |
bool | getFlagShow () |
Get whether landscape is displayed (does not concern fog) | |
float | getEffectiveLandFadeValue () |
Returns the currently effective land fade value. | |
void | setFlagShowFog (const bool b) |
Set whether fog is displayed. | |
bool | getFlagShowFog () |
Get whether fog is displayed. | |
QString | getName () const |
Get landscape name. | |
QString | getAuthorName () const |
Get landscape author name. | |
QString | getDescription () const |
Get landscape description. | |
QString | getId () const |
Get landscape id. This is the landscape directory name, used for cache handling. | |
const StelLocation & | getLocation () const |
Return the associated location (may be empty!) | |
bool | hasLocation () const |
Return if the location is valid (a valid location has a valid planetName!) | |
QVariant | getDefaultLightPollutionLuminance () const |
Return default light pollution luminance in cd/m², if present. | |
int | getDefaultFogSetting () const |
Return default fog setting (0/1) or -1 (no change) | |
double | getDefaultAtmosphericExtinction () const |
Return default atmosperic extinction [mag/airmass], or -1 (no change) | |
double | getDefaultAtmosphericTemperature () const |
Return configured atmospheric temperature [degrees Celsius], for refraction computation, or -1000 for "unknown/no change". | |
double | getDefaultAtmosphericPressure () const |
Return configured atmospheric pressure [mbar], for refraction computation. More... | |
double | getLandscapeMinimalBrightness () const |
Return minimal brightness for landscape returns -1 to signal "standard conditions" (use default value from config.ini) | |
void | setZRotation (float d) |
Set an additional z-axis (azimuth) rotation after landscape has been loaded. More... | |
bool | getIsFullyVisible () const |
Get whether the landscape is currently fully visible (i.e. opaque). | |
double | getSinMinAltitudeLimit () const |
Get the sine of the limiting altitude (can be used to short-cut drawing below horizon, like star fields). There is no set here, value is only from landscape.ini. | |
void | loadLabels (const QString &landscapeId) |
Load descriptive labels from optional file gazetteer.LANG.utf8. | |
bool | hasLandscapePolygon () const |
Additional Inherited Members | |
Public Types inherited from Landscape | |
enum | horizonListMode { invalid =-1 , azDeg_altDeg = 0 , azDeg_zdDeg = 1 , azRad_altRad = 2 , azRad_zdRad = 3 , azGrad_altGrad = 4 , azGrad_zdGrad = 5 } |
The list of azimuths (counted from True North towards East) and altitudes can come in various formats. We read the first two elements, which can be of formats: More... | |
Static Public Member Functions inherited from Landscape | |
static void | setFlagShowIllumination (const bool b) |
Set whether illumination is displayed. | |
static bool | getFlagShowIllumination () |
Get whether illumination is displayed. | |
static void | setTransparency (const double f) |
Protected Member Functions inherited from Landscape | |
void | setupCurrentVAO () |
void | bindVAO () |
void | releaseVAO () |
void | loadCommon (const QSettings &landscapeIni, const QString &landscapeId) |
Load attributes common to all landscapes. More... | |
void | drawLabels (StelCore *core, StelPainter *painter) |
Draw optional labels on the landscape. | |
void | createPolygonalHorizon (const QString &lineFileName, const float polyAngleRotateZ=0.0f, const QString &listMode="azDeg_altDeg") |
Create a StelSphericalPolygon that describes a measured horizon line. More... | |
void | drawHorizonLine (StelCore *core, StelPainter &painter) |
Static Protected Member Functions inherited from Landscape | |
static const QString | getTexturePath (const QString &basename, const QString &landscapeId) |
search for a texture in landscape directory, else global textures directory More... | |
Protected Attributes inherited from Landscape | |
std::unique_ptr< QOpenGLVertexArrayObject > | vao |
std::unique_ptr< QOpenGLBuffer > | vbo |
StelProjectorP | prevProjector |
std::unique_ptr< QOpenGLShaderProgram > | renderProgram |
double | radius |
QString | name |
QString | author |
Read from landscape.ini:[landscape]name. | |
QString | description |
Read from landscape.ini:[landscape]author. | |
QString | id |
Read from landscape.ini:[landscape]description. | |
float | minBrightness |
Set during load. Required for consistent caching. | |
float | landscapeBrightness |
Read from landscape.ini:[landscape]minimal_brightness. Allows minimum visibility that cannot be underpowered. | |
Vec3f | landscapeTint |
brightness [0..1] to draw the landscape. Computed by the LandscapeMgr. | |
float | lightScapeBrightness |
color tint to draw the landscape (daylight texture only). Nice for sunrise/sunset. | |
bool | validLandscape |
can be used to draw nightscape texture (e.g. city light pollution), if available. Computed by the LandscapeMgr. | |
LinearFader | landFader |
was a landscape loaded properly? | |
LinearFader | fogFader |
Used to slowly fade in/out landscape painting. | |
unsigned int | rows |
Used to slowly fade in/out landscape feature labels. | |
unsigned int | cols |
horizontal rows. May be given in landscape.ini:[landscape]tesselate_rows. More indicates higher accuracy, but is slower. | |
float | angleRotateZ |
vertical columns. May be given in landscape.ini:[landscape]tesselate_cols. More indicates higher accuracy, but is slower. | |
float | angleRotateZOffset |
[radians] if pano does not have its left border in the east, rotate in azimuth. Configured in landscape.ini[landscape]angle_rotatez (or decor_angle_rotatez for old_style landscapes) | |
double | sinMinAltitudeLimit |
[radians] This is a rotation changeable at runtime via setZRotation (called by LandscapeMgr::setZRotation). More... | |
StelLocation | location |
QVariant | defaultLightPollutionLuminance |
OPTIONAL. If present, can be used to set location. More... | |
int | defaultFogSetting |
double | defaultExtinctionCoefficient |
May be given in landscape.ini:[location]display_fog: -1(no change), 0(off), 1(on). Default: -1. | |
double | defaultTemperature |
May be given in landscape.ini:[location]atmospheric_extinction_coefficient. Default -1 (no change). | |
double | defaultPressure |
[Celsius] May be given in landscape.ini:[location]atmospheric_temperature. default: -1000.0 (no change) | |
SphericalRegionP | horizonPolygon |
[mbar] May be given in landscape.ini:[location]atmospheric_pressure. Default -1.0 (compute from [location]/altitude), use -2 to indicate "no change". | |
QList< LandscapeLabel > | landscapeLabels |
[0...5] used to draw the horizon polygon, if defined. Set 0 to switch off. | |
unsigned int | memorySize |
Rotation angle for landscape labels, degrees. Useful for landscapes with many labels. More... | |
bool | multisamplingEnabled_ |
bool | initialized = false |
Static Protected Attributes inherited from Landscape | |
static LinearFader | illumFader |
Used to slowly fade in/out fog painting. | |
static LinearFader | labelFader |
Used to slowly fade in/out illumination painting. | |
static double | landscapeTransparency |
Minimal altitude of landscape cover. Can be used to construct bounding caps, so that e.g. no stars are drawn below this altitude. Default -0.035, i.e. sin(-2 degrees). | |
static Vec3f | horizonPolygonLineColor |
Optional element describing the horizon line. More... | |
static int | horizonPolygonLineThickness |
for all horizon types, the horizonPolygon line, if specified, will be drawn in this color More... | |
static int | fontSize |
static Vec3f | labelColor |
Used for landscape labels (optionally indicating landscape features) | |
static int | labelAngle |
Color for the landscape labels. | |
This was the original landscape, introduced for decorative purposes.
It segments the horizon in several tiles (usually 4 or 8), therefore allowing very high resolution horizons also on limited hardware, and closes the ground with a separate bottom piece. (You may want to configure a map with pointers to surrounding mountains or a compass rose instead!) You can use panoramas created in equirectangular or cylindrical coordinates, for the latter case set [landscape]tan_mode=true. Until V0.10.5 there was an undetected bug involving vertical positioning. For historical reasons (many landscapes were already configured and published), it was decided to keep this bug as feature, but a fix for new landscapes is available: [landscape]calibrated=true. As of 0.10.6, the fix is only valid for equirectangular panoramas. As of V0.13, [landscape]calibrated=true and [landscape]tan_mode=true go together for cylindrical panoramas. It is more involved to configure, but may still be preferred if you require the resolution, e.g. for alignment studies for archaeoastronomy. In this case, don't forget to set calibrated=true in landscape.ini. Since V0.13.1, also this landscape has a self-luminous (light pollution) option: Configure light<n> entries with textures overlaid the tex<n> textures. Only textures with light are necessary! Can be easily made using layers with e.g. Photoshop or Gimp.
struct LandscapeOldStyle::landscapeTexCoord |
|
overridevirtual |
Find opacity in a certain direction.
(New in V0.13 series) can be used to find sunrise or visibility questions on the real-world landscape horizon. Default implementation indicates the horizon equals math horizon.
Reimplemented from Landscape.
|
overridevirtual |
Load landscape.
landscapeIni | A reference to an existing QSettings object which describes the landscape |
landscapeId | The name of the directory for the landscape files (e.g. "ocean") |
Implements Landscape.