|
2 | 2 | (function($opal) { |
3 | 3 | var self = $opal.top, $scope = $opal, nil = $opal.nil, $breaker = $opal.breaker, $slice = $opal.slice, $module = $opal.module, $klass = $opal.klass, $hash2 = $opal.hash2; |
4 | 4 |
|
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']); |
6 | 6 | return (function($base) { |
7 | 7 | var self = $module($base, 'Yeah'); |
8 | 8 |
|
|
19 | 19 |
|
20 | 20 | var def = self._proto, $scope = self._scope, $a; |
21 | 21 |
|
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; |
23 | 23 | self.$include((($a = $scope.Opal) == null ? $opal.cm('Opal') : $a)); |
24 | 24 |
|
25 | 25 | $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 | 31 |
|
32 | 32 | self.canvas = (($a = ((($b = $scope.Native) == null ? $opal.cm('Native') : $b))._scope).Object == null ? $a.cm('Object') : $a.Object).$new(document.getElementsByTagName('canvas')[0]); |
33 | 33 | 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()); |
34 | 35 | return self.$setup_shaders(); |
35 | 36 | }; |
36 | 37 |
|
|
53 | 54 | def.$render = function(space) { |
54 | 55 | var $a, $b, TMP_1, self = this; |
55 | 56 |
|
| 57 | + self.meter.$tickStart(); |
56 | 58 | self.gl.$viewport(0, 0, self.canvas.$width(), self.canvas.$height()); |
57 | 59 | 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; |
59 | 61 | if (thing == null) thing = nil; |
60 | 62 | return thing.$visual().$render(self, thing.$position())}, TMP_1._s = self, TMP_1), $a).call($b); |
| 63 | + return self.meter.$tick(); |
61 | 64 | }; |
62 | 65 |
|
63 | 66 | def.$background = function(color) { |
|
0 commit comments