CalcMySky  v0.3.1
Public Member Functions | List of all members
ShowMySky::Settings Class Referenceabstract

Scene settings for AtmosphereRenderer.

#include <Settings.hpp>

Inheritance diagram for ShowMySky::Settings:
ToolsWidget

Public Member Functions

virtual double altitude ()=0
 Camera altitude. More...
 
virtual double sunAzimuth ()=0
 Azimuth of the Sun. More...
 
virtual double sunZenithAngle ()=0
 Zenith angle of the Sun. More...
 
virtual double sunAngularRadius ()=0
 Angular radius of the Sun. More...
 
virtual double moonAzimuth ()=0
 Azimuth of the Moon. More...
 
virtual double moonZenithAngle ()=0
 Zenith angle of the Moon. More...
 
virtual double earthMoonDistance ()=0
 Distance between the Earth and the Moon. More...
 
virtual bool zeroOrderScatteringEnabled ()=0
 Whether to render zero-order scattering. More...
 
virtual bool singleScatteringEnabled ()=0
 Whether to render single scattering. More...
 
virtual bool multipleScatteringEnabled ()=0
 Whether to render multiple scattering. More...
 
virtual double lightPollutionGroundLuminance ()=0
 Ground luminance for light pollution. More...
 
virtual bool onTheFlySingleScatteringEnabled ()=0
 Whether single scattering should be computed on the fly. More...
 
virtual bool onTheFlyPrecompDoubleScatteringEnabled ()=0
 Whether double scattering should be precomputed on the fly when using eclipse shader. More...
 
virtual bool textureFilteringEnabled ()
 Whether to enable texture filtering. More...
 
virtual bool usingEclipseShader ()=0
 Whether to use shader designed to render eclipse atmosphere. More...
 
virtual bool pseudoMirrorEnabled ()=0
 Whether to mirror the sky instead of rendering the ground. More...
 

Member Function Documentation

◆ altitude()

virtual double ShowMySky::Settings::altitude ( )
pure virtual
Returns
Camera altitude in meters.

Implemented in ToolsWidget.

◆ earthMoonDistance()

virtual double ShowMySky::Settings::earthMoonDistance ( )
pure virtual

This option is used when usingEclipseShader returns true.

Returns
Distance between the centers of the Earth and the Moon in meters.

Implemented in ToolsWidget.

◆ lightPollutionGroundLuminance()

virtual double ShowMySky::Settings::lightPollutionGroundLuminance ( )
pure virtual
Returns
Ground luminance in \(\mathrm{cd/m^2}\). Should normally be zero during daytime and nonzero from evening to morning.

Implemented in ToolsWidget.

◆ moonAzimuth()

virtual double ShowMySky::Settings::moonAzimuth ( )
pure virtual

This option is used when usingEclipseShader returns true.

Returns
Azimuth of the Moon at the location of the camera in radians.

Implemented in ToolsWidget.

◆ moonZenithAngle()

virtual double ShowMySky::Settings::moonZenithAngle ( )
pure virtual

This option is used when usingEclipseShader returns true.

Returns
Zenith angle of the Moon at the location of the camera in radians.

Implemented in ToolsWidget.

◆ multipleScatteringEnabled()

virtual bool ShowMySky::Settings::multipleScatteringEnabled ( )
pure virtual

If this method returns true, multiple scattering layer is rendered by AtmosphereRenderer::draw, otherwise it's skipped.

Implemented in ToolsWidget.

◆ onTheFlyPrecompDoubleScatteringEnabled()

virtual bool ShowMySky::Settings::onTheFlyPrecompDoubleScatteringEnabled ( )
pure virtual

This is a performance-quality tradeoff setting.

If this method returns true, and usingEclipseShader returns true, then double scattering is precomputed on the fly. Otherwise it is rendered from double scattering texture (see caveats described in AtmosphereRenderer::canRenderPrecomputedEclipsedDoubleScattering).

Implemented in ToolsWidget.

◆ onTheFlySingleScatteringEnabled()

virtual bool ShowMySky::Settings::onTheFlySingleScatteringEnabled ( )
pure virtual

This is a performance-quality tradeoff setting.

If this method returns true, single scattering is computed during rendering, on the fly. Otherwise the single scattering textures are used.

Implemented in ToolsWidget.

◆ pseudoMirrorEnabled()

virtual bool ShowMySky::Settings::pseudoMirrorEnabled ( )
pure virtual

Stellarium wants to show sky-like colors instead of the ground, this option controls whether this is enabled.

Returns
Whether to mirror the sky instead of rendering the ground.

Implemented in ToolsWidget.

◆ singleScatteringEnabled()

virtual bool ShowMySky::Settings::singleScatteringEnabled ( )
pure virtual

If this method returns true, single scattering layers are rendered by AtmosphereRenderer::draw, otherwise they are skipped.

Implemented in ToolsWidget.

◆ sunAngularRadius()

virtual double ShowMySky::Settings::sunAngularRadius ( )
pure virtual

This option is used when usingEclipseShader returns true.

Returns
Angular radius of the Sun when looked from the location of the camera, in radians.

Implemented in ToolsWidget.

◆ sunAzimuth()

virtual double ShowMySky::Settings::sunAzimuth ( )
pure virtual
Returns
Azimuth of the Sun at the location of the camera in radians.

Implemented in ToolsWidget.

◆ sunZenithAngle()

virtual double ShowMySky::Settings::sunZenithAngle ( )
pure virtual
Returns
Zenith angle of the Sun at the location of the camera in radians.

Implemented in ToolsWidget.

◆ textureFilteringEnabled()

virtual bool ShowMySky::Settings::textureFilteringEnabled ( )
inlinevirtual

This is a debugging option that lets one toggle linear interpolation between texels in the model textures. If true, filtering is enabled, otherwise disabled. It should normally be enabled.

Returns
Whether to enable texture filtering.

Reimplemented in ToolsWidget.

◆ usingEclipseShader()

virtual bool ShowMySky::Settings::usingEclipseShader ( )
pure virtual

Eclipsed atmosphere takes more resources to render, so if there's no eclipse, this method should return false. But when the solar shadow touches the Earth, this method should return true (see caveats described in AtmosphereRenderer::canRenderPrecomputedEclipsedDoubleScattering).

Implemented in ToolsWidget.

◆ zeroOrderScatteringEnabled()

virtual bool ShowMySky::Settings::zeroOrderScatteringEnabled ( )
pure virtual

If this method returns true, zero-order scattering is rendered by AtmosphereRenderer::draw, otherwise it's skipped.

This should return false if the application does zero-order rendering by its own means.

Implemented in ToolsWidget.


The documentation for this class was generated from the following file: