mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 19:29:47 +02:00
Exposing the tone curve in the js api
This commit is contained in:
parent
c0faf978f8
commit
1b1365fd40
6 changed files with 55 additions and 2 deletions
|
@ -3703,6 +3703,7 @@ void Application::displaySide(RenderArgs* renderArgs, Camera& theCamera, bool se
|
||||||
renderContext._fxaaStatus = Menu::getInstance()->isOptionChecked(MenuOption::Antialiasing);
|
renderContext._fxaaStatus = Menu::getInstance()->isOptionChecked(MenuOption::Antialiasing);
|
||||||
|
|
||||||
renderContext._toneMappingExposure = sceneInterface->getEngineToneMappingExposure();
|
renderContext._toneMappingExposure = sceneInterface->getEngineToneMappingExposure();
|
||||||
|
renderContext._toneMappingToneCurve = sceneInterface->getEngineToneMappingToneCurveValue();
|
||||||
|
|
||||||
renderArgs->_shouldRender = LODManager::shouldRender;
|
renderArgs->_shouldRender = LODManager::shouldRender;
|
||||||
|
|
||||||
|
|
|
@ -166,6 +166,7 @@ void RenderDeferredTask::run(const SceneContextPointer& sceneContext, const Rend
|
||||||
setAntialiasingStatus(renderContext->_fxaaStatus);
|
setAntialiasingStatus(renderContext->_fxaaStatus);
|
||||||
|
|
||||||
setToneMappingExposure(renderContext->_toneMappingExposure);
|
setToneMappingExposure(renderContext->_toneMappingExposure);
|
||||||
|
setToneMappingToneCurve(renderContext->_toneMappingToneCurve);
|
||||||
|
|
||||||
renderContext->args->_context->syncCache();
|
renderContext->args->_context->syncCache();
|
||||||
|
|
||||||
|
@ -403,8 +404,23 @@ void RenderDeferredTask::setToneMappingExposure(float exposure) {
|
||||||
|
|
||||||
float RenderDeferredTask::getToneMappingExposure() const {
|
float RenderDeferredTask::getToneMappingExposure() const {
|
||||||
if (_toneMappingJobIndex >= 0) {
|
if (_toneMappingJobIndex >= 0) {
|
||||||
_jobs[_toneMappingJobIndex].get<ToneMappingDeferred>()._toneMappingEffect.getExposure();
|
return _jobs[_toneMappingJobIndex].get<ToneMappingDeferred>()._toneMappingEffect.getExposure();
|
||||||
} else {
|
} else {
|
||||||
return 0.0f;
|
return 0.0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RenderDeferredTask::setToneMappingToneCurve(int toneCurve) {
|
||||||
|
if (_toneMappingJobIndex >= 0) {
|
||||||
|
_jobs[_toneMappingJobIndex].edit<ToneMappingDeferred>()._toneMappingEffect.setToneCurve((ToneMappingEffect::ToneCurve)toneCurve);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int RenderDeferredTask::getToneMappingToneCurve() const {
|
||||||
|
if (_toneMappingJobIndex >= 0) {
|
||||||
|
return _jobs[_toneMappingJobIndex].get<ToneMappingDeferred>()._toneMappingEffect.getToneCurve();
|
||||||
|
} else {
|
||||||
|
return 0.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -134,6 +134,9 @@ public:
|
||||||
void setToneMappingExposure(float exposure);
|
void setToneMappingExposure(float exposure);
|
||||||
float getToneMappingExposure() const;
|
float getToneMappingExposure() const;
|
||||||
|
|
||||||
|
void setToneMappingToneCurve(int toneCurve);
|
||||||
|
int getToneMappingToneCurve() const;
|
||||||
|
|
||||||
virtual void run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext);
|
virtual void run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -62,6 +62,7 @@ public:
|
||||||
bool _fxaaStatus = false;
|
bool _fxaaStatus = false;
|
||||||
|
|
||||||
float _toneMappingExposure = 0.0;
|
float _toneMappingExposure = 0.0;
|
||||||
|
int _toneMappingToneCurve = 3;
|
||||||
|
|
||||||
RenderContext() {}
|
RenderContext() {}
|
||||||
};
|
};
|
||||||
|
|
|
@ -167,3 +167,30 @@ void SceneScriptingInterface::clearEngineCounters() {
|
||||||
_numFeedOverlay3DItems = 0;
|
_numFeedOverlay3DItems = 0;
|
||||||
_numDrawnOverlay3DItems = 0;
|
_numDrawnOverlay3DItems = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void SceneScriptingInterface::setEngineToneMappingToneCurve(const QString& toneCurve) {
|
||||||
|
if (toneCurve == QString("None")) {
|
||||||
|
_engineToneMappingToneCurve = 0;
|
||||||
|
} else if (toneCurve == QString("Gamma22")) {
|
||||||
|
_engineToneMappingToneCurve = 1;
|
||||||
|
} else if (toneCurve == QString("Reinhard")) {
|
||||||
|
_engineToneMappingToneCurve = 2;
|
||||||
|
} else if (toneCurve == QString("Filmic")) {
|
||||||
|
_engineToneMappingToneCurve = 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
QString SceneScriptingInterface::getEngineToneMappingToneCurve() const {
|
||||||
|
switch (_engineToneMappingToneCurve) {
|
||||||
|
case 0:
|
||||||
|
return QString("None");
|
||||||
|
case 1:
|
||||||
|
return QString("Gamma22");
|
||||||
|
case 2:
|
||||||
|
return QString("Reinhard");
|
||||||
|
case 3:
|
||||||
|
return QString("Filmic");
|
||||||
|
default:
|
||||||
|
return QString("Filmic");
|
||||||
|
};
|
||||||
|
}
|
|
@ -119,7 +119,11 @@ public:
|
||||||
Q_INVOKABLE bool doEngineDisplayHitEffect() { return _drawHitEffect; }
|
Q_INVOKABLE bool doEngineDisplayHitEffect() { return _drawHitEffect; }
|
||||||
|
|
||||||
Q_INVOKABLE void setEngineToneMappingExposure(float exposure) { _engineToneMappingExposure = exposure; }
|
Q_INVOKABLE void setEngineToneMappingExposure(float exposure) { _engineToneMappingExposure = exposure; }
|
||||||
Q_INVOKABLE float getEngineToneMappingExposure() { return _engineToneMappingExposure; }
|
Q_INVOKABLE float getEngineToneMappingExposure() const { return _engineToneMappingExposure; }
|
||||||
|
|
||||||
|
Q_INVOKABLE void setEngineToneMappingToneCurve(const QString& curve);
|
||||||
|
Q_INVOKABLE QString getEngineToneMappingToneCurve() const;
|
||||||
|
int getEngineToneMappingToneCurveValue() const { return _engineToneMappingToneCurve; }
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void shouldRenderAvatarsChanged(bool shouldRenderAvatars);
|
void shouldRenderAvatarsChanged(bool shouldRenderAvatars);
|
||||||
|
@ -158,6 +162,7 @@ protected:
|
||||||
bool _drawHitEffect = false;
|
bool _drawHitEffect = false;
|
||||||
|
|
||||||
float _engineToneMappingExposure = 0.0f;
|
float _engineToneMappingExposure = 0.0f;
|
||||||
|
int _engineToneMappingToneCurve = 3;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // hifi_SceneScriptingInterface_h
|
#endif // hifi_SceneScriptingInterface_h
|
||||||
|
|
Loading…
Reference in a new issue