|
45 | 45 | let aoPass, traaPass, blendPassAO, scenePassColor; |
46 | 46 |
|
47 | 47 | const params = { |
| 48 | + samples: 16, |
48 | 49 | distanceExponent: 1, |
49 | 50 | distanceFallOff: 1, |
50 | 51 | radius: 0.25, |
51 | 52 | scale: 1, |
52 | 53 | thickness: 1, |
53 | | - denoised: false, |
54 | | - enabled: true, |
55 | | - denoiseRadius: 5, |
56 | | - lumaPhi: 5, |
57 | | - depthPhi: 5, |
58 | | - normalPhi: 5 |
| 54 | + aoOnly: false |
59 | 55 | }; |
60 | 56 |
|
61 | 57 | init(); |
|
121 | 117 | // traa |
122 | 118 |
|
123 | 119 | traaPass = traa( blendPassAO, scenePassDepth, scenePassVelocity, camera ); |
124 | | - |
125 | 120 | postProcessing.outputNode = traaPass; |
126 | 121 |
|
127 | 122 | // |
|
158 | 153 |
|
159 | 154 | const gui = new GUI(); |
160 | 155 | gui.title( 'AO settings' ); |
161 | | - gui.add( params, 'distanceExponent' ).min( 1 ).max( 4 ).onChange( updateParameters ); |
| 156 | + gui.add( params, 'samples' ).min( 4 ).max( 32 ).step( 1 ).onChange( updateParameters ); |
| 157 | + gui.add( params, 'distanceExponent' ).min( 1 ).max( 2 ).onChange( updateParameters ); |
162 | 158 | gui.add( params, 'distanceFallOff' ).min( 0.01 ).max( 1 ).onChange( updateParameters ); |
163 | 159 | gui.add( params, 'radius' ).min( 0.1 ).max( 1 ).onChange( updateParameters ); |
164 | 160 | gui.add( params, 'scale' ).min( 0.01 ).max( 2 ).onChange( updateParameters ); |
165 | 161 | gui.add( params, 'thickness' ).min( 0.01 ).max( 2 ).onChange( updateParameters ); |
| 162 | + gui.add( params, 'aoOnly' ).onChange( ( value ) => { |
| 163 | + |
| 164 | + if ( value === true ) { |
| 165 | + |
| 166 | + postProcessing.outputNode = aoPass; |
| 167 | + |
| 168 | + } else { |
| 169 | + |
| 170 | + |
| 171 | + postProcessing.outputNode = traaPass; |
| 172 | + |
| 173 | + } |
| 174 | + |
| 175 | + postProcessing.needsUpdate = true; |
| 176 | + |
| 177 | + } ); |
166 | 178 |
|
167 | 179 | } |
168 | 180 |
|
169 | 181 | function updateParameters() { |
170 | 182 |
|
| 183 | + aoPass.samples.value = params.samples; |
171 | 184 | aoPass.distanceExponent.value = params.distanceExponent; |
172 | 185 | aoPass.distanceFallOff.value = params.distanceFallOff; |
173 | 186 | aoPass.radius.value = params.radius; |
|
0 commit comments