mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-01-05 19:19:39 -06:00
Enable render global frame number and add as global property
This commit is contained in:
@@ -46,9 +46,11 @@ public:
|
||||
private:
|
||||
void initEyeSeparation();
|
||||
void initSceneFiles();
|
||||
void initShowFrameNumber();
|
||||
|
||||
properties::FloatProperty _eyeSeparation;
|
||||
properties::OptionProperty _scenes;
|
||||
properties::BoolProperty _showFrameNumber;
|
||||
};
|
||||
|
||||
} // namespace openspace
|
||||
|
||||
@@ -117,7 +117,7 @@ public:
|
||||
float globalBlackOutFactor();
|
||||
void setGlobalBlackOutFactor(float factor);
|
||||
void setNAaSamples(int nAaSamples);
|
||||
|
||||
void setShowFrameNumber(bool enabled);
|
||||
|
||||
void setDisableRenderingOnMaster(bool enabled);
|
||||
|
||||
@@ -214,16 +214,19 @@ private:
|
||||
bool _showInfo;
|
||||
bool _showLog;
|
||||
bool _takeScreenshot;
|
||||
bool _showFrameNumber;
|
||||
|
||||
float _globalBlackOutFactor;
|
||||
float _fadeDuration;
|
||||
float _currentFadeTime;
|
||||
int _fadeDirection;
|
||||
int _nAaSamples;
|
||||
unsigned int _frameNumber;
|
||||
|
||||
std::vector<ghoul::opengl::ProgramObject*> _programs;
|
||||
std::vector<std::shared_ptr<ScreenSpaceRenderable>> _screenSpaceRenderables;
|
||||
|
||||
std::shared_ptr<ghoul::fontrendering::Font> _fontBig = nullptr;
|
||||
std::shared_ptr<ghoul::fontrendering::Font> _fontInfo = nullptr;
|
||||
std::shared_ptr<ghoul::fontrendering::Font> _fontDate = nullptr;
|
||||
std::shared_ptr<ghoul::fontrendering::Font> _fontLog = nullptr;
|
||||
|
||||
@@ -38,6 +38,7 @@ namespace openspace {
|
||||
SettingsEngine::SettingsEngine()
|
||||
: _eyeSeparation("eyeSeparation", "Eye Separation" , 0.f, 0.f, 10.f)
|
||||
, _scenes("scenes", "Scene", properties::OptionProperty::DisplayType::DROPDOWN)
|
||||
, _showFrameNumber("showFrameNumber", "Show frame number", false)
|
||||
{
|
||||
setName("Global Properties");
|
||||
}
|
||||
@@ -45,6 +46,7 @@ SettingsEngine::SettingsEngine()
|
||||
void SettingsEngine::initialize() {
|
||||
initEyeSeparation();
|
||||
initSceneFiles();
|
||||
initShowFrameNumber();
|
||||
}
|
||||
|
||||
void SettingsEngine::setModules(std::vector<OpenSpaceModule*> modules) {
|
||||
@@ -61,6 +63,13 @@ void SettingsEngine::initEyeSeparation() {
|
||||
[this]() { OsEng.windowWrapper().setEyeSeparationDistance(_eyeSeparation); });
|
||||
}
|
||||
|
||||
void SettingsEngine::initShowFrameNumber() {
|
||||
addProperty(_showFrameNumber);
|
||||
|
||||
_showFrameNumber.onChange(
|
||||
[this]() { OsEng.renderEngine().setShowFrameNumber(_showFrameNumber.value()); } );
|
||||
}
|
||||
|
||||
void SettingsEngine::initSceneFiles() {
|
||||
addProperty(_scenes);
|
||||
|
||||
|
||||
@@ -128,6 +128,7 @@ RenderEngine::RenderEngine()
|
||||
, _fadeDuration(2.f)
|
||||
, _currentFadeTime(0.f)
|
||||
, _fadeDirection(0)
|
||||
, _frameNumber(0)
|
||||
, _frametimeType(FrametimeType::DtTimeAvg)
|
||||
// , _sgctRenderStatisticsVisible(false)
|
||||
{
|
||||
@@ -180,6 +181,7 @@ void RenderEngine::setRendererFromString(const std::string& renderingMethod) {
|
||||
}
|
||||
|
||||
bool RenderEngine::initialize() {
|
||||
_frameNumber = 0;
|
||||
std::string renderingMethod = DefaultRenderingMethod;
|
||||
|
||||
// If the user specified a rendering method that he would like to use, use that
|
||||
@@ -228,6 +230,7 @@ bool RenderEngine::initialize() {
|
||||
MissionManager::initialize();
|
||||
#endif
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -240,6 +243,8 @@ bool RenderEngine::initializeGL() {
|
||||
OsEng.windowWrapper().setNearFarClippingPlane(0.001f, 1000.f);
|
||||
|
||||
try {
|
||||
const float fontSizeBig = 50.f;
|
||||
_fontBig = OsEng.fontManager().font(KeyFontMono, fontSizeBig);
|
||||
const float fontSizeTime = 15.f;
|
||||
_fontDate = OsEng.fontManager().font(KeyFontMono, fontSizeTime);
|
||||
const float fontSizeMono = 10.f;
|
||||
@@ -409,7 +414,6 @@ void RenderEngine::postSynchronizationPreDraw() {
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
void RenderEngine::render(const glm::mat4& projectionMatrix, const glm::mat4& viewMatrix){
|
||||
_mainCamera->sgctInternal.setViewMatrix(viewMatrix);
|
||||
_mainCamera->sgctInternal.setProjectionMatrix(projectionMatrix);
|
||||
@@ -424,6 +428,18 @@ void RenderEngine::render(const glm::mat4& projectionMatrix, const glm::mat4& vi
|
||||
renderInformation();
|
||||
}
|
||||
}
|
||||
|
||||
glm::vec2 penPosition = glm::vec2(
|
||||
OsEng.windowWrapper().viewportPixelCoordinates().y / 2 - 50,
|
||||
OsEng.windowWrapper().viewportPixelCoordinates().w / 3
|
||||
);
|
||||
|
||||
if(_showFrameNumber) {
|
||||
RenderFontCr(*_fontBig, penPosition, "%i", _frameNumber);
|
||||
}
|
||||
|
||||
_frameNumber++;
|
||||
|
||||
|
||||
for (auto screenSpaceRenderable : _screenSpaceRenderables) {
|
||||
if (screenSpaceRenderable->isEnabled() && screenSpaceRenderable->isReady())
|
||||
@@ -1205,6 +1221,10 @@ void RenderEngine::changeViewPoint(std::string origin) {
|
||||
LFATAL("This function is being misused with an argument of '" << origin << "'");
|
||||
}
|
||||
|
||||
void RenderEngine::setShowFrameNumber(bool enabled){
|
||||
_showFrameNumber = enabled;
|
||||
}
|
||||
|
||||
void RenderEngine::setDisableRenderingOnMaster(bool enabled) {
|
||||
_disableMasterRendering = enabled;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user