History

merge old work

HifiExperiments committed 2 years ago

Commit 56f697e1 parent 1fe2fc5165 files · +2635 −1993Browse files

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

Unified · Split

interface/src/scripting/RenderScriptingInterface.cpp+53−30
@@ -19,14 +19,14 @@ STATIC_SCRIPT_TYPES_INITIALIZER((+[](ScriptManager* manager){ · 18 unmodified lines
1919 auto scriptEngine = manager->engine().get();
2020
2121 scriptRegisterMetaType<RenderScriptingInterface::RenderMethod, scriptValueFromEnumClass<RenderScriptingInterface::RenderMethod>, scriptValueToEnumClass<RenderScriptingInterface::RenderMethod> >(scriptEngine, "RenderMethod");
22− scriptRegisterMetaType<AntialiasingConfig::Mode, scriptValueFromEnumClass<AntialiasingConfig::Mode>, scriptValueToEnumClass<AntialiasingConfig::Mode> >(scriptEngine, "Mode");
22+ scriptRegisterMetaType<AntialiasingSetupConfig::Mode, scriptValueFromEnumClass<AntialiasingSetupConfig::Mode>, scriptValueToEnumClass<AntialiasingSetupConfig::Mode> >(scriptEngine, "Mode");
2323 }));
2424
2525 STATIC_SCRIPT_INITIALIZER(+[](ScriptManager* manager){
2626 auto scriptEngine = manager->engine().get();
2727
2828 scriptEngine->registerEnum("Render.RenderMethod",QMetaEnum::fromType<RenderScriptingInterface::RenderMethod>());
29− scriptEngine->registerEnum("AntialiasingMode",QMetaEnum::fromType<AntialiasingConfig::Mode>());
29+ scriptEngine->registerEnum("AntialiasingMode",QMetaEnum::fromType<AntialiasingSetupConfig::Mode>());
3030 });
3131
3232 RenderScriptingInterface* RenderScriptingInterface::getInstance() {
@@ -49,7 +49,7 @@ void RenderScriptingInterface::loadSettings() { · 16 unmodified lines
4949 _shadowsEnabled = (_shadowsEnabledSetting.get());
5050 _ambientOcclusionEnabled = (_ambientOcclusionEnabledSetting.get());
5151 //_antialiasingMode = (_antialiasingModeSetting.get());
52− _antialiasingMode = static_cast<AntialiasingConfig::Mode>(_antialiasingModeSetting.get());
52+ _antialiasingMode = static_cast<AntialiasingSetupConfig::Mode>(_antialiasingModeSetting.get());
5353 _viewportResolutionScale = (_viewportResolutionScaleSetting.get());
5454 _fullScreenScreen = (_fullScreenScreenSetting.get());
5555 });
@@ -84,10 +84,16 @@ void RenderScriptingInterface::forceRenderMethod(RenderMethod renderMethod) { · 28 unmodified lines
8484 _renderMethod = (int)renderMethod;
8585 _renderMethodSetting.set((int)renderMethod);
8686
87− auto config = dynamic_cast<render::SwitchConfig*>(qApp->getRenderEngine()->getConfiguration()->getConfig("RenderMainView.DeferredForwardSwitch"));
87+ auto renderConfig = qApp->getRenderEngine()->getConfiguration();
88+ auto config = dynamic_cast<render::SwitchConfig*>(renderConfig->getConfig("RenderMainView.DeferredForwardSwitch"));
8889 if (config) {
8990 config->setBranch((int)renderMethod);
9091 }
92+
93+ auto secondaryConfig = dynamic_cast<render::SwitchConfig*>(renderConfig->getConfig("RenderSecondView.DeferredForwardSwitch"));
94+ if (secondaryConfig) {
95+ secondaryConfig->setBranch((int)renderMethod);
96+ }
9197 });
9298 }
9399
@@ -111,17 +117,16 @@ void RenderScriptingInterface::forceShadowsEnabled(bool enabled) { · 17 unmodified lines
111117 _renderSettingLock.withWriteLock([&] {
112118 _shadowsEnabled = (enabled);
113119 _shadowsEnabledSetting.set(enabled);
120+ Menu::getInstance()->setIsOptionChecked(MenuOption::Shadows, enabled);
114121
115122 auto renderConfig = qApp->getRenderEngine()->getConfiguration();
116123 assert(renderConfig);
117124 auto lightingModelConfig = renderConfig->getConfig<MakeLightingModel>("RenderMainView.LightingModel");
118125 if (lightingModelConfig) {
119− Menu::getInstance()->setIsOptionChecked(MenuOption::Shadows, enabled);
120126 lightingModelConfig->setShadow(enabled);
121127 }
122128 auto secondaryLightingModelConfig = renderConfig->getConfig<MakeLightingModel>("RenderSecondView.LightingModel");
123129 if (secondaryLightingModelConfig) {
124− Menu::getInstance()->setIsOptionChecked(MenuOption::Shadows, enabled);
125130 secondaryLightingModelConfig->setShadow(enabled);
126131 }
127132 });
@@ -142,63 +147,70 @@ void RenderScriptingInterface::forceAmbientOcclusionEnabled(bool enabled) { · 14 unmodified lines
142147 _renderSettingLock.withWriteLock([&] {
143148 _ambientOcclusionEnabled = (enabled);
144149 _ambientOcclusionEnabledSetting.set(enabled);
150+ Menu::getInstance()->setIsOptionChecked(MenuOption::AmbientOcclusion, enabled);
145151
146− auto lightingModelConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<MakeLightingModel>("RenderMainView.LightingModel");
152+ auto renderConfig = qApp->getRenderEngine()->getConfiguration();
153+ auto lightingModelConfig = renderConfig->getConfig<MakeLightingModel>("RenderMainView.LightingModel");
147154 if (lightingModelConfig) {
148− Menu::getInstance()->setIsOptionChecked(MenuOption::AmbientOcclusion, enabled);
149155 lightingModelConfig->setAmbientOcclusion(enabled);
150156 }
157+
158+ auto secondaryLightingModelConfig = renderConfig->getConfig<MakeLightingModel>("RenderSecondView.LightingModel");
159+ if (secondaryLightingModelConfig) {
160+ secondaryLightingModelConfig->setAmbientOcclusion(enabled);
161+ }
151162 });
152163 }
153164
154−AntialiasingConfig::Mode RenderScriptingInterface::getAntialiasingMode() const {
165+AntialiasingSetupConfig::Mode RenderScriptingInterface::getAntialiasingMode() const {
155166 return _antialiasingMode;
156167 }
157168
158−void RenderScriptingInterface::setAntialiasingMode(AntialiasingConfig::Mode mode) {
169+void RenderScriptingInterface::setAntialiasingMode(AntialiasingSetupConfig::Mode mode) {
159170 if (_antialiasingMode != mode) {
160171 forceAntialiasingMode(mode);
161172 emit settingsChanged();
162173 }
163174 }
164175
165−void setAntialiasingModeForView(AntialiasingConfig::Mode mode, JitterSampleConfig *jitterCamConfig, AntialiasingConfig *antialiasingConfig) {
176+void setAntialiasingModeForView(AntialiasingSetupConfig::Mode mode, AntialiasingSetupConfig *antialiasingSetupConfig, AntialiasingConfig *antialiasingConfig) {
166177 switch (mode) {
167− case AntialiasingConfig::Mode::NONE:
168− jitterCamConfig->none();
178+ case AntialiasingSetupConfig::Mode::NONE:
179+ antialiasingSetupConfig->none();
169180 antialiasingConfig->blend = 1;
170181 antialiasingConfig->setDebugFXAA(false);
171182 break;
172− case AntialiasingConfig::Mode::TAA:
173− jitterCamConfig->play();
183+ case AntialiasingSetupConfig::Mode::TAA:
184+ antialiasingSetupConfig->play();
174185 antialiasingConfig->blend = 0.25;
175186 antialiasingConfig->setDebugFXAA(false);
176187 break;
177− case AntialiasingConfig::Mode::FXAA:
178− jitterCamConfig->none();
188+ case AntialiasingSetupConfig::Mode::FXAA:
189+ antialiasingSetupConfig->none();
179190 antialiasingConfig->blend = 0.25;
180191 antialiasingConfig->setDebugFXAA(true);
181192 break;
182193 default:
183− jitterCamConfig->none();
194+ antialiasingSetupConfig->none();
184195 antialiasingConfig->blend = 1;
185196 antialiasingConfig->setDebugFXAA(false);
186197 break;
187198 }
188199 }
189200
190−void RenderScriptingInterface::forceAntialiasingMode(AntialiasingConfig::Mode mode) {
201+void RenderScriptingInterface::forceAntialiasingMode(AntialiasingSetupConfig::Mode mode) {
191202 _renderSettingLock.withWriteLock([&] {
192203 _antialiasingMode = mode;
193204
194− auto mainViewJitterCamConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<JitterSample>("RenderMainView.JitterCam");
195− auto mainViewAntialiasingConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<Antialiasing>("RenderMainView.Antialiasing");
196− auto secondViewJitterCamConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<JitterSample>("RenderSecondView.JitterCam");
197− auto secondViewAntialiasingConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<Antialiasing>("RenderSecondView.Antialiasing");
198− if (mode != AntialiasingConfig::Mode::NONE
199− && mode != AntialiasingConfig::Mode::TAA
200− && mode != AntialiasingConfig::Mode::FXAA) {
201− _antialiasingMode = AntialiasingConfig::Mode::NONE;
205+ auto renderConfig = qApp->getRenderEngine()->getConfiguration();
206+ auto mainViewJitterCamConfig = renderConfig->getConfig<AntialiasingSetup>("RenderMainView.JitterCam");
207+ auto mainViewAntialiasingConfig = renderConfig->getConfig<Antialiasing>("RenderMainView.Antialiasing");
208+ auto secondViewJitterCamConfig = renderConfig->getConfig<AntialiasingSetup>("RenderSecondView.JitterCam");
209+ auto secondViewAntialiasingConfig = renderConfig->getConfig<Antialiasing>("RenderSecondView.Antialiasing");
210+ if (mode != AntialiasingSetupConfig::Mode::NONE
211+ && mode != AntialiasingSetupConfig::Mode::TAA
212+ && mode != AntialiasingSetupConfig::Mode::FXAA) {
213+ _antialiasingMode = AntialiasingSetupConfig::Mode::NONE;
202214 }
203215 if (mainViewJitterCamConfig && mainViewAntialiasingConfig) {
204216 setAntialiasingModeForView( mode, mainViewJitterCamConfig, mainViewAntialiasingConfig);
@@ -271,7 +283,7 @@ void RenderScriptingInterface::forceViewportResolutionScale(float scale) { · 66 unmodified lines
271283 return;
272284 }
273285 _renderSettingLock.withWriteLock([&] {
274− _viewportResolutionScale = (scale);
286+ _viewportResolutionScale = scale;
275287 _viewportResolutionScaleSetting.set(scale);
276288
277289 auto renderConfig = qApp->getRenderEngine()->getConfiguration();
@@ -279,12 +291,23 @@ void RenderScriptingInterface::forceViewportResolutionScale(float scale) { · 1 unmodified line
279291 auto deferredView = renderConfig->getConfig("RenderMainView.RenderDeferredTask");
280292 // mainView can be null if we're rendering in forward mode
281293 if (deferredView) {
282− deferredView->setProperty("resolutionScale", _viewportResolutionScale);
294+ deferredView->setProperty("resolutionScale", scale);
283295 }
284296 auto forwardView = renderConfig->getConfig("RenderMainView.RenderForwardTask");
285297 // mainView can be null if we're rendering in forward mode
286298 if (forwardView) {
287− forwardView->setProperty("resolutionScale", _viewportResolutionScale);
299+ forwardView->setProperty("resolutionScale", scale);
300+ }
301+
302+ auto deferredSecondView = renderConfig->getConfig("RenderSecondView.RenderDeferredTask");
303+ // mainView can be null if we're rendering in forward mode
304+ if (deferredSecondView) {
305+ deferredSecondView->setProperty("resolutionScale", scale);
306+ }
307+ auto forwardSecondView = renderConfig->getConfig("RenderMainView.RenderForwardTask");
308+ // mainView can be null if we're rendering in forward mode
309+ if (forwardSecondView) {
310+ forwardSecondView->setProperty("resolutionScale", scale);
288311 }
289312 });
290313 }