Stellarium 0.12.3
|
This class performs refraction computations, following literature from atmospheric optics and astronomy. More...
#include <RefractionExtinction.hpp>
Public Member Functions | |
virtual void | forward (Vec3d &altAzPos) const |
Apply refraction. More... | |
virtual void | backward (Vec3d &altAzPos) const |
Remove refraction from position ("reduce"). More... | |
virtual void | forward (Vec3f &altAzPos) const |
Apply refraction. More... | |
virtual void | backward (Vec3f &altAzPos) const |
Remove refraction from position ("reduce"). More... | |
virtual void | combine (const Mat4d &m) |
virtual Mat4d | getApproximateLinearTransfo () const |
virtual StelProjector::ModelViewTranformP | clone () const |
virtual bool | setupGLSLTransform (StelGLSLShader *shader) |
Attaches (or enables, if attached already) the GLSL transform shader to specified shader. More... | |
virtual void | setGLSLUniforms (StelGLSLShader *shader) |
Set GLSL uniforms needed for the transform shader. More... | |
virtual void | disableGLSLTransform (StelGLSLShader *shader) |
Disable the attached GLSL transform shader. More... | |
void | setPressure (float p_mbar) |
Set surface air pressure (mbars), influences refraction computation. More... | |
float | getPressure () const |
void | setTemperature (float t_C) |
Set surface air temperature (degrees Celsius), influences refraction computation. More... | |
float | getTemperature () const |
void | setPreTransfoMat (const Mat4d &m) |
Set the transformation matrices used to transform input vector to AltAz frame. More... | |
void | setPostTransfoMat (const Mat4d &m) |
This class performs refraction computations, following literature from atmospheric optics and astronomy.
Refraction solutions can only be aproximate, given the turbulent, unpredictable real atmosphere. Typical horizons do not go down below -1, so strange effects (distortion) between -2 and -5 should be covered. Note that forward/backward are no absolute reverse operations! All the computations should be in effect (1) only if atmosphere effects are true (2) only for celestial objects, never for landscape images (3) only for terrestrial locations, not on Moon/Mars/Saturn etc
Definition at line 102 of file RefractionExtinction.hpp.
|
virtual |
Remove refraction from position ("reduce").
altAzPos | is the apparent star position vector, to be transformed into geometrical position. Note that forward/backward are no absolute reverse operations! |
Implements StelProjector::ModelViewTranform.
|
virtual |
Remove refraction from position ("reduce").
altAzPos | is the apparent star position vector, to be transformed into geometrical position. Note that forward/backward are no absolute reverse operations! |
Implements StelProjector::ModelViewTranform.
|
inlinevirtual |
Disable the attached GLSL transform shader.
Implements StelProjector::ModelViewTranform.
Definition at line 223 of file RefractionExtinction.hpp.
|
virtual |
Apply refraction.
altAzPos | is the geometrical star position vector, to be transformed into apparent position. Note that forward/backward are no absolute reverse operations! |
Implements StelProjector::ModelViewTranform.
|
virtual |
Apply refraction.
altAzPos | is the geometrical star position vector, to be transformed into apparent position. Note that forward/backward are no absolute reverse operations! |
Implements StelProjector::ModelViewTranform.
|
inlinevirtual |
Set GLSL uniforms needed for the transform shader.
Called by the renderer backend before drawing, if the transform shader was attached successfully.
Implements StelProjector::ModelViewTranform.
Definition at line 215 of file RefractionExtinction.hpp.
void Refraction::setPressure | ( | float | p_mbar | ) |
Set surface air pressure (mbars), influences refraction computation.
void Refraction::setPreTransfoMat | ( | const Mat4d & | m | ) |
Set the transformation matrices used to transform input vector to AltAz frame.
void Refraction::setTemperature | ( | float | t_C | ) |
Set surface air temperature (degrees Celsius), influences refraction computation.
|
inlinevirtual |
Attaches (or enables, if attached already) the GLSL transform shader to specified shader.
The shader attached must implement one function:
vec4(modelViewForward(in vec4 v));
This function should implement the same logic as the forward() member function, except that it returns the result instead of modifying the parameter.
shader | Shader to attach to. |
Implements StelProjector::ModelViewTranform.
Definition at line 136 of file RefractionExtinction.hpp.