History

Hopefully implemented antialiasing setting.

Penguin-Guru committed 5 years ago

Commit 66fdfa41 parent e322d9e5 files · +112 −35Browse files

Showing the changes to interface/src/scripting/RenderScriptingInterface.cpp (1 of 5 files). Show all

Unified · Split

interface/src/scripting/RenderScriptingInterface.cpp+31−19
@@ -8,7 +8,6 @@ · 7 unmodified lines
8#include "RenderScriptingInterface.h"8#include "RenderScriptingInterface.h"
9 9
10#include "LightingModel.h"10#include "LightingModel.h"
11#include "AntialiasingEffect.h"
12 11
13 12
14RenderScriptingInterface* RenderScriptingInterface::getInstance() {13RenderScriptingInterface* RenderScriptingInterface::getInstance() {
@@ -29,13 +28,14 @@ void RenderScriptingInterface::loadSettings() { · 14 unmodified lines
29 _renderMethod = (_renderMethodSetting.get());28 _renderMethod = (_renderMethodSetting.get());
30 _shadowsEnabled = (_shadowsEnabledSetting.get());29 _shadowsEnabled = (_shadowsEnabledSetting.get());
31 _ambientOcclusionEnabled = (_ambientOcclusionEnabledSetting.get());30 _ambientOcclusionEnabled = (_ambientOcclusionEnabledSetting.get());
32 _antialiasingEnabled = (_antialiasingEnabledSetting.get());31 _antialiasingMode = (_antialiasingModeSetting.get());
33 _viewportResolutionScale = (_viewportResolutionScaleSetting.get());32 _viewportResolutionScale = (_viewportResolutionScaleSetting.get());
34 });33 });
35 forceRenderMethod((RenderMethod)_renderMethod);34 forceRenderMethod((RenderMethod)_renderMethod);
36 forceShadowsEnabled(_shadowsEnabled);35 forceShadowsEnabled(_shadowsEnabled);
37 forceAmbientOcclusionEnabled(_ambientOcclusionEnabled);36 forceAmbientOcclusionEnabled(_ambientOcclusionEnabled);
38 forceAntialiasingEnabled(_antialiasingEnabled);37 forceAntialiasingMode(_antialiasingMode);
38 forceAntialiasingMode(_antialiasingMode);
39 forceViewportResolutionScale(_viewportResolutionScale);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
124bool RenderScriptingInterface::getAntialiasingEnabled() const {124AntialiasingConfig::Mode RenderScriptingInterface::getAntialiasingMode() const {
125 return _antialiasingEnabled;125 return _antialiasingMode;
126}126}
127 127
128void RenderScriptingInterface::setAntialiasingEnabled(bool enabled) {128void RenderScriptingInterface::setAntialiasingMode(AntialiasingConfig::Mode mode) {
129 if (_antialiasingEnabled != enabled) {129 if (_antialiasingMode != mode) {
130 forceAntialiasingEnabled(enabled);130 forceAntialiasingMode(mode);
131 emit settingsChanged();131 emit settingsChanged();
132 }132 }
133}133}
134 134
135void RenderScriptingInterface::forceAntialiasingEnabled(bool enabled) {135void RenderScriptingInterface::forceAntialiasingMode(AntialiasingConfig::Mode mode) {
136 _renderSettingLock.withWriteLock([&] {136 _renderSettingLock.withWriteLock([&] {
137 _antialiasingEnabled = (enabled);137 _antialiasingMode = static_cast<AntialiasingConfig::Mode>(mode);
138 _antialiasingEnabledSetting.set(enabled);138 _antialiasingModeSetting.set(mode);
139 139
140 auto mainViewJitterCamConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<JitterSample>("RenderMainView.JitterCam");140 auto mainViewJitterCamConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<JitterSample>("RenderMainView.JitterCam");
141 auto mainViewAntialiasingConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<Antialiasing>("RenderMainView.Antialiasing");141 auto mainViewAntialiasingConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<Antialiasing>("RenderMainView.Antialiasing");
142 if (mainViewJitterCamConfig && mainViewAntialiasingConfig) {142 if (mainViewJitterCamConfig && mainViewAntialiasingConfig) {
143 Menu::getInstance()->setIsOptionChecked(MenuOption::AntiAliasing, enabled);143 Menu::getInstance()->setIsOptionChecked(MenuOption::AntiAliasing, mode);
144 if (enabled) {144 switch (mode) {
145 mainViewJitterCamConfig->play();145 case AntialiasingConfig::Mode::NONE:
146 mainViewAntialiasingConfig->setDebugFXAA(false);146 mainViewJitterCamConfig->none();
147 }147 mainViewAntialiasingConfig->setDebugFXAA(false);
148 else {148 break;
149 mainViewJitterCamConfig->none();149 case AntialiasingConfig::TAA:
150 mainViewAntialiasingConfig->setDebugFXAA(true);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 });