Skip to content

Commit 665a38d

Browse files
Improve lighting and postprocessing tests
1 parent b5b805f commit 665a38d

File tree

4 files changed

+29
-4
lines changed

4 files changed

+29
-4
lines changed

tests/lights/ExampleLightingLayer.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ class ExampleLightingLayer extends Polar.Layer {
2121

2222
// Create the sprite's texture.
2323
const checkerboardTexture = new Polar.Texture2D();
24-
checkerboardTexture.loadFromPath('/textures/checkerboard.png');
24+
checkerboardTexture.loadFromPath('/textures/scene.png');
2525

2626
const boxEntity = this.manager.createEntity();
27-
boxEntity.addComponent(new Polar.TransformCP(0, 0, 0, 1, 1));
27+
boxEntity.addComponent(new Polar.TransformCP(0, 0, 0, 16 / 3, 3));
2828
boxEntity.addComponent(new Polar.Texture2DCP(checkerboardTexture));
2929
this.manager.registerComponents(boxEntity);
3030

tests/postprocessing/ExamplePostprocessingLayer.js

+23-2
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ class ExamplePostprocessingLayer extends Polar.Layer {
1919
this.manager.addSystem(new Polar.ParticleSystem());
2020

2121
const e = this.manager.createEntity();
22-
e.addComponent(new Polar.TransformCP());
22+
e.addComponent(new Polar.TransformCP(0, 0, 0, 16/3, 3));
2323
const alphatest = new Polar.Texture2D();
24-
alphatest.loadFromPath('/textures/alphatest.png');
24+
alphatest.loadFromPath('/textures/scene.png');
2525
e.addComponent(new Polar.Texture2DCP(alphatest));
2626
this.manager.registerComponents(e);
2727

@@ -95,6 +95,22 @@ class ExamplePostprocessingLayer extends Polar.Layer {
9595
setupPostprocessingCheckbox('chromatic-aberration-checkbox', 'ChromaticAberration');
9696
setupPostprocessingCheckbox('grain-checkbox', 'Grain');
9797

98+
this.doTrip = false;
99+
document.getElementById('trip-checkbox').addEventListener('change', event => {
100+
if (event.target.checked) {
101+
document.getElementById('blur-h-checkbox').checked = true;
102+
document.getElementById('blur-v-checkbox').checked = true;
103+
document.getElementById('chromatic-aberration-checkbox').checked = true;
104+
Polar.Renderer.enablePostprocessingStage('HorizontalBlur');
105+
Polar.Renderer.enablePostprocessingStage('VerticalBlur');
106+
Polar.Renderer.enablePostprocessingStage('ChromaticAberration');
107+
this.doTrip = true;
108+
}
109+
else {
110+
this.doTrip = false;
111+
}
112+
});
113+
98114
Polar.Renderer.disablePostprocessingStage('Invert');
99115
Polar.Renderer.disablePostprocessingStage('Grayscale');
100116
Polar.Renderer.disablePostprocessingStage('Vignette');
@@ -108,6 +124,11 @@ class ExamplePostprocessingLayer extends Polar.Layer {
108124
this.manager.onUpdate(deltaTime);
109125

110126
Polar.Renderer.setPostprocessingStageUniform('Grain', 'u_Variant', Math.random());
127+
if (this.doTrip) {
128+
Polar.Renderer.setPostprocessingStageUniform('ChromaticAberration', 'u_Intensity', 0.02 * Math.sin(performance.now() / 350));
129+
Polar.Renderer.setPostprocessingStageUniform('HorizontalBlur', 'u_Spread', 5 * Math.sin(performance.now() / 400));
130+
Polar.Renderer.setPostprocessingStageUniform('VerticalBlur', 'u_Spread', 5 * Math.sin(performance.now() / 450));
131+
}
111132
}
112133

113134
onEvent(event) {

tests/postprocessing/index.html

+4
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ <h1>Post-processing</h1>
3939
<input type="checkbox" id="grain-checkbox"/>
4040
<span class="checkmark"></span>
4141
</label>
42+
<label class="checkbox-container">Trip Mode
43+
<input type="checkbox" id="trip-checkbox"/>
44+
<span class="checkmark"></span>
45+
</label>
4246
</div>
4347
</div>
4448

tests/textures/scene.png

8.4 KB
Loading

0 commit comments

Comments
 (0)