Showing the changes to interface/src/scripting/RenderScriptingInterface.cpp (1 of 5 files). Show all
Unified · Split
| @@ -8,7 +8,6 @@ · 7 unmodified lines | ||
| 8 | 8 | #include "RenderScriptingInterface.h" |
| 9 | 9 | |
| 10 | 10 | #include "LightingModel.h" |
| 11 | −#include "AntialiasingEffect.h" | |
| 12 | 11 | |
| 13 | 12 | |
| 14 | 13 | RenderScriptingInterface* RenderScriptingInterface::getInstance() { |
| @@ -29,13 +28,14 @@ void RenderScriptingInterface::loadSettings() { · 14 unmodified lines | ||
| 29 | 28 | _renderMethod = (_renderMethodSetting.get()); |
| 30 | 29 | _shadowsEnabled = (_shadowsEnabledSetting.get()); |
| 31 | 30 | _ambientOcclusionEnabled = (_ambientOcclusionEnabledSetting.get()); |
| 32 | − _antialiasingEnabled = (_antialiasingEnabledSetting.get()); | |
| 31 | + _antialiasingMode = (_antialiasingModeSetting.get()); | |
| 33 | 32 | _viewportResolutionScale = (_viewportResolutionScaleSetting.get()); |
| 34 | 33 | }); |
| 35 | 34 | forceRenderMethod((RenderMethod)_renderMethod); |
| 36 | 35 | forceShadowsEnabled(_shadowsEnabled); |
| 37 | 36 | forceAmbientOcclusionEnabled(_ambientOcclusionEnabled); |
| 38 | − forceAntialiasingEnabled(_antialiasingEnabled); | |
| 37 | + forceAntialiasingMode(_antialiasingMode); | |
| 38 | + forceAntialiasingMode(_antialiasingMode); | |
| 39 | 39 | forceViewportResolutionScale(_viewportResolutionScale); |
| 40 | 40 | } |
| 41 | 41 | |
| @@ -121,33 +121,45 @@ void RenderScriptingInterface::forceAmbientOcclusionEnabled(bool enabled) { · 79 unmodified lines | ||
| 121 | 121 | }); |
| 122 | 122 | } |
| 123 | 123 | |
| 124 | −bool RenderScriptingInterface::getAntialiasingEnabled() const { | |
| 125 | − return _antialiasingEnabled; | |
| 124 | +AntialiasingConfig::Mode RenderScriptingInterface::getAntialiasingMode() const { | |
| 125 | + return _antialiasingMode; | |
| 126 | 126 | } |
| 127 | 127 | |
| 128 | −void RenderScriptingInterface::setAntialiasingEnabled(bool enabled) { | |
| 129 | − if (_antialiasingEnabled != enabled) { | |
| 130 | − forceAntialiasingEnabled(enabled); | |
| 128 | +void RenderScriptingInterface::setAntialiasingMode(AntialiasingConfig::Mode mode) { | |
| 129 | + if (_antialiasingMode != mode) { | |
| 130 | + forceAntialiasingMode(mode); | |
| 131 | 131 | emit settingsChanged(); |
| 132 | 132 | } |
| 133 | 133 | } |
| 134 | 134 | |
| 135 | −void RenderScriptingInterface::forceAntialiasingEnabled(bool enabled) { | |
| 135 | +void RenderScriptingInterface::forceAntialiasingMode(AntialiasingConfig::Mode mode) { | |
| 136 | 136 | _renderSettingLock.withWriteLock([&] { |
| 137 | − _antialiasingEnabled = (enabled); | |
| 138 | − _antialiasingEnabledSetting.set(enabled); | |
| 137 | + _antialiasingMode = static_cast<AntialiasingConfig::Mode>(mode); | |
| 138 | + _antialiasingModeSetting.set(mode); | |
| 139 | 139 | |
| 140 | 140 | auto mainViewJitterCamConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<JitterSample>("RenderMainView.JitterCam"); |
| 141 | 141 | auto mainViewAntialiasingConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<Antialiasing>("RenderMainView.Antialiasing"); |
| 142 | 142 | if (mainViewJitterCamConfig && mainViewAntialiasingConfig) { |
| 143 | − Menu::getInstance()->setIsOptionChecked(MenuOption::AntiAliasing, enabled); | |
| 144 | − if (enabled) { | |
| 145 | − mainViewJitterCamConfig->play(); | |
| 146 | − mainViewAntialiasingConfig->setDebugFXAA(false); | |
| 147 | − } | |
| 148 | − else { | |
| 149 | − mainViewJitterCamConfig->none(); | |
| 150 | − mainViewAntialiasingConfig->setDebugFXAA(true); | |
| 143 | + Menu::getInstance()->setIsOptionChecked(MenuOption::AntiAliasing, mode); | |
| 144 | + switch (mode) { | |
| 145 | + case AntialiasingConfig::Mode::NONE: | |
| 146 | + mainViewJitterCamConfig->none(); | |
| 147 | + mainViewAntialiasingConfig->setDebugFXAA(false); | |
| 148 | + break; | |
| 149 | + case AntialiasingConfig::TAA: | |
| 150 | + mainViewJitterCamConfig->play(); | |
| 151 | + mainViewAntialiasingConfig->setDebugFXAA(false); | |
| 152 | + break; | |
| 153 | + case AntialiasingConfig::Mode::FXAA: | |
| 154 | + mainViewJitterCamConfig->none(); | |
| 155 | + mainViewAntialiasingConfig->setDebugFXAA(true); | |
| 156 | + break; | |
| 157 | + default: | |
| 158 | + _antialiasingMode = AntialiasingConfig::Mode::NONE; | |
| 159 | + _antialiasingModeSetting.set(AntialiasingConfig::Mode::NONE); | |
| 160 | + mainViewJitterCamConfig->none(); | |
| 161 | + mainViewAntialiasingConfig->setDebugFXAA(false); | |
| 162 | + break; | |
| 151 | 163 | } |
| 152 | 164 | } |
| 153 | 165 | }); |