@luma.gl/engine 8.5.10 → 8.6.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/dist/animation/key-frames.d.ts +18 -0
  2. package/dist/animation/key-frames.d.ts.map +1 -0
  3. package/dist/{esm/animation → animation}/key-frames.js +13 -6
  4. package/dist/animation/key-frames.js.map +1 -0
  5. package/dist/animation/timeline.d.ts +51 -0
  6. package/dist/animation/timeline.d.ts.map +1 -0
  7. package/dist/{esm/animation → animation}/timeline.js +10 -5
  8. package/dist/animation/timeline.js.map +1 -0
  9. package/dist/bundle.d.ts +2 -0
  10. package/dist/bundle.d.ts.map +1 -0
  11. package/dist/bundle.js +5 -0
  12. package/dist/bundle.js.map +1 -0
  13. package/dist/geometries/cone-geometry.d.ts +10 -0
  14. package/dist/geometries/cone-geometry.d.ts.map +1 -0
  15. package/dist/{esm/geometries → geometries}/cone-geometry.js +2 -2
  16. package/dist/geometries/cone-geometry.js.map +1 -0
  17. package/dist/geometries/cube-geometry.d.ts +9 -0
  18. package/dist/geometries/cube-geometry.d.ts.map +1 -0
  19. package/dist/{esm/geometries → geometries}/cube-geometry.js +18 -18
  20. package/dist/geometries/cube-geometry.js.map +1 -0
  21. package/dist/geometries/cylinder-geometry.d.ts +10 -0
  22. package/dist/geometries/cylinder-geometry.d.ts.map +1 -0
  23. package/dist/{esm/geometries → geometries}/cylinder-geometry.js +2 -2
  24. package/dist/geometries/cylinder-geometry.js.map +1 -0
  25. package/dist/geometries/ico-sphere-geometry.d.ts +11 -0
  26. package/dist/geometries/ico-sphere-geometry.d.ts.map +1 -0
  27. package/dist/{esm/geometries → geometries}/ico-sphere-geometry.js +2 -2
  28. package/dist/geometries/ico-sphere-geometry.js.map +1 -0
  29. package/dist/geometries/plane-geometry.d.ts +10 -0
  30. package/dist/geometries/plane-geometry.d.ts.map +1 -0
  31. package/dist/{esm/geometries → geometries}/plane-geometry.js +5 -5
  32. package/dist/geometries/plane-geometry.js.map +1 -0
  33. package/dist/geometries/sphere-geometry.d.ts +12 -0
  34. package/dist/geometries/sphere-geometry.d.ts.map +1 -0
  35. package/dist/{esm/geometries → geometries}/sphere-geometry.js +2 -9
  36. package/dist/geometries/sphere-geometry.js.map +1 -0
  37. package/dist/geometries/truncated-cone-geometry.d.ts +13 -0
  38. package/dist/geometries/truncated-cone-geometry.d.ts.map +1 -0
  39. package/dist/{esm/geometries → geometries}/truncated-cone-geometry.js +1 -1
  40. package/dist/geometries/truncated-cone-geometry.js.map +1 -0
  41. package/dist/geometry/geometry-utils.d.ts +2 -0
  42. package/dist/geometry/geometry-utils.d.ts.map +1 -0
  43. package/dist/{esm/geometry → geometry}/geometry-utils.js +0 -0
  44. package/dist/geometry/geometry-utils.js.map +1 -0
  45. package/dist/geometry/geometry.d.ts +44 -0
  46. package/dist/geometry/geometry.d.ts.map +1 -0
  47. package/dist/{esm/geometry → geometry}/geometry.js +28 -19
  48. package/dist/geometry/geometry.js.map +1 -0
  49. package/dist/index.d.ts +16 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +16 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/lib/animation-loop.d.ts +120 -0
  54. package/dist/lib/animation-loop.d.ts.map +1 -0
  55. package/dist/{esm/lib → lib}/animation-loop.js +135 -97
  56. package/dist/lib/animation-loop.js.map +1 -0
  57. package/dist/lib/model-utils.d.ts +4 -0
  58. package/dist/lib/model-utils.d.ts.map +1 -0
  59. package/dist/{esm/lib → lib}/model-utils.js +3 -2
  60. package/dist/lib/model-utils.js.map +1 -0
  61. package/dist/lib/model.d.ts +97 -0
  62. package/dist/lib/model.d.ts.map +1 -0
  63. package/dist/{esm/lib → lib}/model.js +63 -13
  64. package/dist/lib/model.js.map +1 -0
  65. package/dist/lib/program-manager.d.ts +38 -0
  66. package/dist/lib/program-manager.d.ts.map +1 -0
  67. package/dist/{esm/lib → lib}/program-manager.js +22 -10
  68. package/dist/lib/program-manager.js.map +1 -0
  69. package/dist/transform/buffer-transform.d.ts +36 -0
  70. package/dist/transform/buffer-transform.d.ts.map +1 -0
  71. package/dist/{esm/transform → transform}/buffer-transform.js +13 -5
  72. package/dist/transform/buffer-transform.js.map +1 -0
  73. package/dist/transform/texture-transform.d.ts +57 -0
  74. package/dist/transform/texture-transform.d.ts.map +1 -0
  75. package/dist/{esm/transform → transform}/texture-transform.js +48 -16
  76. package/dist/transform/texture-transform.js.map +1 -0
  77. package/dist/transform/transform-shader-utils.d.ts +26 -0
  78. package/dist/transform/transform-shader-utils.d.ts.map +1 -0
  79. package/dist/{esm/transform → transform}/transform-shader-utils.js +38 -46
  80. package/dist/transform/transform-shader-utils.js.map +1 -0
  81. package/dist/transform/transform-types.d.ts +43 -0
  82. package/dist/transform/transform-types.d.ts.map +1 -0
  83. package/dist/transform/transform-types.js +2 -0
  84. package/dist/transform/transform-types.js.map +1 -0
  85. package/dist/transform/transform.d.ts +28 -0
  86. package/dist/transform/transform.d.ts.map +1 -0
  87. package/dist/{esm/transform → transform}/transform.js +39 -34
  88. package/dist/transform/transform.js.map +1 -0
  89. package/dist/utils/clip-space.d.ts +5 -0
  90. package/dist/utils/clip-space.d.ts.map +1 -0
  91. package/dist/{esm/utils → utils}/clip-space.js +3 -17
  92. package/dist/utils/clip-space.js.map +1 -0
  93. package/package.json +10 -10
  94. package/src/animation/{key-frames.js → key-frames.ts} +18 -16
  95. package/src/animation/{timeline.js → timeline.ts} +54 -18
  96. package/src/bundle.ts +4 -0
  97. package/src/geometries/{cone-geometry.js → cone-geometry.ts} +9 -3
  98. package/src/geometries/{cube-geometry.js → cube-geometry.ts} +17 -12
  99. package/src/geometries/cylinder-geometry.ts +20 -0
  100. package/src/geometries/{ico-sphere-geometry.js → ico-sphere-geometry.ts} +10 -3
  101. package/src/geometries/{plane-geometry.js → plane-geometry.ts} +11 -6
  102. package/src/geometries/{sphere-geometry.js → sphere-geometry.ts} +15 -11
  103. package/src/geometries/{truncated-cone-geometry.js → truncated-cone-geometry.ts} +14 -5
  104. package/src/geometry/{geometry-utils.js → geometry-utils.ts} +2 -0
  105. package/src/geometry/{geometry.js → geometry.ts} +47 -34
  106. package/src/index.ts +30 -0
  107. package/src/lib/{animation-loop.js → animation-loop.ts} +237 -130
  108. package/src/lib/{model-utils.js → model-utils.ts} +2 -2
  109. package/src/lib/{model.js → model.ts} +148 -57
  110. package/src/lib/{program-manager.js → program-manager.ts} +46 -26
  111. package/src/transform/{buffer-transform.js → buffer-transform.ts} +40 -24
  112. package/src/transform/{texture-transform.js → texture-transform.ts} +34 -23
  113. package/src/transform/{transform-shader-utils.js → transform-shader-utils.ts} +55 -27
  114. package/src/transform/transform-types.ts +41 -0
  115. package/src/transform/{transform.js → transform.ts} +45 -49
  116. package/src/utils/{clip-space.js → clip-space.ts} +4 -3
  117. package/dist/dist.js +0 -32249
  118. package/dist/dist.min.js +0 -1
  119. package/dist/es5/animation/key-frames.d.ts +0 -19
  120. package/dist/es5/animation/key-frames.js +0 -95
  121. package/dist/es5/animation/key-frames.js.map +0 -1
  122. package/dist/es5/animation/timeline.d.ts +0 -39
  123. package/dist/es5/animation/timeline.js +0 -211
  124. package/dist/es5/animation/timeline.js.map +0 -1
  125. package/dist/es5/bundle.js +0 -9
  126. package/dist/es5/bundle.js.map +0 -1
  127. package/dist/es5/geometries/cone-geometry.d.ts +0 -5
  128. package/dist/es5/geometries/cone-geometry.js +0 -59
  129. package/dist/es5/geometries/cone-geometry.js.map +0 -1
  130. package/dist/es5/geometries/cube-geometry.d.ts +0 -5
  131. package/dist/es5/geometries/cube-geometry.js +0 -75
  132. package/dist/es5/geometries/cube-geometry.js.map +0 -1
  133. package/dist/es5/geometries/cylinder-geometry.d.ts +0 -5
  134. package/dist/es5/geometries/cylinder-geometry.js +0 -55
  135. package/dist/es5/geometries/cylinder-geometry.js.map +0 -1
  136. package/dist/es5/geometries/ico-sphere-geometry.d.ts +0 -5
  137. package/dist/es5/geometries/ico-sphere-geometry.js +0 -217
  138. package/dist/es5/geometries/ico-sphere-geometry.js.map +0 -1
  139. package/dist/es5/geometries/index.d.ts +0 -7
  140. package/dist/es5/geometries/index.js +0 -64
  141. package/dist/es5/geometries/index.js.map +0 -1
  142. package/dist/es5/geometries/plane-geometry.d.ts +0 -5
  143. package/dist/es5/geometries/plane-geometry.js +0 -168
  144. package/dist/es5/geometries/plane-geometry.js.map +0 -1
  145. package/dist/es5/geometries/sphere-geometry.d.ts +0 -5
  146. package/dist/es5/geometries/sphere-geometry.js +0 -152
  147. package/dist/es5/geometries/sphere-geometry.js.map +0 -1
  148. package/dist/es5/geometries/truncated-cone-geometry.d.ts +0 -5
  149. package/dist/es5/geometries/truncated-cone-geometry.js +0 -171
  150. package/dist/es5/geometries/truncated-cone-geometry.js.map +0 -1
  151. package/dist/es5/geometry/geometry-utils.d.ts +0 -1
  152. package/dist/es5/geometry/geometry-utils.js +0 -49
  153. package/dist/es5/geometry/geometry-utils.js.map +0 -1
  154. package/dist/es5/geometry/geometry.d.ts +0 -25
  155. package/dist/es5/geometry/geometry.js +0 -150
  156. package/dist/es5/geometry/geometry.js.map +0 -1
  157. package/dist/es5/index.d.ts +0 -19
  158. package/dist/es5/index.js +0 -128
  159. package/dist/es5/index.js.map +0 -1
  160. package/dist/es5/lib/animation-loop.d.ts +0 -158
  161. package/dist/es5/lib/animation-loop.js +0 -642
  162. package/dist/es5/lib/animation-loop.js.map +0 -1
  163. package/dist/es5/lib/model-utils.d.ts +0 -3
  164. package/dist/es5/lib/model-utils.js +0 -110
  165. package/dist/es5/lib/model-utils.js.map +0 -1
  166. package/dist/es5/lib/model.d.ts +0 -214
  167. package/dist/es5/lib/model.js +0 -584
  168. package/dist/es5/lib/model.js.map +0 -1
  169. package/dist/es5/lib/program-manager.d.ts +0 -79
  170. package/dist/es5/lib/program-manager.js +0 -238
  171. package/dist/es5/lib/program-manager.js.map +0 -1
  172. package/dist/es5/transform/buffer-transform.d.ts +0 -13
  173. package/dist/es5/transform/buffer-transform.js +0 -294
  174. package/dist/es5/transform/buffer-transform.js.map +0 -1
  175. package/dist/es5/transform/resource-transform.d.ts +0 -16
  176. package/dist/es5/transform/texture-transform.d.ts +0 -16
  177. package/dist/es5/transform/texture-transform.js +0 -405
  178. package/dist/es5/transform/texture-transform.js.map +0 -1
  179. package/dist/es5/transform/transform-shader-utils.d.ts +0 -31
  180. package/dist/es5/transform/transform-shader-utils.js +0 -160
  181. package/dist/es5/transform/transform-shader-utils.js.map +0 -1
  182. package/dist/es5/transform/transform.d.ts +0 -33
  183. package/dist/es5/transform/transform.js +0 -274
  184. package/dist/es5/transform/transform.js.map +0 -1
  185. package/dist/es5/utils/clip-space.d.ts +0 -5
  186. package/dist/es5/utils/clip-space.js +0 -72
  187. package/dist/es5/utils/clip-space.js.map +0 -1
  188. package/dist/esm/animation/key-frames.d.ts +0 -19
  189. package/dist/esm/animation/key-frames.js.map +0 -1
  190. package/dist/esm/animation/timeline.d.ts +0 -39
  191. package/dist/esm/animation/timeline.js.map +0 -1
  192. package/dist/esm/bundle.js +0 -7
  193. package/dist/esm/bundle.js.map +0 -1
  194. package/dist/esm/geometries/cone-geometry.d.ts +0 -5
  195. package/dist/esm/geometries/cone-geometry.js.map +0 -1
  196. package/dist/esm/geometries/cube-geometry.d.ts +0 -5
  197. package/dist/esm/geometries/cube-geometry.js.map +0 -1
  198. package/dist/esm/geometries/cylinder-geometry.d.ts +0 -5
  199. package/dist/esm/geometries/cylinder-geometry.js.map +0 -1
  200. package/dist/esm/geometries/ico-sphere-geometry.d.ts +0 -5
  201. package/dist/esm/geometries/ico-sphere-geometry.js.map +0 -1
  202. package/dist/esm/geometries/index.d.ts +0 -7
  203. package/dist/esm/geometries/index.js +0 -8
  204. package/dist/esm/geometries/index.js.map +0 -1
  205. package/dist/esm/geometries/plane-geometry.d.ts +0 -5
  206. package/dist/esm/geometries/plane-geometry.js.map +0 -1
  207. package/dist/esm/geometries/sphere-geometry.d.ts +0 -5
  208. package/dist/esm/geometries/sphere-geometry.js.map +0 -1
  209. package/dist/esm/geometries/truncated-cone-geometry.d.ts +0 -5
  210. package/dist/esm/geometries/truncated-cone-geometry.js.map +0 -1
  211. package/dist/esm/geometry/geometry-utils.d.ts +0 -1
  212. package/dist/esm/geometry/geometry-utils.js.map +0 -1
  213. package/dist/esm/geometry/geometry.d.ts +0 -25
  214. package/dist/esm/geometry/geometry.js.map +0 -1
  215. package/dist/esm/index.d.ts +0 -19
  216. package/dist/esm/index.js +0 -16
  217. package/dist/esm/index.js.map +0 -1
  218. package/dist/esm/lib/animation-loop.d.ts +0 -158
  219. package/dist/esm/lib/animation-loop.js.map +0 -1
  220. package/dist/esm/lib/model-utils.d.ts +0 -3
  221. package/dist/esm/lib/model-utils.js.map +0 -1
  222. package/dist/esm/lib/model.d.ts +0 -214
  223. package/dist/esm/lib/model.js.map +0 -1
  224. package/dist/esm/lib/program-manager.d.ts +0 -79
  225. package/dist/esm/lib/program-manager.js.map +0 -1
  226. package/dist/esm/transform/buffer-transform.d.ts +0 -13
  227. package/dist/esm/transform/buffer-transform.js.map +0 -1
  228. package/dist/esm/transform/resource-transform.d.ts +0 -16
  229. package/dist/esm/transform/texture-transform.d.ts +0 -16
  230. package/dist/esm/transform/texture-transform.js.map +0 -1
  231. package/dist/esm/transform/transform-shader-utils.d.ts +0 -31
  232. package/dist/esm/transform/transform-shader-utils.js.map +0 -1
  233. package/dist/esm/transform/transform.d.ts +0 -33
  234. package/dist/esm/transform/transform.js.map +0 -1
  235. package/dist/esm/utils/clip-space.d.ts +0 -5
  236. package/dist/esm/utils/clip-space.js.map +0 -1
  237. package/src/animation/key-frames.d.ts +0 -19
  238. package/src/animation/timeline.d.ts +0 -39
  239. package/src/bundle.js +0 -7
  240. package/src/geometries/cone-geometry.d.ts +0 -5
  241. package/src/geometries/cube-geometry.d.ts +0 -5
  242. package/src/geometries/cylinder-geometry.d.ts +0 -5
  243. package/src/geometries/cylinder-geometry.js +0 -14
  244. package/src/geometries/ico-sphere-geometry.d.ts +0 -5
  245. package/src/geometries/index.d.ts +0 -7
  246. package/src/geometries/index.js +0 -7
  247. package/src/geometries/plane-geometry.d.ts +0 -5
  248. package/src/geometries/sphere-geometry.d.ts +0 -5
  249. package/src/geometries/truncated-cone-geometry.d.ts +0 -5
  250. package/src/geometry/geometry-utils.d.ts +0 -1
  251. package/src/geometry/geometry.d.ts +0 -25
  252. package/src/index.d.ts +0 -19
  253. package/src/index.js +0 -22
  254. package/src/lib/animation-loop.d.ts +0 -158
  255. package/src/lib/model-utils.d.ts +0 -3
  256. package/src/lib/model.d.ts +0 -214
  257. package/src/lib/program-manager.d.ts +0 -79
  258. package/src/transform/buffer-transform.d.ts +0 -13
  259. package/src/transform/resource-transform.d.ts +0 -16
  260. package/src/transform/texture-transform.d.ts +0 -16
  261. package/src/transform/transform-shader-utils.d.ts +0 -31
  262. package/src/transform/transform.d.ts +0 -33
  263. package/src/utils/clip-space.d.ts +0 -5
@@ -1,16 +0,0 @@
1
- export type TransformDrawOptions = {
2
- attributes?: object;
3
- framebuffer?: any;
4
- uniforms?: object;
5
- discard?: boolean;
6
- parameters?: object;
7
- transformFeedback?: any;
8
- };
9
-
10
- export type TransformModelProps = {
11
- vs: any;
12
- fs: any;
13
- modules: any;
14
- uniforms: any;
15
- inject: any;
16
- };
@@ -1,16 +0,0 @@
1
- import {TransformDrawOptions, TransformModelProps} from './resource-transform';
2
-
3
- export default class TextureTransform {
4
- constructor(gl: WebGLRenderingContext, props?: {});
5
-
6
- updateModelProps(props?: {}): TransformModelProps;
7
-
8
- getDrawOptions(opts?: {}): TransformDrawOptions;
9
-
10
- swap(): boolean;
11
- update(opts?: {}): void;
12
- getTargetTexture(): any;
13
- getData(opts: {packed?: boolean}): any;
14
- getFramebuffer(): any;
15
- delete(): void;
16
- }
@@ -1,405 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
- var _webgl = require("@luma.gl/webgl");
17
-
18
- var _shadertools = require("@luma.gl/shadertools");
19
-
20
- var _transformShaderUtils = require("./transform-shader-utils");
21
-
22
- var _SRC_TEX_PARAMETER_OV;
23
-
24
- var SRC_TEX_PARAMETER_OVERRIDES = (_SRC_TEX_PARAMETER_OV = {}, (0, _defineProperty2.default)(_SRC_TEX_PARAMETER_OV, 10241, 9728), (0, _defineProperty2.default)(_SRC_TEX_PARAMETER_OV, 10240, 9728), (0, _defineProperty2.default)(_SRC_TEX_PARAMETER_OV, 10242, 33071), (0, _defineProperty2.default)(_SRC_TEX_PARAMETER_OV, 10243, 33071), _SRC_TEX_PARAMETER_OV);
25
- var FS_OUTPUT_VARIABLE = 'transform_output';
26
-
27
- var TextureTransform = function () {
28
- function TextureTransform(gl) {
29
- var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
30
- (0, _classCallCheck2.default)(this, TextureTransform);
31
- this.gl = gl;
32
- this.id = this.currentIndex = 0;
33
- this._swapTexture = null;
34
- this.targetTextureVarying = null;
35
- this.targetTextureType = null;
36
- this.samplerTextureMap = null;
37
- this.bindings = [];
38
- this.resources = {};
39
-
40
- this._initialize(props);
41
-
42
- Object.seal(this);
43
- }
44
-
45
- (0, _createClass2.default)(TextureTransform, [{
46
- key: "updateModelProps",
47
- value: function updateModelProps() {
48
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
49
-
50
- var updatedModelProps = this._processVertexShader(props);
51
-
52
- return Object.assign({}, props, updatedModelProps);
53
- }
54
- }, {
55
- key: "getDrawOptions",
56
- value: function getDrawOptions() {
57
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
58
- var _this$bindings$this$c = this.bindings[this.currentIndex],
59
- sourceBuffers = _this$bindings$this$c.sourceBuffers,
60
- sourceTextures = _this$bindings$this$c.sourceTextures,
61
- framebuffer = _this$bindings$this$c.framebuffer,
62
- targetTexture = _this$bindings$this$c.targetTexture;
63
- var attributes = Object.assign({}, sourceBuffers, opts.attributes);
64
- var uniforms = Object.assign({}, opts.uniforms);
65
- var parameters = Object.assign({}, opts.parameters);
66
- var discard = opts.discard;
67
-
68
- if (this.hasSourceTextures || this.hasTargetTexture) {
69
- attributes.transform_elementID = this.elementIDBuffer;
70
-
71
- for (var sampler in this.samplerTextureMap) {
72
- var textureName = this.samplerTextureMap[sampler];
73
- uniforms[sampler] = sourceTextures[textureName];
74
- }
75
-
76
- this._setSourceTextureParameters();
77
-
78
- var sizeUniforms = (0, _transformShaderUtils.getSizeUniforms)({
79
- sourceTextureMap: sourceTextures,
80
- targetTextureVarying: this.targetTextureVarying,
81
- targetTexture: targetTexture
82
- });
83
- Object.assign(uniforms, sizeUniforms);
84
- }
85
-
86
- if (this.hasTargetTexture) {
87
- discard = false;
88
- parameters.viewport = [0, 0, framebuffer.width, framebuffer.height];
89
- }
90
-
91
- return {
92
- attributes: attributes,
93
- framebuffer: framebuffer,
94
- uniforms: uniforms,
95
- discard: discard,
96
- parameters: parameters
97
- };
98
- }
99
- }, {
100
- key: "swap",
101
- value: function swap() {
102
- if (this._swapTexture) {
103
- this.currentIndex = this._getNextIndex();
104
- return true;
105
- }
106
-
107
- return false;
108
- }
109
- }, {
110
- key: "update",
111
- value: function update() {
112
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
113
-
114
- this._setupTextures(opts);
115
- }
116
- }, {
117
- key: "getTargetTexture",
118
- value: function getTargetTexture() {
119
- var targetTexture = this.bindings[this.currentIndex].targetTexture;
120
- return targetTexture;
121
- }
122
- }, {
123
- key: "getData",
124
- value: function getData() {
125
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
126
- _ref$packed = _ref.packed,
127
- packed = _ref$packed === void 0 ? false : _ref$packed;
128
-
129
- var framebuffer = this.bindings[this.currentIndex].framebuffer;
130
- var pixels = (0, _webgl.readPixelsToArray)(framebuffer);
131
-
132
- if (!packed) {
133
- return pixels;
134
- }
135
-
136
- var ArrayType = pixels.constructor;
137
- var channelCount = (0, _shadertools.typeToChannelCount)(this.targetTextureType);
138
- var packedPixels = new ArrayType(pixels.length * channelCount / 4);
139
- var packCount = 0;
140
-
141
- for (var i = 0; i < pixels.length; i += 4) {
142
- for (var j = 0; j < channelCount; j++) {
143
- packedPixels[packCount++] = pixels[i + j];
144
- }
145
- }
146
-
147
- return packedPixels;
148
- }
149
- }, {
150
- key: "getFramebuffer",
151
- value: function getFramebuffer() {
152
- var currentResources = this.bindings[this.currentIndex];
153
- return currentResources.framebuffer;
154
- }
155
- }, {
156
- key: "delete",
157
- value: function _delete() {
158
- if (this.ownTexture) {
159
- this.ownTexture.delete();
160
- }
161
-
162
- if (this.elementIDBuffer) {
163
- this.elementIDBuffer.delete();
164
- }
165
- }
166
- }, {
167
- key: "_initialize",
168
- value: function _initialize() {
169
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
170
- var _targetTextureVarying = props._targetTextureVarying,
171
- _swapTexture = props._swapTexture;
172
- this._swapTexture = _swapTexture;
173
- this.targetTextureVarying = _targetTextureVarying;
174
- this.hasTargetTexture = _targetTextureVarying;
175
-
176
- this._setupTextures(props);
177
- }
178
- }, {
179
- key: "_createTargetTexture",
180
- value: function _createTargetTexture(props) {
181
- var sourceTextures = props.sourceTextures,
182
- textureOrReference = props.textureOrReference;
183
-
184
- if (textureOrReference instanceof _webgl.Texture2D) {
185
- return textureOrReference;
186
- }
187
-
188
- var refTexture = sourceTextures[textureOrReference];
189
-
190
- if (!refTexture) {
191
- return null;
192
- }
193
-
194
- this._targetRefTexName = textureOrReference;
195
- return this._createNewTexture(refTexture);
196
- }
197
- }, {
198
- key: "_setupTextures",
199
- value: function _setupTextures() {
200
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
201
-
202
- var sourceBuffers = props.sourceBuffers,
203
- _props$_sourceTexture = props._sourceTextures,
204
- _sourceTextures = _props$_sourceTexture === void 0 ? {} : _props$_sourceTexture,
205
- _targetTexture = props._targetTexture;
206
-
207
- var targetTexture = this._createTargetTexture({
208
- sourceTextures: _sourceTextures,
209
- textureOrReference: _targetTexture
210
- });
211
-
212
- this.hasSourceTextures = this.hasSourceTextures || _sourceTextures && Object.keys(_sourceTextures).length > 0;
213
-
214
- this._updateBindings({
215
- sourceBuffers: sourceBuffers,
216
- sourceTextures: _sourceTextures,
217
- targetTexture: targetTexture
218
- });
219
-
220
- if ('elementCount' in props) {
221
- this._updateElementIDBuffer(props.elementCount);
222
- }
223
- }
224
- }, {
225
- key: "_updateElementIDBuffer",
226
- value: function _updateElementIDBuffer(elementCount) {
227
- if (typeof elementCount !== 'number' || this.elementCount >= elementCount) {
228
- return;
229
- }
230
-
231
- var elementIds = new Float32Array(elementCount);
232
- elementIds.forEach(function (_, index, array) {
233
- array[index] = index;
234
- });
235
-
236
- if (!this.elementIDBuffer) {
237
- this.elementIDBuffer = new _webgl.Buffer(this.gl, {
238
- data: elementIds,
239
- accessor: {
240
- size: 1
241
- }
242
- });
243
- } else {
244
- this.elementIDBuffer.setData({
245
- data: elementIds
246
- });
247
- }
248
-
249
- this.elementCount = elementCount;
250
- }
251
- }, {
252
- key: "_updateBindings",
253
- value: function _updateBindings(opts) {
254
- this.bindings[this.currentIndex] = this._updateBinding(this.bindings[this.currentIndex], opts);
255
-
256
- if (this._swapTexture) {
257
- var _this$_swapTextures = this._swapTextures(this.bindings[this.currentIndex]),
258
- sourceTextures = _this$_swapTextures.sourceTextures,
259
- targetTexture = _this$_swapTextures.targetTexture;
260
-
261
- var nextIndex = this._getNextIndex();
262
-
263
- this.bindings[nextIndex] = this._updateBinding(this.bindings[nextIndex], {
264
- sourceTextures: sourceTextures,
265
- targetTexture: targetTexture
266
- });
267
- }
268
- }
269
- }, {
270
- key: "_updateBinding",
271
- value: function _updateBinding(binding, opts) {
272
- var sourceBuffers = opts.sourceBuffers,
273
- sourceTextures = opts.sourceTextures,
274
- targetTexture = opts.targetTexture;
275
-
276
- if (!binding) {
277
- binding = {
278
- sourceBuffers: {},
279
- sourceTextures: {},
280
- targetTexture: null
281
- };
282
- }
283
-
284
- Object.assign(binding.sourceTextures, sourceTextures);
285
- Object.assign(binding.sourceBuffers, sourceBuffers);
286
-
287
- if (targetTexture) {
288
- binding.targetTexture = targetTexture;
289
- var width = targetTexture.width,
290
- height = targetTexture.height;
291
- var _binding = binding,
292
- framebuffer = _binding.framebuffer;
293
-
294
- if (framebuffer) {
295
- framebuffer.update({
296
- attachments: (0, _defineProperty2.default)({}, 36064, targetTexture),
297
- resizeAttachments: false
298
- });
299
- framebuffer.resize({
300
- width: width,
301
- height: height
302
- });
303
- } else {
304
- binding.framebuffer = new _webgl.Framebuffer(this.gl, {
305
- id: "transform-framebuffer",
306
- width: width,
307
- height: height,
308
- attachments: (0, _defineProperty2.default)({}, 36064, targetTexture)
309
- });
310
- }
311
- }
312
-
313
- return binding;
314
- }
315
- }, {
316
- key: "_setSourceTextureParameters",
317
- value: function _setSourceTextureParameters() {
318
- var index = this.currentIndex;
319
- var sourceTextures = this.bindings[index].sourceTextures;
320
-
321
- for (var name in sourceTextures) {
322
- sourceTextures[name].setParameters(SRC_TEX_PARAMETER_OVERRIDES);
323
- }
324
- }
325
- }, {
326
- key: "_swapTextures",
327
- value: function _swapTextures(opts) {
328
- if (!this._swapTexture) {
329
- return null;
330
- }
331
-
332
- var sourceTextures = Object.assign({}, opts.sourceTextures);
333
- sourceTextures[this._swapTexture] = opts.targetTexture;
334
- var targetTexture = opts.sourceTextures[this._swapTexture];
335
- return {
336
- sourceTextures: sourceTextures,
337
- targetTexture: targetTexture
338
- };
339
- }
340
- }, {
341
- key: "_createNewTexture",
342
- value: function _createNewTexture(refTexture) {
343
- var _parameters;
344
-
345
- var texture = (0, _webgl.cloneTextureFrom)(refTexture, {
346
- parameters: (_parameters = {}, (0, _defineProperty2.default)(_parameters, 10241, 9728), (0, _defineProperty2.default)(_parameters, 10240, 9728), (0, _defineProperty2.default)(_parameters, 10242, 33071), (0, _defineProperty2.default)(_parameters, 10243, 33071), _parameters),
347
- pixelStore: (0, _defineProperty2.default)({}, 37440, false)
348
- });
349
-
350
- if (this.ownTexture) {
351
- this.ownTexture.delete();
352
- }
353
-
354
- this.ownTexture = texture;
355
- return texture;
356
- }
357
- }, {
358
- key: "_getNextIndex",
359
- value: function _getNextIndex() {
360
- return (this.currentIndex + 1) % 2;
361
- }
362
- }, {
363
- key: "_processVertexShader",
364
- value: function _processVertexShader() {
365
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
366
- var _this$bindings$this$c2 = this.bindings[this.currentIndex],
367
- sourceTextures = _this$bindings$this$c2.sourceTextures,
368
- targetTexture = _this$bindings$this$c2.targetTexture;
369
-
370
- var _updateForTextures = (0, _transformShaderUtils.updateForTextures)({
371
- vs: props.vs,
372
- sourceTextureMap: sourceTextures,
373
- targetTextureVarying: this.targetTextureVarying,
374
- targetTexture: targetTexture
375
- }),
376
- vs = _updateForTextures.vs,
377
- uniforms = _updateForTextures.uniforms,
378
- targetTextureType = _updateForTextures.targetTextureType,
379
- inject = _updateForTextures.inject,
380
- samplerTextureMap = _updateForTextures.samplerTextureMap;
381
-
382
- var combinedInject = (0, _shadertools.combineInjects)([props.inject || {}, inject]);
383
- this.targetTextureType = targetTextureType;
384
- this.samplerTextureMap = samplerTextureMap;
385
- var fs = props._fs || (0, _shadertools.getPassthroughFS)({
386
- version: (0, _webgl.getShaderVersion)(vs),
387
- input: this.targetTextureVarying,
388
- inputType: targetTextureType,
389
- output: FS_OUTPUT_VARIABLE
390
- });
391
- var modules = this.hasSourceTextures || this.targetTextureVarying ? [_shadertools._transform].concat(props.modules || []) : props.modules;
392
- return {
393
- vs: vs,
394
- fs: fs,
395
- modules: modules,
396
- uniforms: uniforms,
397
- inject: combinedInject
398
- };
399
- }
400
- }]);
401
- return TextureTransform;
402
- }();
403
-
404
- exports.default = TextureTransform;
405
- //# sourceMappingURL=texture-transform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/transform/texture-transform.js"],"names":["SRC_TEX_PARAMETER_OVERRIDES","FS_OUTPUT_VARIABLE","TextureTransform","gl","props","id","currentIndex","_swapTexture","targetTextureVarying","targetTextureType","samplerTextureMap","bindings","resources","_initialize","Object","seal","updatedModelProps","_processVertexShader","assign","opts","sourceBuffers","sourceTextures","framebuffer","targetTexture","attributes","uniforms","parameters","discard","hasSourceTextures","hasTargetTexture","transform_elementID","elementIDBuffer","sampler","textureName","_setSourceTextureParameters","sizeUniforms","sourceTextureMap","viewport","width","height","_getNextIndex","_setupTextures","packed","pixels","ArrayType","constructor","channelCount","packedPixels","length","packCount","i","j","currentResources","ownTexture","delete","_targetTextureVarying","textureOrReference","Texture2D","refTexture","_targetRefTexName","_createNewTexture","_sourceTextures","_targetTexture","_createTargetTexture","keys","_updateBindings","_updateElementIDBuffer","elementCount","elementIds","Float32Array","forEach","_","index","array","Buffer","data","accessor","size","setData","_updateBinding","_swapTextures","nextIndex","binding","update","attachments","resizeAttachments","resize","Framebuffer","name","setParameters","texture","pixelStore","vs","inject","combinedInject","fs","_fs","version","input","inputType","output","modules","transformModule","concat"],"mappings":"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","sourcesContent":["/** @typedef {import('./transform').TransformProps} TransformProps */\nimport GL from '@luma.gl/constants';\n\nimport {\n cloneTextureFrom,\n readPixelsToArray,\n getShaderVersion,\n Buffer,\n Texture2D,\n Framebuffer\n} from '@luma.gl/webgl';\n\nimport {\n _transform as transformModule,\n getPassthroughFS,\n typeToChannelCount,\n combineInjects\n} from '@luma.gl/shadertools';\n\nimport {updateForTextures, getSizeUniforms} from './transform-shader-utils';\n\n// TODO: move these constants to transform-shader-utils\n// Texture parameters needed so sample can precisely pick pixel for given element id.\nconst SRC_TEX_PARAMETER_OVERRIDES = {\n [GL.TEXTURE_MIN_FILTER]: GL.NEAREST,\n [GL.TEXTURE_MAG_FILTER]: GL.NEAREST,\n [GL.TEXTURE_WRAP_S]: GL.CLAMP_TO_EDGE,\n [GL.TEXTURE_WRAP_T]: GL.CLAMP_TO_EDGE\n};\nconst FS_OUTPUT_VARIABLE = 'transform_output';\n\nexport default class TextureTransform {\n constructor(gl, props = {}) {\n this.gl = gl;\n this.id = this.currentIndex = 0;\n this._swapTexture = null;\n this.targetTextureVarying = null;\n this.targetTextureType = null;\n this.samplerTextureMap = null;\n this.bindings = []; // each element is an object : {sourceTextures, targetTexture, framebuffer}\n\n this.resources = {}; // resources to be deleted\n\n this._initialize(props);\n Object.seal(this);\n }\n\n updateModelProps(props = {}) {\n const updatedModelProps = this._processVertexShader(props);\n return Object.assign({}, props, updatedModelProps);\n }\n\n getDrawOptions(opts = {}) {\n const {sourceBuffers, sourceTextures, framebuffer, targetTexture} = this.bindings[\n this.currentIndex\n ];\n\n const attributes = Object.assign({}, sourceBuffers, opts.attributes);\n const uniforms = Object.assign({}, opts.uniforms);\n const parameters = Object.assign({}, opts.parameters);\n let discard = opts.discard;\n\n if (this.hasSourceTextures || this.hasTargetTexture) {\n attributes.transform_elementID = this.elementIDBuffer;\n\n for (const sampler in this.samplerTextureMap) {\n const textureName = this.samplerTextureMap[sampler];\n uniforms[sampler] = sourceTextures[textureName];\n }\n this._setSourceTextureParameters();\n // get texture size uniforms\n const sizeUniforms = getSizeUniforms({\n sourceTextureMap: sourceTextures,\n targetTextureVarying: this.targetTextureVarying,\n targetTexture\n });\n Object.assign(uniforms, sizeUniforms);\n }\n\n if (this.hasTargetTexture) {\n discard = false;\n parameters.viewport = [0, 0, framebuffer.width, framebuffer.height];\n }\n\n return {attributes, framebuffer, uniforms, discard, parameters};\n }\n\n swap() {\n if (this._swapTexture) {\n this.currentIndex = this._getNextIndex();\n return true;\n }\n return false;\n }\n\n // update source and/or feedbackBuffers\n update(opts = {}) {\n this._setupTextures(opts);\n }\n\n // returns current target texture\n getTargetTexture() {\n const {targetTexture} = this.bindings[this.currentIndex];\n return targetTexture;\n }\n\n getData({packed = false} = {}) {\n const {framebuffer} = this.bindings[this.currentIndex];\n const pixels = readPixelsToArray(framebuffer);\n\n if (!packed) {\n return pixels;\n }\n\n // readPixels returns 4 elements for each pixel, pack the elements when requested\n const ArrayType = pixels.constructor;\n const channelCount = typeToChannelCount(this.targetTextureType);\n // @ts-ignore\n const packedPixels = new ArrayType((pixels.length * channelCount) / 4);\n let packCount = 0;\n for (let i = 0; i < pixels.length; i += 4) {\n for (let j = 0; j < channelCount; j++) {\n packedPixels[packCount++] = pixels[i + j];\n }\n }\n return packedPixels;\n }\n\n // returns current framebuffer object that is being used.\n getFramebuffer() {\n const currentResources = this.bindings[this.currentIndex];\n return currentResources.framebuffer;\n }\n\n // Delete owned resources.\n delete() {\n if (this.ownTexture) {\n this.ownTexture.delete();\n }\n if (this.elementIDBuffer) {\n this.elementIDBuffer.delete();\n }\n }\n\n // Private\n\n _initialize(props = {}) {\n const {_targetTextureVarying, _swapTexture} = props;\n this._swapTexture = _swapTexture;\n this.targetTextureVarying = _targetTextureVarying;\n this.hasTargetTexture = _targetTextureVarying;\n this._setupTextures(props);\n }\n\n // auto create target texture if requested\n _createTargetTexture(props) {\n const {sourceTextures, textureOrReference} = props;\n if (textureOrReference instanceof Texture2D) {\n return textureOrReference;\n }\n // 'targetTexture' is a reference souce texture.\n const refTexture = sourceTextures[textureOrReference];\n if (!refTexture) {\n return null;\n }\n\n // save reference texture name, when corresponding source texture is updated\n // we also update target texture.\n this._targetRefTexName = textureOrReference;\n\n return this._createNewTexture(refTexture);\n }\n\n /** @param {TransformProps} props */\n _setupTextures(props = {}) {\n const {sourceBuffers, _sourceTextures = {}, _targetTexture} = props;\n const targetTexture = this._createTargetTexture({\n sourceTextures: _sourceTextures,\n textureOrReference: _targetTexture\n });\n this.hasSourceTextures =\n this.hasSourceTextures || (_sourceTextures && Object.keys(_sourceTextures).length > 0);\n this._updateBindings({sourceBuffers, sourceTextures: _sourceTextures, targetTexture});\n if ('elementCount' in props) {\n this._updateElementIDBuffer(props.elementCount);\n }\n }\n\n _updateElementIDBuffer(elementCount) {\n if (typeof elementCount !== 'number' || this.elementCount >= elementCount) {\n return;\n }\n // NOTE: using float so this will work with GLSL 1.0 shaders.\n const elementIds = new Float32Array(elementCount);\n elementIds.forEach((_, index, array) => {\n array[index] = index;\n });\n if (!this.elementIDBuffer) {\n this.elementIDBuffer = new Buffer(this.gl, {\n data: elementIds,\n accessor: {size: 1}\n });\n } else {\n this.elementIDBuffer.setData({data: elementIds});\n }\n this.elementCount = elementCount;\n }\n\n _updateBindings(opts) {\n this.bindings[this.currentIndex] = this._updateBinding(this.bindings[this.currentIndex], opts);\n if (this._swapTexture) {\n const {sourceTextures, targetTexture} = this._swapTextures(this.bindings[this.currentIndex]);\n const nextIndex = this._getNextIndex();\n this.bindings[nextIndex] = this._updateBinding(this.bindings[nextIndex], {\n sourceTextures,\n targetTexture\n });\n }\n }\n\n _updateBinding(binding, opts) {\n const {sourceBuffers, sourceTextures, targetTexture} = opts;\n if (!binding) {\n binding = {\n sourceBuffers: {},\n sourceTextures: {},\n targetTexture: null\n };\n }\n Object.assign(binding.sourceTextures, sourceTextures);\n Object.assign(binding.sourceBuffers, sourceBuffers);\n if (targetTexture) {\n binding.targetTexture = targetTexture;\n\n const {width, height} = targetTexture;\n const {framebuffer} = binding;\n if (framebuffer) {\n // First update texture without re-sizing attachments\n framebuffer.update({\n attachments: {[GL.COLOR_ATTACHMENT0]: targetTexture},\n resizeAttachments: false\n });\n // Resize to new taget texture size\n framebuffer.resize({width, height});\n } else {\n binding.framebuffer = new Framebuffer(this.gl, {\n id: `transform-framebuffer`,\n width,\n height,\n attachments: {\n [GL.COLOR_ATTACHMENT0]: targetTexture\n }\n });\n }\n }\n return binding;\n }\n\n // set texture filtering parameters on source textures.\n _setSourceTextureParameters() {\n const index = this.currentIndex;\n const {sourceTextures} = this.bindings[index];\n for (const name in sourceTextures) {\n sourceTextures[name].setParameters(SRC_TEX_PARAMETER_OVERRIDES);\n }\n }\n\n _swapTextures(opts) {\n if (!this._swapTexture) {\n return null;\n }\n const sourceTextures = Object.assign({}, opts.sourceTextures);\n sourceTextures[this._swapTexture] = opts.targetTexture;\n\n const targetTexture = opts.sourceTextures[this._swapTexture];\n\n return {sourceTextures, targetTexture};\n }\n\n // Create a buffer and add to list of buffers to be deleted.\n _createNewTexture(refTexture) {\n const texture = cloneTextureFrom(refTexture, {\n parameters: {\n [GL.TEXTURE_MIN_FILTER]: GL.NEAREST,\n [GL.TEXTURE_MAG_FILTER]: GL.NEAREST,\n [GL.TEXTURE_WRAP_S]: GL.CLAMP_TO_EDGE,\n [GL.TEXTURE_WRAP_T]: GL.CLAMP_TO_EDGE\n },\n pixelStore: {\n [GL.UNPACK_FLIP_Y_WEBGL]: false\n }\n });\n\n // thre can only be one target texture\n if (this.ownTexture) {\n this.ownTexture.delete();\n }\n this.ownTexture = texture;\n\n return texture;\n }\n\n _getNextIndex() {\n return (this.currentIndex + 1) % 2;\n }\n\n // build and return shader releated parameters\n _processVertexShader(props = {}) {\n const {sourceTextures, targetTexture} = this.bindings[this.currentIndex];\n // @ts-ignore TODO - uniforms is not present\n const {vs, uniforms, targetTextureType, inject, samplerTextureMap} = updateForTextures({\n vs: props.vs,\n sourceTextureMap: sourceTextures,\n targetTextureVarying: this.targetTextureVarying,\n targetTexture\n });\n const combinedInject = combineInjects([props.inject || {}, inject]);\n this.targetTextureType = targetTextureType;\n this.samplerTextureMap = samplerTextureMap;\n const fs =\n props._fs ||\n getPassthroughFS({\n version: getShaderVersion(vs),\n input: this.targetTextureVarying,\n inputType: targetTextureType,\n output: FS_OUTPUT_VARIABLE\n });\n const modules =\n this.hasSourceTextures || this.targetTextureVarying\n ? [transformModule].concat(props.modules || [])\n : props.modules;\n return {vs, fs, modules, uniforms, inject: combinedInject};\n }\n}\n"],"file":"texture-transform.js"}
@@ -1,31 +0,0 @@
1
- export function updateForTextures(options: {
2
- vs: any;
3
- sourceTextureMap: any;
4
- targetTextureVarying: any;
5
- targetTexture: any;
6
- }): {
7
- vs: any;
8
- targetTextureType: any;
9
- inject: {};
10
- samplerTextureMap: {};
11
- };
12
-
13
- export function getSizeUniforms(options: {
14
- sourceTextureMap: any;
15
- targetTextureVarying: any;
16
- targetTexture: any;
17
- }): {};
18
-
19
- export function getVaryingType(line: any, varying: any): any;
20
-
21
- export function processAttributeDefinition(
22
- line: any,
23
- textureMap: any
24
- ): {
25
- updatedLine: string;
26
- inject: {
27
- 'vs:#decl': string;
28
- 'vs:#main-start': string;
29
- };
30
- samplerTextureMap: {};
31
- };
@@ -1,160 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.updateForTextures = updateForTextures;
7
- exports.getSizeUniforms = getSizeUniforms;
8
- exports.getVaryingType = getVaryingType;
9
- exports.processAttributeDefinition = processAttributeDefinition;
10
-
11
- var _webgl = require("@luma.gl/webgl");
12
-
13
- var _shadertools = require("@luma.gl/shadertools");
14
-
15
- var SAMPLER_UNIFORM_PREFIX = 'transform_uSampler_';
16
- var SIZE_UNIFORM_PREFIX = 'transform_uSize_';
17
- var VS_POS_VARIABLE = 'transform_position';
18
-
19
- function updateForTextures(_ref) {
20
- var vs = _ref.vs,
21
- sourceTextureMap = _ref.sourceTextureMap,
22
- targetTextureVarying = _ref.targetTextureVarying,
23
- targetTexture = _ref.targetTexture;
24
- var texAttributeNames = Object.keys(sourceTextureMap);
25
- var sourceCount = texAttributeNames.length;
26
- var targetTextureType = null;
27
- var samplerTextureMap = {};
28
- var updatedVs = vs;
29
- var finalInject = {};
30
-
31
- if (sourceCount > 0 || targetTextureVarying) {
32
- var vsLines = updatedVs.split('\n');
33
- var updateVsLines = vsLines.slice();
34
- vsLines.forEach(function (line, index, lines) {
35
- if (sourceCount > 0) {
36
- var updated = processAttributeDefinition(line, sourceTextureMap);
37
-
38
- if (updated) {
39
- var updatedLine = updated.updatedLine,
40
- inject = updated.inject;
41
- updateVsLines[index] = updatedLine;
42
- finalInject = (0, _shadertools.combineInjects)([finalInject, inject]);
43
- Object.assign(samplerTextureMap, updated.samplerTextureMap);
44
- sourceCount--;
45
- }
46
- }
47
-
48
- if (targetTextureVarying && !targetTextureType) {
49
- targetTextureType = getVaryingType(line, targetTextureVarying);
50
- }
51
- });
52
-
53
- if (targetTextureVarying) {
54
- (0, _webgl.assert)(targetTexture);
55
- var sizeName = "".concat(SIZE_UNIFORM_PREFIX).concat(targetTextureVarying);
56
- var uniformDeclaration = "uniform vec2 ".concat(sizeName, ";\n");
57
- var posInstructions = " vec2 ".concat(VS_POS_VARIABLE, " = transform_getPos(").concat(sizeName, ");\n gl_Position = vec4(").concat(VS_POS_VARIABLE, ", 0, 1.);\n");
58
- var inject = {
59
- 'vs:#decl': uniformDeclaration,
60
- 'vs:#main-start': posInstructions
61
- };
62
- finalInject = (0, _shadertools.combineInjects)([finalInject, inject]);
63
- }
64
-
65
- updatedVs = updateVsLines.join('\n');
66
- }
67
-
68
- return {
69
- vs: updatedVs,
70
- targetTextureType: targetTextureType,
71
- inject: finalInject,
72
- samplerTextureMap: samplerTextureMap
73
- };
74
- }
75
-
76
- function getSizeUniforms(_ref2) {
77
- var sourceTextureMap = _ref2.sourceTextureMap,
78
- targetTextureVarying = _ref2.targetTextureVarying,
79
- targetTexture = _ref2.targetTexture;
80
- var uniforms = {};
81
- var width;
82
- var height;
83
-
84
- if (targetTextureVarying) {
85
- width = targetTexture.width;
86
- height = targetTexture.height;
87
- uniforms["".concat(SIZE_UNIFORM_PREFIX).concat(targetTextureVarying)] = [width, height];
88
- }
89
-
90
- for (var textureName in sourceTextureMap) {
91
- var _sourceTextureMap$tex = sourceTextureMap[textureName];
92
- width = _sourceTextureMap$tex.width;
93
- height = _sourceTextureMap$tex.height;
94
- uniforms["".concat(SIZE_UNIFORM_PREFIX).concat(textureName)] = [width, height];
95
- }
96
-
97
- return uniforms;
98
- }
99
-
100
- function getAttributeDefinition(line) {
101
- return (0, _shadertools.getQualifierDetails)(line, ['attribute', 'in']);
102
- }
103
-
104
- function getSamplerDeclerations(textureName) {
105
- var samplerName = "".concat(SAMPLER_UNIFORM_PREFIX).concat(textureName);
106
- var sizeName = "".concat(SIZE_UNIFORM_PREFIX).concat(textureName);
107
- var uniformDeclerations = " uniform sampler2D ".concat(samplerName, ";\n uniform vec2 ").concat(sizeName, ";");
108
- return {
109
- samplerName: samplerName,
110
- sizeName: sizeName,
111
- uniformDeclerations: uniformDeclerations
112
- };
113
- }
114
-
115
- function getVaryingType(line, varying) {
116
- var qualaiferDetails = (0, _shadertools.getQualifierDetails)(line, ['varying', 'out']);
117
-
118
- if (!qualaiferDetails) {
119
- return null;
120
- }
121
-
122
- return qualaiferDetails.name === varying ? qualaiferDetails.type : null;
123
- }
124
-
125
- function processAttributeDefinition(line, textureMap) {
126
- var samplerTextureMap = {};
127
- var attributeData = getAttributeDefinition(line);
128
-
129
- if (!attributeData) {
130
- return null;
131
- }
132
-
133
- var type = attributeData.type,
134
- name = attributeData.name;
135
-
136
- if (name && textureMap[name]) {
137
- var updatedLine = "// ".concat(line, " => Replaced by Transform with a sampler");
138
-
139
- var _getSamplerDecleratio = getSamplerDeclerations(name),
140
- samplerName = _getSamplerDecleratio.samplerName,
141
- sizeName = _getSamplerDecleratio.sizeName,
142
- uniformDeclerations = _getSamplerDecleratio.uniformDeclerations;
143
-
144
- var channels = (0, _shadertools.typeToChannelSuffix)(type);
145
- var sampleInstruction = " ".concat(type, " ").concat(name, " = transform_getInput(").concat(samplerName, ", ").concat(sizeName, ").").concat(channels, ";\n");
146
- samplerTextureMap[samplerName] = name;
147
- var inject = {
148
- 'vs:#decl': uniformDeclerations,
149
- 'vs:#main-start': sampleInstruction
150
- };
151
- return {
152
- updatedLine: updatedLine,
153
- inject: inject,
154
- samplerTextureMap: samplerTextureMap
155
- };
156
- }
157
-
158
- return null;
159
- }
160
- //# sourceMappingURL=transform-shader-utils.js.map