Skip to content

Commit dc73d06

Browse files
author
Artur Ostrega
committed
example fps meter
1 parent 108c67d commit dc73d06

File tree

3 files changed

+22
-3
lines changed

3 files changed

+22
-3
lines changed

examples/testbed/fpsmeter.js

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/testbed/player.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
}
2929
</style>
3030

31+
<script src="./fpsmeter.js"></script>
3132
<script src="./opal.js"></script>
3233
<script src="./opal_native.js"></script>
3334
<script src="./yeah.js"></script>

examples/testbed/yeah_web_context.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
(function($opal) {
33
var self = $opal.top, $scope = $opal, nil = $opal.nil, $breaker = $opal.breaker, $slice = $opal.slice, $module = $opal.module, $klass = $opal.klass, $hash2 = $opal.hash2;
44

5-
$opal.add_stubs(['$include', '$new', '$getContext', '$setup_shaders', '$attr_reader', '$[]', '$width', '$height', '$width=', '$height=', '$viewport', '$background', '$each', '$render', '$visual', '$position', '$things', '$rgb', '$clearColor', '$clear', '$COLOR_BUFFER_BIT', '$uniform3f', '$getUniformLocation', '$uniform2f', '$resolution', '$+', '$createBuffer', '$bindBuffer', '$ARRAY_BUFFER', '$bufferData', '$STATIC_DRAW', '$vertexAttribPointer', '$FLOAT', '$drawArrays', '$TRIANGLE_STRIP', '$private', '$createProgram', '$createShader', '$VERTEX_SHADER', '$shaderSource', '$compileShader', '$attachShader', '$FRAGMENT_SHADER', '$linkProgram', '$getProgramParameter', '$LINK_STATUS', '$!', '$getProgramInfoLog', '$puts', '$useProgram', '$getAttribLocation', '$enableVertexAttribArray']);
5+
$opal.add_stubs(['$include', '$new', '$getContext', '$setup_shaders', '$attr_reader', '$[]', '$width', '$height', '$width=', '$height=', '$tickStart', '$viewport', '$background', '$each', '$render', '$visual', '$position', '$things', '$tick', '$rgb', '$clearColor', '$clear', '$COLOR_BUFFER_BIT', '$uniform3f', '$getUniformLocation', '$uniform2f', '$resolution', '$+', '$createBuffer', '$bindBuffer', '$ARRAY_BUFFER', '$bufferData', '$STATIC_DRAW', '$vertexAttribPointer', '$FLOAT', '$drawArrays', '$TRIANGLE_STRIP', '$private', '$createProgram', '$createShader', '$VERTEX_SHADER', '$shaderSource', '$compileShader', '$attachShader', '$FRAGMENT_SHADER', '$linkProgram', '$getProgramParameter', '$LINK_STATUS', '$!', '$getProgramInfoLog', '$puts', '$useProgram', '$getAttribLocation', '$enableVertexAttribArray']);
66
return (function($base) {
77
var self = $module($base, 'Yeah');
88

@@ -19,7 +19,7 @@
1919

2020
var def = self._proto, $scope = self._scope, $a;
2121

22-
def.canvas = def.gl = def.col_loc = def.shader_program = def.pos_loc = nil;
22+
def.canvas = def.meter = def.gl = def.col_loc = def.shader_program = def.pos_loc = nil;
2323
self.$include((($a = $scope.Opal) == null ? $opal.cm('Opal') : $a));
2424

2525
$opal.cdecl($scope, 'VERTEX_SHADER', " attribute vec2 a_position;\n\n uniform vec2 u_resolution;\n\n void main(void) {\n vec2 clipspace = a_position / u_resolution * 2.0 - 1.0;\n\n gl_Position = vec4(clipspace, 0, 1);\n }\n");
@@ -31,6 +31,7 @@
3131

3232
self.canvas = (($a = ((($b = $scope.Native) == null ? $opal.cm('Native') : $b))._scope).Object == null ? $a.cm('Object') : $a.Object).$new(document.getElementsByTagName('canvas')[0]);
3333
self.gl = self.canvas.$getContext("webgl");
34+
self.meter = (($a = ((($b = $scope.Native) == null ? $opal.cm('Native') : $b))._scope).Object == null ? $a.cm('Object') : $a.Object).$new(new FPSMeter());
3435
return self.$setup_shaders();
3536
};
3637

@@ -53,11 +54,13 @@
5354
def.$render = function(space) {
5455
var $a, $b, TMP_1, self = this;
5556

57+
self.meter.$tickStart();
5658
self.gl.$viewport(0, 0, self.canvas.$width(), self.canvas.$height());
5759
self.$background(space.$background());
58-
return ($a = ($b = space.$things()).$each, $a._p = (TMP_1 = function(thing){var self = TMP_1._s || this;
60+
($a = ($b = space.$things()).$each, $a._p = (TMP_1 = function(thing){var self = TMP_1._s || this;
5961
if (thing == null) thing = nil;
6062
return thing.$visual().$render(self, thing.$position())}, TMP_1._s = self, TMP_1), $a).call($b);
63+
return self.meter.$tick();
6164
};
6265

6366
def.$background = function(color) {

0 commit comments

Comments
 (0)