mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-19 00:57:35 +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._toneMappingExposure = sceneInterface->getEngineToneMappingExposure();
|
||||
renderContext._toneMappingToneCurve = sceneInterface->getEngineToneMappingToneCurveValue();
|
||||
|
||||
renderArgs->_shouldRender = LODManager::shouldRender;
|
||||
|
||||
|
|
|
@ -166,6 +166,7 @@ void RenderDeferredTask::run(const SceneContextPointer& sceneContext, const Rend
|
|||
setAntialiasingStatus(renderContext->_fxaaStatus);
|
||||
|
||||
setToneMappingExposure(renderContext->_toneMappingExposure);
|
||||
setToneMappingToneCurve(renderContext->_toneMappingToneCurve);
|
||||
|
||||
renderContext->args->_context->syncCache();
|
||||
|
||||
|
@ -403,8 +404,23 @@ void RenderDeferredTask::setToneMappingExposure(float exposure) {
|
|||
|
||||
float RenderDeferredTask::getToneMappingExposure() const {
|
||||
if (_toneMappingJobIndex >= 0) {
|
||||
_jobs[_toneMappingJobIndex].get<ToneMappingDeferred>()._toneMappingEffect.getExposure();
|
||||
return _jobs[_toneMappingJobIndex].get<ToneMappingDeferred>()._toneMappingEffect.getExposure();
|
||||
} else {
|
||||
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);
|
||||
float getToneMappingExposure() const;
|
||||
|
||||
void setToneMappingToneCurve(int toneCurve);
|
||||
int getToneMappingToneCurve() const;
|
||||
|
||||
virtual void run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext);
|
||||
|
||||
|
||||
|
|
|
@ -62,6 +62,7 @@ public:
|
|||
bool _fxaaStatus = false;
|
||||
|
||||
float _toneMappingExposure = 0.0;
|
||||
int _toneMappingToneCurve = 3;
|
||||
|
||||
RenderContext() {}
|
||||
};
|
||||
|
|
|
@ -167,3 +167,30 @@ void SceneScriptingInterface::clearEngineCounters() {
|
|||
_numFeedOverlay3DItems = 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 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:
|
||||
void shouldRenderAvatarsChanged(bool shouldRenderAvatars);
|
||||
|
@ -158,6 +162,7 @@ protected:
|
|||
bool _drawHitEffect = false;
|
||||
|
||||
float _engineToneMappingExposure = 0.0f;
|
||||
int _engineToneMappingToneCurve = 3;
|
||||
};
|
||||
|
||||
#endif // hifi_SceneScriptingInterface_h
|
||||
|
|
Loading…
Reference in a new issue