34 #ifndef _LensFlare_H__ 35 #define _LensFlare_H__ 39 #include "OgreBillboardSet.h" 76 this->material_ = material;
79 this->position_ = position;
88 { this->scale_ = scale; }
90 {
return this->scale_; }
99 { this->colour_ =
colour; }
106 {
return this->colour_; }
120 { this->fadeResolution_ = fadeResolution > 0 ? fadeResolution : 1; }
127 {
return this->fadeResolution_; }
136 { this->fadeExponent_ = exponent; }
143 {
return this->fadeExponent_; }
152 { this->fadeOnViewBorder_ = fadeOnViewBorder; }
160 {
return this->fadeOnViewBorder_; }
164 virtual void tick(
float dt)
override;
166 virtual void changedVisibility()
override;
169 void registerVariables();
171 void createBillboards();
173 void updateBillboardStates(
const Vector3& viewDirection,
float dimension,
bool isLightVisible);
175 void updateBillboardAlphas(
float alpha);
177 unsigned int getPointCount(
float dimension)
const;
unsigned int fadeResolution_
how many points should be sampled per axis for the screen border fade. High number => smooth fade...
Definition: LensFlare.h:185
The StaticEntity is the simplest derivative of the orxonox::WorldEntity class.
Definition: StaticEntity.h:50
std::vector< Billboard * > billboards_
The visible billboards.
Definition: LensFlare.h:181
float getFadeExponent() const
This returns the exponent of the fade-out function.
Definition: LensFlare.h:142
float scale_
Which base scale should the Lens Flare have.
Definition: LensFlare.h:72
Declaration of the Tickable interface.
::std::string string
Definition: gtest-port.h:756
Declaration of GraphicsManager Singleton.
const ColourValue & getColour() const
This returns the current base colour of the billboards.
Definition: LensFlare.h:105
float scale_
this factor is used to scale the billboard to the desired size
Definition: LensFlare.h:183
Ogre::ColourValue colour(const btVector3 &color, btScalar alpha)
Definition: OgreBulletUtils.h:41
void setScale(float scale)
Definition: LensFlare.h:87
bool isFadeOnViewBorder() const
Determine whether the out-of-screen-fade-effect is on or off.
Definition: LensFlare.h:159
xmlelement
Definition: Super.h:519
Billboard * occlusionBillboard_
this is a transparent billboard used solely for the Hardware Occlusion Query
Definition: LensFlare.h:180
Declaration and implementation of several math-functions, typedefs of some Ogre::Math classes to the ...
Definition: Billboard.h:43
This is a nested Class used to easily set properties of the different sublenses of a LensFlare effect...
Definition: LensFlare.h:67
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
Mode
Definition: CorePrereqs.h:102
Shared library macros, enums, constants and forward declarations for the orxonox library ...
std::string material_
Which material should the Lens use, current choices include burst, bursthalo, halo1, halo2, halo3.
Definition: LensFlare.h:70
void setFadeOnViewBorder(bool fadeOnViewBorder)
Turn the out-of-screen-fade-effect on or off.
Definition: LensFlare.h:151
std::vector< Lens > lensConfiguration_
this stores the lensConfiguration
Definition: LensFlare.h:179
unsigned int getFadeResolution() const
This returns the resolution of the out-of-screen-fade-effect.
Definition: LensFlare.h:126
#define _OrxonoxExport
Definition: OrxonoxPrereqs.h:60
void setFadeResolution(unsigned int fadeResolution)
This sets the resolution of the out-of-screen-fade-effect.
Definition: LensFlare.h:119
void setFadeExponent(float exponent)
This sets the exponent of the fade-out function.
Definition: LensFlare.h:135
void setColour(const ColourValue &colour)
This sets the base colour of the billboards.
Definition: LensFlare.h:98
float alpha_
Which base alpha value should the Lens use.
Definition: LensFlare.h:71
ColourValue colour_
this stores the base colour of the light
Definition: LensFlare.h:187
float fadeExponent_
this determines how fast the flare fades away as it gets obstructed
Definition: LensFlare.h:186
Lens(const std::string &material, float alpha, float scale, float position)
Definition: LensFlare.h:74
float position_
This defines how far along the view direction the flare should be positioned, e.g. 0.5 would position the flare halfway between the viewer and the base burst, 0 at the camera, 1 at the burst.
Definition: LensFlare.h:73
The Tickable interface provides a tick(dt) function, that gets called every frame.
Definition: Tickable.h:52
float getScale() const
Definition: LensFlare.h:89
bool fadeOnViewBorder_
should the effect fade out on the border of the view?
Definition: LensFlare.h:184
This class adds a configurable LensFlare effect by adding multiple billboards for the several compone...
Definition: LensFlare.h:61