Skip to content

Commit 548f65e

Browse files
committed
added a way to generate shader code from ShaderObjects
added a setAnimateCallback( callback(Node node, double elapsed) ) function to Node ( see test_light.dart ) ShaderObjects have names now. gave the examples consistent naming
1 parent 6d71091 commit 548f65e

30 files changed

Lines changed: 201 additions & 110 deletions

example/index.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
</head>
99

1010
<body>
11-
<br><a href="icosahedron.html">test icosahedron shape</a>
12-
<br><a href="torusknot.html">test torusknot shape</a>
13-
<br><a href="light.html">test lighting shader</a>
14-
<br><a href="testgl.html">Fly inside a transparent torus knot</a>
15-
<br><a href="testobj.html">lightwave obj file viewer</a>
11+
<br><a href="test_icosahedron.html">test icosahedron shape</a>
12+
<br><a href="test_torusknot.html">test torusknot shape</a>
13+
<br><a href="test_light.html">test lighting shader</a>
14+
<br><a href="test_torusknot_camera.html">Fly inside a transparent torusknot</a>
15+
<br><a href="test_obj.html">lightwave obj file viewer</a>
1616
<br><a href="test_sobel.html">test sobel edge detection shader</a>
1717
<br><a href="test_ssao.html">test screen space ambient occlusion (SSAO) shader</a>
1818
</body>

example/test_icosahedron.html

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<title>Icosahedron</title>
6+
</head>
7+
<body style="height:100%; margin: 0; padding: 0">
8+
9+
10+
<canvas id="webgl-canvas" style="border: none; cursor:crosshair; width:100%; height: 100%; display:block;"></canvas>
11+
12+
<script type="application/dart" src="test_icosahedron.dart"></script>
13+
<script src="packages/browser/dart.js"></script>
14+
</body>
15+
</html>
Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,5 @@
11
import 'package:chronosgl/chronosgl.dart';
22

3-
class RotateMesh extends Animatable {
4-
Mesh m;
5-
RotateMesh(this.m);
6-
7-
void animate(double time) {
8-
m.rollLeft(time*0.001);
9-
m.lookLeft(time*0.001);
10-
}
11-
}
12-
13-
143
void main() {
154

165
ChronosGL chronosGL = new ChronosGL('#webgl-canvas');
@@ -35,9 +24,12 @@ void main() {
3524
m.lookUp(1.0);
3625
m.lookLeft(0.7);
3726

38-
chronosGL.animatables['rotate_cube'] = new RotateMesh(m);
27+
m.setAnimateCallback((Node node, double time){
28+
m.rollLeft(time*0.001);
29+
m.lookLeft(time*0.001);
30+
});
3931

40-
ShaderProgram prg = chronosGL.createProgram('Light', createLightShader());
32+
ShaderProgram prg = chronosGL.createProgram(createLightShader());
4133
prg.add(m);
4234

4335
chronosGL.getUtils().addParticles(2000, partiTex.texture);
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<canvas id="webgl-canvas" style="border: none; cursor:crosshair; width:100%; height: 100%; display:block;"></canvas>
1111

12-
<script type="application/dart" src="light.dart"></script>
12+
<script type="application/dart" src="test_light.dart"></script>
1313
<script src="packages/browser/dart.js"></script>
1414
</body>
1515
</html>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import 'package:chronosgl/chronosgl.dart';
33
void main() {
44

55
ChronosGL chronosGL = new ChronosGL('#webgl-canvas');
6-
ShaderProgram prg = chronosGL.createProgram('FixedVertexColor', createFixedVertexColorShader());
6+
ShaderProgram prg = chronosGL.createProgram(createDemoShader());
77
Camera camera = chronosGL.getCamera();
88
camera.setPos( 0.0, 0.0, 56.0 );
99
FlyingCamera fc = new FlyingCamera(camera); // W,A,S,D keys fly
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<body marginheight="0" marginwidth="0" bgcolor="black" id="body" >
88
<canvas id="webgl-canvas" style="border: none; cursor:crosshair; width:100%; height: 100%"></canvas>
99

10-
<script type="application/dart" src="testobj.dart"></script>
10+
<script type="application/dart" src="test_obj.dart"></script>
1111
<script src="packages/browser/dart.js"></script>
1212

1313
</body>

example/test_plasma.dart

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import 'package:chronosgl/chronosgl.dart';
2+
3+
void main() {
4+
5+
ChronosGL chronosGL = new ChronosGL('#webgl-canvas');
6+
7+
ShaderProgram prg = chronosGL.createProgram(createPlasmaShader());
8+
9+
Camera camera = chronosGL.getCamera();
10+
11+
camera.setPos( 0.0, 0.0, 56.0 );
12+
13+
FlyingCamera fc = new FlyingCamera(camera); // W,A,S,D keys fly
14+
chronosGL.addAnimatable('flyingCamera', fc);
15+
16+
MeshData md = chronosGL.getUtils().createCube();
17+
for( int i=0; i<md.vertices.length;i++) {
18+
md.vertices[i] = md.vertices[i]*10;
19+
}
20+
Mesh m = md.createMesh();
21+
m.setPos(0.0, 0.0, -150.0);
22+
m.lookUp(1.0);
23+
m.lookLeft(0.7);
24+
25+
m.setAnimateCallback((Node node, double time){
26+
m.rollLeft(time*0.001);
27+
m.lookLeft(time*0.001);
28+
});
29+
30+
prg.add(m);
31+
chronosGL.run();
32+
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
<html>
33
<head>
44
<meta charset="utf-8">
5-
<title>icosahedron</title>
5+
<title>TestFx2</title>
66
</head>
77
<body style="height:100%; margin: 0; padding: 0">
88

99

1010
<canvas id="webgl-canvas" style="border: none; cursor:crosshair; width:100%; height: 100%; display:block;"></canvas>
1111

12-
<script type="application/dart" src="icosahedron.dart"></script>
12+
<script type="application/dart" src="test_plasma.dart"></script>
1313
<script src="packages/browser/dart.js"></script>
1414
</body>
1515
</html>

example/test_sobel.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import 'package:chronosgl/chronosgl.dart';
33
void main() {
44

55
ChronosGL chronosGL = new ChronosGL('#webgl-canvas', useFramebuffer:true, fxShader: createSobelShader(), near: 0.1, far:2520.0);
6-
ShaderProgram prg = chronosGL.createProgram('FixedVertexColor', createPlane2GreyShader());
6+
ShaderProgram prg = chronosGL.createProgram(createPlane2GreyShader());
77
Camera camera = chronosGL.getCamera();
88
camera.setPos( 0.0, 0.0, 56.0 );
99
FlyingCamera fc = new FlyingCamera(camera); // W,A,S,D keys fly

0 commit comments

Comments
 (0)