Skip to content

Commit b69fed9

Browse files
committed
cycle through all plasma shaders
1 parent 80ce867 commit b69fed9

2 files changed

Lines changed: 18 additions & 6 deletions

File tree

example/test_plasma.dart

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
1+
import 'dart:html' as html;
12
import 'package:chronosgl/chronosgl.dart';
23

34
void main() {
45

56
ChronosGL chronosGL = new ChronosGL('#webgl-canvas', useFramebuffer:false, fxShader: createPlasmaShader3());
67

7-
ShaderProgram prg = chronosGL.createProgram(createPlasmaShader());
8+
List<ShaderProgram> prgs = new List<ShaderProgram>();
9+
prgs.add(chronosGL.createProgram(createPlasmaShader()));
10+
prgs.add(chronosGL.createProgram(createPlasmaShader2()));
11+
prgs.add(chronosGL.createProgram(createPlasmaShader3()));
812

913
Camera camera = chronosGL.getCamera();
10-
1114
camera.setPos( 0.0, 0.0, 56.0 );
12-
1315
FlyingCamera fc = new FlyingCamera(camera); // W,A,S,D keys fly
1416
chronosGL.addAnimatable('flyingCamera', fc);
1517

@@ -27,6 +29,16 @@ void main() {
2729
m.lookLeft(time*0.0001);
2830
});
2931

30-
prg.add(m);
32+
prgs[0].add(m);
33+
34+
int pointer = 0;
35+
36+
37+
html.document.addEventListener('keypress', (event) {
38+
prgs[pointer%3].remove(m);
39+
prgs[(pointer+1)%3].add(m);
40+
pointer++;
41+
});
42+
3143
chronosGL.run();
3244
}

lib/src/shader/plasma_shader.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ ShaderObject createPlasmaShader() {
3434
}
3535

3636
ShaderObject createPlasmaShader2() {
37-
ShaderObject shaderObject = new ShaderObject("Plasma");
37+
ShaderObject shaderObject = new ShaderObject("Plasma2");
3838

3939
shaderObject.vertexPositionAttribute = "aVertexPosition";
4040
shaderObject.textureCoordinatesAttribute = "aTextureCoord";
@@ -52,7 +52,7 @@ ShaderObject createPlasmaShader2() {
5252
}
5353

5454
ShaderObject createPlasmaShader3() {
55-
ShaderObject shaderObject = new ShaderObject("Plasma");
55+
ShaderObject shaderObject = new ShaderObject("Plasma3");
5656

5757
shaderObject.vertexPositionAttribute = "aVertexPosition";
5858
shaderObject.textureCoordinatesAttribute = "aTextureCoord";

0 commit comments

Comments
 (0)