Skip to content
Snippets Groups Projects
Commit 4901a1bd authored by Alexander Rose's avatar Alexander Rose
Browse files

rename occlusion scaleFactor to resolutionScale

parent cd194cca
No related branches found
No related tags found
No related merge requests found
...@@ -25,7 +25,7 @@ Note that since we don't clearly distinguish between a public and private interf ...@@ -25,7 +25,7 @@ Note that since we don't clearly distinguish between a public and private interf
- Fix and improve ``canRemap`` handling in ``IntraUnitBonds`` - Fix and improve ``canRemap`` handling in ``IntraUnitBonds``
- Reuse occlusion for secondary passes during multi-sampling - Reuse occlusion for secondary passes during multi-sampling
- Check if marking passes are needed before doing them - Check if marking passes are needed before doing them
- Add ``scaleFactor`` parameter to adjust resolution of occlusion calculation - Add ``resolutionScale`` parameter to allow trading quality of occlusion for performance
## [v3.2.0] - 2022-02-17 ## [v3.2.0] - 2022-02-17
......
...@@ -48,7 +48,7 @@ function occlusionStyle(plugin: PluginContext) { ...@@ -48,7 +48,7 @@ function occlusionStyle(plugin: PluginContext) {
blurKernelSize: 15, blurKernelSize: 15,
radius: 5, radius: 5,
samples: 32, samples: 32,
scaleFactor: 1 resolutionScale: 1
} }, } },
outline: { name: 'on', params: { outline: { name: 'on', params: {
scale: 1.0, scale: 1.0,
......
...@@ -24,7 +24,7 @@ const Canvas3DPresets = { ...@@ -24,7 +24,7 @@ const Canvas3DPresets = {
illustrative: { illustrative: {
canvas3d: <Preset>{ canvas3d: <Preset>{
postprocessing: { postprocessing: {
occlusion: { name: 'on', params: { samples: 32, radius: 6, bias: 1.4, blurKernelSize: 15, scaleFactor: 1 } }, occlusion: { name: 'on', params: { samples: 32, radius: 6, bias: 1.4, blurKernelSize: 15, resolutionScale: 1 } },
outline: { name: 'on', params: { scale: 1, threshold: 0.33, color: Color(0x000000) } } outline: { name: 'on', params: { scale: 1, threshold: 0.33, color: Color(0x000000) } }
}, },
renderer: { renderer: {
...@@ -36,7 +36,7 @@ const Canvas3DPresets = { ...@@ -36,7 +36,7 @@ const Canvas3DPresets = {
occlusion: { occlusion: {
canvas3d: <Preset>{ canvas3d: <Preset>{
postprocessing: { postprocessing: {
occlusion: { name: 'on', params: { samples: 32, radius: 6, bias: 1.4, blurKernelSize: 15, scaleFactor: 1 } }, occlusion: { name: 'on', params: { samples: 32, radius: 6, bias: 1.4, blurKernelSize: 15, resolutionScale: 1 } },
outline: { name: 'off', params: {} } outline: { name: 'off', params: {} }
}, },
renderer: { renderer: {
......
...@@ -249,7 +249,7 @@ export const PostprocessingParams = { ...@@ -249,7 +249,7 @@ export const PostprocessingParams = {
radius: PD.Numeric(5, { min: 0, max: 10, step: 0.1 }, { description: 'Final occlusion radius is 2^x' }), radius: PD.Numeric(5, { min: 0, max: 10, step: 0.1 }, { description: 'Final occlusion radius is 2^x' }),
bias: PD.Numeric(0.8, { min: 0, max: 3, step: 0.1 }), bias: PD.Numeric(0.8, { min: 0, max: 3, step: 0.1 }),
blurKernelSize: PD.Numeric(15, { min: 1, max: 25, step: 2 }), blurKernelSize: PD.Numeric(15, { min: 1, max: 25, step: 2 }),
scaleFactor: PD.Numeric(1, { min: 0.1, max: 1, step: 0.05 }, { description: 'Adjust resolution of occlusion calculation' }), resolutionScale: PD.Numeric(1, { min: 0.1, max: 1, step: 0.05 }, { description: 'Adjust resolution of occlusion calculation' }),
}), }),
off: PD.Group({}) off: PD.Group({})
}, { cycle: true, description: 'Darken occluded crevices with the ambient occlusion effect' }), }, { cycle: true, description: 'Darken occluded crevices with the ambient occlusion effect' }),
...@@ -446,10 +446,10 @@ export class PostprocessingPass { ...@@ -446,10 +446,10 @@ export class PostprocessingPass {
ValueCell.updateIfChanged(this.ssaoBlurSecondPassRenderable.values.dOcclusionKernelSize, this.blurKernelSize); ValueCell.updateIfChanged(this.ssaoBlurSecondPassRenderable.values.dOcclusionKernelSize, this.blurKernelSize);
} }
if (this.downsampleFactor !== props.occlusion.params.scaleFactor) { if (this.downsampleFactor !== props.occlusion.params.resolutionScale) {
needsUpdateSsao = true; needsUpdateSsao = true;
this.downsampleFactor = props.occlusion.params.scaleFactor; this.downsampleFactor = props.occlusion.params.resolutionScale;
this.ssaoScale = this.calcSsaoScale(); this.ssaoScale = this.calcSsaoScale();
const sw = Math.floor(w * this.ssaoScale); const sw = Math.floor(w * this.ssaoScale);
......
...@@ -60,7 +60,7 @@ export class QuickStyles extends PurePluginUIComponent { ...@@ -60,7 +60,7 @@ export class QuickStyles extends PurePluginUIComponent {
}, },
occlusion: { occlusion: {
name: 'on', name: 'on',
params: { bias: 0.8, blurKernelSize: 15, radius: 5, samples: 32, scaleFactor: 1 } params: { bias: 0.8, blurKernelSize: 15, radius: 5, samples: 32, resolutionScale: 1 }
}, },
} }
}); });
...@@ -84,7 +84,7 @@ export class QuickStyles extends PurePluginUIComponent { ...@@ -84,7 +84,7 @@ export class QuickStyles extends PurePluginUIComponent {
name: 'on', name: 'on',
params: pp.occlusion.name === 'on' params: pp.occlusion.name === 'on'
? pp.occlusion.params ? pp.occlusion.params
: { bias: 0.8, blurKernelSize: 15, radius: 5, samples: 32, scaleFactor: 1 } : { bias: 0.8, blurKernelSize: 15, radius: 5, samples: 32, resolutionScale: 1 }
}, },
} }
}); });
......
...@@ -119,7 +119,7 @@ class ViewportScreenshotHelper extends PluginComponent { ...@@ -119,7 +119,7 @@ class ViewportScreenshotHelper extends PluginComponent {
postprocessing: { postprocessing: {
...c.props.postprocessing, ...c.props.postprocessing,
occlusion: aoProps.name === 'on' occlusion: aoProps.name === 'on'
? { name: 'on', params: { ...aoProps.params, samples: 128, scaleFactor: 1 } } ? { name: 'on', params: { ...aoProps.params, samples: 128, resolutionScale: 1 } }
: aoProps : aoProps
}, },
marking: { ...c.props.marking } marking: { ...c.props.marking }
...@@ -143,7 +143,7 @@ class ViewportScreenshotHelper extends PluginComponent { ...@@ -143,7 +143,7 @@ class ViewportScreenshotHelper extends PluginComponent {
postprocessing: { postprocessing: {
...c.props.postprocessing, ...c.props.postprocessing,
occlusion: aoProps.name === 'on' occlusion: aoProps.name === 'on'
? { name: 'on', params: { ...aoProps.params, samples: 128, scaleFactor: 1 } } ? { name: 'on', params: { ...aoProps.params, samples: 128, resolutionScale: 1 } }
: aoProps : aoProps
}, },
marking: { ...c.props.marking } marking: { ...c.props.marking }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment