1 | ;
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.FrameBuffer = undefined;
|
7 |
|
8 | var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
9 |
|
10 | var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
11 |
|
12 | var _utils = require('../utils');
|
13 |
|
14 | var _scope = require('../scope');
|
15 |
|
16 | var _core = require('../core');
|
17 |
|
18 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
19 |
|
20 | function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
21 |
|
22 | function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
23 |
|
24 | var FrameBuffer = exports.FrameBuffer = function (_Component) {
|
25 | _inherits(FrameBuffer, _Component);
|
26 |
|
27 | _createClass(FrameBuffer, null, [{
|
28 | key: 'defaults',
|
29 | value: function defaults() {
|
30 | return { depth: true };
|
31 | }
|
32 | }]);
|
33 |
|
34 | function FrameBuffer(ctx) {
|
35 | var initialState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
36 |
|
37 | _classCallCheck(this, FrameBuffer);
|
38 |
|
39 | (0, _utils.assignDefaults)(initialState, FrameBuffer.defaults());
|
40 | var getContext = new _scope.ScopedContext(ctx);
|
41 | var fbo = ctx.regl.framebuffer(_extends({}, initialState));
|
42 | var framebuffer = ctx.regl({ framebuffer: fbo });
|
43 | var previousWidth = 0;
|
44 | var previousHeight = 0;
|
45 | return _possibleConstructorReturn(this, (FrameBuffer.__proto__ || Object.getPrototypeOf(FrameBuffer)).call(this, ctx, initialState, new _scope.ScopedContext(ctx, {
|
46 | framebufferPointer: function framebufferPointer() {
|
47 | return framebuffer;
|
48 | }
|
49 | }), function (state, block) {
|
50 | getContext(function (_ref) {
|
51 | var texturePointer = _ref.texturePointer,
|
52 | viewportWidth = _ref.viewportWidth,
|
53 | viewportHeight = _ref.viewportHeight;
|
54 |
|
55 | var width = state.width || viewportWidth;
|
56 | var height = state.height || viewportHeight;
|
57 | if (texturePointer) {
|
58 | texturePointer(_extends({
|
59 | width: width, height: height,
|
60 | wrap: 'clamp', min: 'linear', mag: 'linear' }, state.texture));
|
61 | fbo({ color: texturePointer });
|
62 | }
|
63 |
|
64 | if (previousWidth != width || previousHeight != height) {
|
65 | previousWidth = width;
|
66 | previousHeight = height;
|
67 | fbo.resize(width, height);
|
68 | }
|
69 |
|
70 | framebuffer(block);
|
71 | });
|
72 | }));
|
73 | }
|
74 |
|
75 | return FrameBuffer;
|
76 | }(_core.Component);
|
77 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mcmFtZWJ1ZmZlci9mcmFtZWJ1ZmZlci5qcyJdLCJuYW1lcyI6WyJGcmFtZUJ1ZmZlciIsImRlcHRoIiwiY3R4IiwiaW5pdGlhbFN0YXRlIiwiZGVmYXVsdHMiLCJnZXRDb250ZXh0IiwiZmJvIiwicmVnbCIsImZyYW1lYnVmZmVyIiwicHJldmlvdXNXaWR0aCIsInByZXZpb3VzSGVpZ2h0IiwiZnJhbWVidWZmZXJQb2ludGVyIiwic3RhdGUiLCJibG9jayIsInRleHR1cmVQb2ludGVyIiwidmlld3BvcnRXaWR0aCIsInZpZXdwb3J0SGVpZ2h0Iiwid2lkdGgiLCJoZWlnaHQiLCJ3cmFwIiwibWluIiwibWFnIiwidGV4dHVyZSIsImNvbG9yIiwicmVzaXplIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7Ozs7OztJQUVhQSxXLFdBQUFBLFc7Ozs7OytCQUNPO0FBQUUsYUFBTyxFQUFFQyxPQUFPLElBQVQsRUFBUDtBQUF3Qjs7O0FBQzVDLHVCQUFZQyxHQUFaLEVBQW9DO0FBQUEsUUFBbkJDLFlBQW1CLHVFQUFKLEVBQUk7O0FBQUE7O0FBQ2xDLCtCQUFlQSxZQUFmLEVBQTZCSCxZQUFZSSxRQUFaLEVBQTdCO0FBQ0EsUUFBTUMsYUFBYSx5QkFBa0JILEdBQWxCLENBQW5CO0FBQ0EsUUFBTUksTUFBTUosSUFBSUssSUFBSixDQUFTQyxXQUFULGNBQTBCTCxZQUExQixFQUFaO0FBQ0EsUUFBTUssY0FBY04sSUFBSUssSUFBSixDQUFTLEVBQUVDLGFBQWFGLEdBQWYsRUFBVCxDQUFwQjtBQUNBLFFBQUlHLGdCQUFnQixDQUFwQjtBQUNBLFFBQUlDLGlCQUFpQixDQUFyQjtBQU5rQyxxSEFPNUJSLEdBUDRCLEVBUWhDQyxZQVJnQyxFQVNoQyx5QkFBa0JELEdBQWxCLEVBQXVCO0FBQ3JCUyx3QkFEcUIsZ0NBQ0E7QUFBRSxlQUFPSCxXQUFQO0FBQW9CO0FBRHRCLEtBQXZCLENBVGdDLEVBWWhDLFVBQUNJLEtBQUQsRUFBUUMsS0FBUixFQUFrQjtBQUNoQlIsaUJBQVcsZ0JBQXFEO0FBQUEsWUFBbkRTLGNBQW1ELFFBQW5EQSxjQUFtRDtBQUFBLFlBQW5DQyxhQUFtQyxRQUFuQ0EsYUFBbUM7QUFBQSxZQUFwQkMsY0FBb0IsUUFBcEJBLGNBQW9COztBQUM5RCxZQUFNQyxRQUFRTCxNQUFNSyxLQUFOLElBQWVGLGFBQTdCO0FBQ0EsWUFBTUcsU0FBU04sTUFBTU0sTUFBTixJQUFnQkYsY0FBL0I7QUFDQSxZQUFJRixjQUFKLEVBQW9CO0FBQ2xCQTtBQUNFRyx3QkFERixFQUNTQyxjQURUO0FBRUVDLGtCQUFNLE9BRlIsRUFFaUJDLEtBQUssUUFGdEIsRUFFZ0NDLEtBQUssUUFGckMsSUFFa0RULE1BQU1VLE9BRnhEO0FBSUFoQixjQUFJLEVBQUNpQixPQUFPVCxjQUFSLEVBQUo7QUFDRDs7QUFFRCxZQUFJTCxpQkFBaUJRLEtBQWpCLElBQTBCUCxrQkFBa0JRLE1BQWhELEVBQXdEO0FBQ3REVCwwQkFBZ0JRLEtBQWhCO0FBQ0FQLDJCQUFpQlEsTUFBakI7QUFDQVosY0FBSWtCLE1BQUosQ0FBV1AsS0FBWCxFQUFrQkMsTUFBbEI7QUFDRDs7QUFFRFYsb0JBQVlLLEtBQVo7QUFDRCxPQWxCRDtBQW1CRCxLQWhDK0I7QUFpQ25DIiwiZmlsZSI6ImZyYW1lYnVmZmVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzaWduRGVmYXVsdHMgfSBmcm9tICcuLi91dGlscydcbmltcG9ydCB7IFNjb3BlZENvbnRleHQgfSBmcm9tICcuLi9zY29wZSdcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUnXG5cbmV4cG9ydCBjbGFzcyBGcmFtZUJ1ZmZlciBleHRlbmRzIENvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0cygpIHsgcmV0dXJuIHsgZGVwdGg6IHRydWUgfSB9XG4gIGNvbnN0cnVjdG9yKGN0eCwgaW5pdGlhbFN0YXRlID0ge30pIHtcbiAgICBhc3NpZ25EZWZhdWx0cyhpbml0aWFsU3RhdGUsIEZyYW1lQnVmZmVyLmRlZmF1bHRzKCkpXG4gICAgY29uc3QgZ2V0Q29udGV4dCA9IG5ldyBTY29wZWRDb250ZXh0KGN0eClcbiAgICBjb25zdCBmYm8gPSBjdHgucmVnbC5mcmFtZWJ1ZmZlcih7IC4uLmluaXRpYWxTdGF0ZSB9KVxuICAgIGNvbnN0IGZyYW1lYnVmZmVyID0gY3R4LnJlZ2woeyBmcmFtZWJ1ZmZlcjogZmJvfSlcbiAgICBsZXQgcHJldmlvdXNXaWR0aCA9IDBcbiAgICBsZXQgcHJldmlvdXNIZWlnaHQgPSAwXG4gICAgc3VwZXIoY3R4LFxuICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgbmV3IFNjb3BlZENvbnRleHQoY3R4LCB7XG4gICAgICAgIGZyYW1lYnVmZmVyUG9pbnRlcigpIHsgcmV0dXJuIGZyYW1lYnVmZmVyIH1cbiAgICAgIH0pLFxuICAgICAgKHN0YXRlLCBibG9jaykgPT4ge1xuICAgICAgICBnZXRDb250ZXh0KCh7dGV4dHVyZVBvaW50ZXIsIHZpZXdwb3J0V2lkdGgsIHZpZXdwb3J0SGVpZ2h0fSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHdpZHRoID0gc3RhdGUud2lkdGggfHwgdmlld3BvcnRXaWR0aFxuICAgICAgICAgIGNvbnN0IGhlaWdodCA9IHN0YXRlLmhlaWdodCB8fCB2aWV3cG9ydEhlaWdodFxuICAgICAgICAgIGlmICh0ZXh0dXJlUG9pbnRlcikge1xuICAgICAgICAgICAgdGV4dHVyZVBvaW50ZXIoe1xuICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0LFxuICAgICAgICAgICAgICB3cmFwOiAnY2xhbXAnLCBtaW46ICdsaW5lYXInLCBtYWc6ICdsaW5lYXInLCAuLi5zdGF0ZS50ZXh0dXJlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgZmJvKHtjb2xvcjogdGV4dHVyZVBvaW50ZXJ9KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChwcmV2aW91c1dpZHRoICE9IHdpZHRoIHx8IHByZXZpb3VzSGVpZ2h0ICE9IGhlaWdodCkge1xuICAgICAgICAgICAgcHJldmlvdXNXaWR0aCA9IHdpZHRoXG4gICAgICAgICAgICBwcmV2aW91c0hlaWdodCA9IGhlaWdodFxuICAgICAgICAgICAgZmJvLnJlc2l6ZSh3aWR0aCwgaGVpZ2h0KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGZyYW1lYnVmZmVyKGJsb2NrKVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgfVxufVxuIl19 |
\ | No newline at end of file |