1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-06 00:55:50 +00:00
OpenMW/apps/openmw/mwrender/fogmanager.hpp
2022-09-22 21:35:26 +03:00

41 lines
911 B
C++

#ifndef OPENMW_MWRENDER_FOGMANAGER_H
#define OPENMW_MWRENDER_FOGMANAGER_H
#include <osg/Vec4f>
namespace ESM
{
struct Cell;
}
namespace MWRender
{
class FogManager
{
public:
FogManager();
void configure(float viewDistance, const ESM::Cell* cell);
void configure(float viewDistance, float fogDepth, float underwaterFog, float dlFactor, float dlOffset,
const osg::Vec4f& color);
osg::Vec4f getFogColor(bool isUnderwater) const;
float getFogStart(bool isUnderwater) const;
float getFogEnd(bool isUnderwater) const;
private:
float mLandFogStart;
float mLandFogEnd;
float mUnderwaterFogStart;
float mUnderwaterFogEnd;
osg::Vec4f mFogColor;
bool mDistantFog;
osg::Vec4f mUnderwaterColor;
float mUnderwaterWeight;
float mUnderwaterIndoorFog;
};
}
#endif