mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-12 06:12:18 +00:00
Drive the visual styles, bloom and sharpen through the effects port
VisualEffects defines each preset on the renderer and keeps its own records of intensities and parameters, written through to the port, so crossfades, the anime sky fade, bloom and sharpen behave as before. The renderer animates the animated styles. Sensor picks read the style records instead of the renderer's stages. The application renderer now has the effects port and its capabilities.
This commit is contained in:
1 parent
d6b553646e
commit
d0ef3a902b
18 files changed
+375
-186
No files matched your search
@@ -32,6 +32,7 @@
|
||||
"src/render/cesium/ctrlWheelZoom.js",
|
||||
"src/render/input/router.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/infrastructureOverlayEntry.js",
|
||||
"src/sources/infrastructureData.js",
|
||||
"src/queries/heights.js"
|
||||
@@ -640,6 +641,7 @@
|
||||
"modules": [
|
||||
"src/ui/effects.js",
|
||||
"src/ui/visualEffects.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/ui/visualPresets.js",
|
||||
"src/bloom.js",
|
||||
"src/styles/retro.js",
|
||||
@@ -915,6 +917,7 @@
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/render/cesium/cameraInput.js",
|
||||
"src/render/cesium/input.js",
|
||||
@@ -1097,6 +1100,7 @@
|
||||
"src/ui/surfaceKeyboard.js",
|
||||
"src/ui/uiLifetime.js",
|
||||
"src/ui/visualEffects.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/ui/visualInput.js",
|
||||
"src/ui/visualPresets.js",
|
||||
"src/ui/visualSettings.js",
|
||||
@@ -1348,6 +1352,7 @@
|
||||
"src/ui/stores/dataPacks.js",
|
||||
"src/ui/i18n.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
@@ -1447,6 +1452,7 @@
|
||||
"src/ui/unitLabels.js",
|
||||
"src/data/entityRecords.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
@@ -1536,6 +1542,7 @@
|
||||
"src/data/entityRecords.js",
|
||||
"src/data/scenePick.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/render/cesium/follow.js",
|
||||
@@ -1636,6 +1643,7 @@
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/render/cesium/follow.js",
|
||||
"src/render/cesium/cameraInput.js",
|
||||
@@ -1729,6 +1737,7 @@
|
||||
"src/i18n/locales/zh-CN.json",
|
||||
"src/i18n/locales/zh-Hant.json",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
@@ -1783,6 +1792,7 @@
|
||||
"src/ui/unitLabels.js",
|
||||
"src/data/entityRecords.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
@@ -1859,6 +1869,7 @@
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/render/cesium/cameraInput.js",
|
||||
"src/render/cesium/input.js",
|
||||
@@ -1932,6 +1943,7 @@
|
||||
"src/layers/installations/classLabel.js",
|
||||
"src/data/entityRecords.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
@@ -2097,6 +2109,7 @@
|
||||
"src/i18n/locales/zh-CN.json",
|
||||
"src/i18n/locales/zh-Hant.json",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
@@ -2191,6 +2204,7 @@
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/render/cesium/cameraInput.js",
|
||||
"src/render/cesium/input.js",
|
||||
@@ -2285,6 +2299,7 @@
|
||||
"src/data/inputOwnership.js",
|
||||
"src/data/scenePick.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/render/cesium/cameraInput.js",
|
||||
@@ -2347,6 +2362,7 @@
|
||||
"src/i18n/locales/zh-Hant.json",
|
||||
"src/data/entityRecords.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
@@ -2420,6 +2436,7 @@
|
||||
"src/i18n/locales/zh-Hant.json",
|
||||
"src/data/scenePick.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/render/cesium/cameraInput.js",
|
||||
@@ -2475,6 +2492,7 @@
|
||||
"src/i18n/locales/zh-Hant.json",
|
||||
"src/data/scenePick.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/render/cesium/cameraInput.js",
|
||||
@@ -3279,6 +3297,7 @@
|
||||
"src/ui/surfaceKeyboard.js",
|
||||
"src/ui/uiLifetime.js",
|
||||
"src/ui/visualEffects.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/ui/visualInput.js",
|
||||
"src/ui/visualPresets.js",
|
||||
"src/ui/visualSettings.js",
|
||||
@@ -4308,6 +4327,7 @@
|
||||
"src/data/local_data/wof_neighborhoods/files.js",
|
||||
"src/data/entityRecords.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/render/cesium/cameraInput.js",
|
||||
"src/render/cesium/input.js",
|
||||
@@ -4447,6 +4467,7 @@
|
||||
"src/render/cesium/ctrlWheelZoom.js",
|
||||
"src/render/input/router.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/inputOwnership.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/data/scenePick.js"
|
||||
@@ -4552,9 +4573,11 @@
|
||||
"src/ui/rail/rangeValue.js",
|
||||
"src/ui/uiLifetime.js",
|
||||
"src/ui/visualEffects.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/ui/visualInput.js",
|
||||
"src/ui/visualPresets.js",
|
||||
"src/ui/visualSettings.js",
|
||||
"src/render/rendererOf.js",
|
||||
"src/ui/stores/display.js",
|
||||
"src/ui/stores/owners.js",
|
||||
"src/ui/vueRuntime.js",
|
||||
@@ -4720,6 +4743,7 @@
|
||||
"src/data/inputOwnership.js",
|
||||
"src/data/scenePick.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/render/cesium/follow.js",
|
||||
@@ -5072,6 +5096,7 @@
|
||||
"src/i18n/locales/zh-CN.json",
|
||||
"src/i18n/locales/zh-Hant.json",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/render/cesium/cameraInput.js",
|
||||
"src/render/cesium/input.js",
|
||||
@@ -5132,6 +5157,7 @@
|
||||
"src/i18n/locales/zh-CN.json",
|
||||
"src/i18n/locales/zh-Hant.json",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
@@ -5206,6 +5232,7 @@
|
||||
"src/i18n/locales/zh-Hant.json",
|
||||
"src/data/inputOwnership.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
@@ -5315,6 +5342,7 @@
|
||||
"src/data/inputOwnership.js",
|
||||
"src/data/scenePick.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/styles/styleStages.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/render/cesium/follow.js",
|
||||
|
||||
@@ -127,7 +127,7 @@ try {
|
||||
let animeOn = false;
|
||||
for (let i = 0; i < s.postProcessStages.length; i++) {
|
||||
const stage = s.postProcessStages.get(i);
|
||||
if (stage.name === 'godsEyeView_anime')
|
||||
if (stage.name === 'effects_style_anime')
|
||||
animeOn = stage.enabled && stage.uniforms.intensity > 0.99;
|
||||
}
|
||||
return {
|
||||
|
||||
@@ -169,7 +169,7 @@ try {
|
||||
result.bloom.intensityPct === 98 &&
|
||||
snapshot.bloom.intensity === 98 &&
|
||||
manager._visualEffects.bloomIntensity === 98 &&
|
||||
manager._bloomStage.enabled
|
||||
manager.viewer.scene.postProcessStages.bloom.enabled
|
||||
);
|
||||
}),
|
||||
);
|
||||
@@ -183,7 +183,11 @@ try {
|
||||
result.sharpen.intensityPct === 61 &&
|
||||
manager.getVisualState().sharpen.intensity === 61 &&
|
||||
manager._visualEffects.sharpenIntensity === 0.61 &&
|
||||
Math.abs(manager._sharpenStage.uniforms.amount - 1.32) < 1e-9
|
||||
Math.abs(
|
||||
manager.viewer.scene.postProcessStages.getStageByName(
|
||||
'effects_sharpen',
|
||||
).uniforms.amount - 1.32,
|
||||
) < 1e-9
|
||||
);
|
||||
}),
|
||||
);
|
||||
@@ -199,9 +203,10 @@ try {
|
||||
const manager = window.__godsEyeView.styleManager;
|
||||
const effects = manager._visualEffects;
|
||||
manager.setStyle('retro');
|
||||
const owned = [...Object.values(effects.stages), effects.sharpenStage];
|
||||
const collection = manager.viewer.scene.postProcessStages;
|
||||
const previousBloom = effects.previousBloom;
|
||||
const owned = Object.keys(effects.stages).map((name) =>
|
||||
collection.getStageByName(`effects_style_${name}`),
|
||||
);
|
||||
const pending = manager.dispose();
|
||||
const stoppedBeforeAwait =
|
||||
effects.stopped &&
|
||||
@@ -210,12 +215,15 @@ try {
|
||||
await pending;
|
||||
return {
|
||||
stoppedBeforeAwait,
|
||||
removed: owned.every((stage) => !collection.contains(stage)),
|
||||
restored:
|
||||
effects.bloomStage.enabled === previousBloom.enabled &&
|
||||
Object.entries(previousBloom.uniforms).every(
|
||||
([name, value]) => effects.bloomStage.uniforms[name] === value,
|
||||
removed:
|
||||
owned.every(Boolean) &&
|
||||
Object.keys(effects.stages).every(
|
||||
(name) => !collection.getStageByName(`effects_style_${name}`),
|
||||
),
|
||||
// The renderer gives the scene's bloom back when it goes.
|
||||
restored:
|
||||
!collection.bloom.enabled &&
|
||||
!collection.getStageByName('effects_sharpen')?.enabled,
|
||||
};
|
||||
});
|
||||
check(
|
||||
@@ -223,7 +231,7 @@ try {
|
||||
teardown.stoppedBeforeAwait,
|
||||
);
|
||||
check(
|
||||
'UI teardown removes owned stages and restores borrowed bloom',
|
||||
'UI teardown removes its styles and turns bloom and sharpen off',
|
||||
teardown.removed && teardown.restored,
|
||||
);
|
||||
check(
|
||||
|
||||
@@ -150,7 +150,7 @@ try {
|
||||
manager._bloomSlider.focus();
|
||||
return {
|
||||
value: Number(manager._bloomSlider.value),
|
||||
contrast: manager._bloomStage.uniforms.contrast,
|
||||
contrast: manager.viewer.scene.postProcessStages.bloom.uniforms.contrast,
|
||||
};
|
||||
});
|
||||
await page.keyboard.press('ArrowRight');
|
||||
@@ -160,7 +160,8 @@ try {
|
||||
const manager = window.__godsEyeView.styleManager;
|
||||
return (
|
||||
Number(manager._bloomSlider.value) > before.value &&
|
||||
manager._bloomStage.uniforms.contrast < before.contrast
|
||||
manager.viewer.scene.postProcessStages.bloom.uniforms.contrast <
|
||||
before.contrast
|
||||
);
|
||||
}, displayBefore),
|
||||
);
|
||||
@@ -267,13 +268,15 @@ try {
|
||||
const manager = window.__godsEyeView.styleManager;
|
||||
manager._displayBindings._detachDisplayControls();
|
||||
const before = manager.bloomEnabled;
|
||||
const contrast = manager._bloomStage.uniforms.contrast;
|
||||
const contrast =
|
||||
manager.viewer.scene.postProcessStages.bloom.uniforms.contrast;
|
||||
manager._bloomBtn.click();
|
||||
manager._bloomSlider.value = '15';
|
||||
manager._bloomSlider.dispatchEvent(new Event('input', { bubbles: true }));
|
||||
return (
|
||||
manager.bloomEnabled === before &&
|
||||
manager._bloomStage.uniforms.contrast === contrast
|
||||
manager.viewer.scene.postProcessStages.bloom.uniforms.contrast ===
|
||||
contrast
|
||||
);
|
||||
}),
|
||||
);
|
||||
|
||||
Reference in new issue
Block a user