@tolokoban/tgd 2.0.20 → 2.0.23

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 (319) hide show
  1. package/lib/dist/buffer/buffer.js +2 -2
  2. package/lib/dist/camera/camera-node.d.ts +2 -2
  3. package/lib/dist/camera/camera-node.d.ts.map +1 -1
  4. package/lib/dist/camera/camera-node.js +4 -4
  5. package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
  6. package/lib/dist/camera/camera-orthographic.js +6 -5
  7. package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
  8. package/lib/dist/camera/camera-perspective.js +12 -31
  9. package/lib/dist/camera/camera.d.ts +10 -61
  10. package/lib/dist/camera/camera.d.ts.map +1 -1
  11. package/lib/dist/camera/camera.js +21 -259
  12. package/lib/dist/camera/index.d.ts +0 -1
  13. package/lib/dist/camera/index.d.ts.map +1 -1
  14. package/lib/dist/camera/index.js +1 -2
  15. package/lib/dist/canvas/gizmo/gizmo.d.ts.map +1 -1
  16. package/lib/dist/canvas/gizmo/gizmo.js +19 -21
  17. package/lib/dist/canvas/gizmo/painter/tips.js +16 -16
  18. package/lib/dist/code/color.d.ts +12 -0
  19. package/lib/dist/code/color.d.ts.map +1 -0
  20. package/lib/dist/code/color.js +26 -0
  21. package/lib/dist/code/consts.d.ts +16 -0
  22. package/lib/dist/code/consts.d.ts.map +1 -0
  23. package/lib/dist/code/consts.js +20 -0
  24. package/lib/dist/code/coords.d.ts +46 -0
  25. package/lib/dist/code/coords.d.ts.map +1 -0
  26. package/lib/dist/code/coords.js +95 -0
  27. package/lib/dist/code/index.d.ts +6 -0
  28. package/lib/dist/code/index.d.ts.map +1 -0
  29. package/lib/dist/code/index.js +6 -0
  30. package/lib/dist/code/random.d.ts +8 -0
  31. package/lib/dist/code/random.d.ts.map +1 -0
  32. package/lib/dist/code/random.js +13 -0
  33. package/lib/dist/code/transfo.d.ts +8 -0
  34. package/lib/dist/code/transfo.d.ts.map +1 -0
  35. package/lib/dist/code/transfo.js +19 -0
  36. package/lib/dist/color/color.js +10 -10
  37. package/lib/dist/context/animation/animation-manager.js +3 -3
  38. package/lib/dist/context/context.d.ts +6 -0
  39. package/lib/dist/context/context.d.ts.map +1 -1
  40. package/lib/dist/context/context.js +44 -25
  41. package/lib/dist/controller/camera/orbit.d.ts +10 -2
  42. package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
  43. package/lib/dist/controller/camera/orbit.js +70 -57
  44. package/lib/dist/dataset/dataset.d.ts.map +1 -1
  45. package/lib/dist/dataset/dataset.js +61 -56
  46. package/lib/dist/debug/debug.d.ts +1 -1
  47. package/lib/dist/debug/debug.d.ts.map +1 -1
  48. package/lib/dist/debug/debug.js +3 -3
  49. package/lib/dist/debug/tools.js +3 -3
  50. package/lib/dist/event/event.js +3 -2
  51. package/lib/dist/filter/blur.d.ts.map +1 -1
  52. package/lib/dist/filter/blur.js +9 -8
  53. package/lib/dist/filter/filter.d.ts.map +1 -1
  54. package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
  55. package/lib/dist/filter/zoom.d.ts.map +1 -1
  56. package/lib/dist/geometry/box.d.ts +2 -1
  57. package/lib/dist/geometry/box.d.ts.map +1 -1
  58. package/lib/dist/geometry/box.js +103 -115
  59. package/lib/dist/geometry/geometry.d.ts.map +1 -1
  60. package/lib/dist/geometry/geometry.js +33 -35
  61. package/lib/dist/index.d.ts +2 -0
  62. package/lib/dist/index.d.ts.map +1 -1
  63. package/lib/dist/index.js +3 -1
  64. package/lib/dist/input/keyboard.js +8 -8
  65. package/lib/dist/input/pointer.d.ts.map +1 -1
  66. package/lib/dist/input/pointer.js +30 -33
  67. package/lib/dist/interface/transformable.d.ts +7 -1
  68. package/lib/dist/interface/transformable.d.ts.map +1 -1
  69. package/lib/dist/loader/asset.js +2 -2
  70. package/lib/dist/loader/binary.js +6 -6
  71. package/lib/dist/loader/image.js +9 -9
  72. package/lib/dist/loader/index.d.ts +1 -0
  73. package/lib/dist/loader/index.d.ts.map +1 -1
  74. package/lib/dist/loader/index.js +2 -1
  75. package/lib/dist/loader/video.d.ts +6 -0
  76. package/lib/dist/loader/video.d.ts.map +1 -0
  77. package/lib/dist/loader/video.js +23 -0
  78. package/lib/dist/log.d.ts +1 -1
  79. package/lib/dist/log.d.ts.map +1 -1
  80. package/lib/dist/log.js +13 -13
  81. package/lib/dist/material/diffuse.d.ts +2 -2
  82. package/lib/dist/material/diffuse.d.ts.map +1 -1
  83. package/lib/dist/material/diffuse.js +6 -5
  84. package/lib/dist/math/common.test.d.ts +2 -0
  85. package/lib/dist/math/common.test.d.ts.map +1 -0
  86. package/lib/dist/math/common.test.js +22 -0
  87. package/lib/dist/math/index.d.ts +0 -1
  88. package/lib/dist/math/index.d.ts.map +1 -1
  89. package/lib/dist/math/index.js +1 -2
  90. package/lib/dist/math/mat3.d.ts +40 -16
  91. package/lib/dist/math/mat3.d.ts.map +1 -1
  92. package/lib/dist/math/mat3.js +124 -97
  93. package/lib/dist/math/mat3.test.d.ts +2 -0
  94. package/lib/dist/math/mat3.test.d.ts.map +1 -0
  95. package/lib/dist/math/mat3.test.js +32 -0
  96. package/lib/dist/math/mat4.d.ts +54 -121
  97. package/lib/dist/math/mat4.d.ts.map +1 -1
  98. package/lib/dist/math/mat4.js +167 -288
  99. package/lib/dist/math/quat.d.ts +6 -3
  100. package/lib/dist/math/quat.d.ts.map +1 -1
  101. package/lib/dist/math/quat.js +41 -72
  102. package/lib/dist/math/quat.test.d.ts +1 -0
  103. package/lib/dist/math/quat.test.d.ts.map +1 -1
  104. package/lib/dist/math/quat.test.js +81 -27
  105. package/lib/dist/math/transfo.d.ts +32 -5
  106. package/lib/dist/math/transfo.d.ts.map +1 -1
  107. package/lib/dist/math/transfo.js +126 -39
  108. package/lib/dist/math/vec2.js +6 -6
  109. package/lib/dist/math/vec3.d.ts +11 -3
  110. package/lib/dist/math/vec3.d.ts.map +1 -1
  111. package/lib/dist/math/vec3.js +30 -17
  112. package/lib/dist/math/vec3.test.js +20 -1
  113. package/lib/dist/math/vec4.d.ts +12 -3
  114. package/lib/dist/math/vec4.d.ts.map +1 -1
  115. package/lib/dist/math/vec4.js +29 -11
  116. package/lib/dist/painter/{axis/axis.d.ts → axes/axes.d.ts} +4 -4
  117. package/lib/dist/painter/{axis/axis.d.ts.map → axes/axes.d.ts.map} +1 -1
  118. package/lib/dist/painter/{axis/axis.frag → axes/axes.frag} +0 -0
  119. package/lib/dist/painter/axes/axes.js +82 -0
  120. package/lib/dist/painter/{axis/axis.vert → axes/axes.vert} +0 -0
  121. package/lib/dist/painter/axes/index.d.ts +2 -0
  122. package/lib/dist/painter/axes/index.d.ts.map +1 -0
  123. package/lib/dist/painter/axes/index.js +2 -0
  124. package/lib/dist/painter/background/background.d.ts +3 -2
  125. package/lib/dist/painter/background/background.d.ts.map +1 -1
  126. package/lib/dist/painter/background/background.js +4 -4
  127. package/lib/dist/painter/clear.js +3 -4
  128. package/lib/dist/painter/debug/stencil/stencil.js +2 -2
  129. package/lib/dist/painter/depth.d.ts +4 -4
  130. package/lib/dist/painter/depth.d.ts.map +1 -1
  131. package/lib/dist/painter/depth.js +3 -3
  132. package/lib/dist/painter/filter/filter.d.ts +2 -2
  133. package/lib/dist/painter/filter/filter.d.ts.map +1 -1
  134. package/lib/dist/painter/filter/filter.js +33 -24
  135. package/lib/dist/painter/framebuffer.d.ts +6 -3
  136. package/lib/dist/painter/framebuffer.d.ts.map +1 -1
  137. package/lib/dist/painter/framebuffer.js +34 -27
  138. package/lib/dist/painter/group.js +6 -5
  139. package/lib/dist/painter/index.d.ts +1 -1
  140. package/lib/dist/painter/index.js +1 -1
  141. package/lib/dist/painter/mesh/mesh/mesh.d.ts +6 -5
  142. package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
  143. package/lib/dist/painter/mesh/mesh/mesh.js +27 -13
  144. package/lib/dist/painter/mesh/normals/normals.d.ts.map +1 -1
  145. package/lib/dist/painter/mesh/normals/normals.js +4 -4
  146. package/lib/dist/painter/node/node.d.ts +38 -15
  147. package/lib/dist/painter/node/node.d.ts.map +1 -1
  148. package/lib/dist/painter/node/node.js +60 -42
  149. package/lib/dist/painter/segments/segments.js +13 -13
  150. package/lib/dist/painter/skybox/skybox.d.ts +4 -0
  151. package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
  152. package/lib/dist/painter/skybox/skybox.frag +1 -2
  153. package/lib/dist/painter/skybox/skybox.js +9 -11
  154. package/lib/dist/painter/skybox/skybox.vert +6 -2
  155. package/lib/dist/painter/state/state.d.ts +4 -6
  156. package/lib/dist/painter/state/state.d.ts.map +1 -1
  157. package/lib/dist/painter/state/state.js +83 -61
  158. package/lib/dist/parser/for-each-line.d.ts.map +1 -1
  159. package/lib/dist/parser/for-each-line.js +5 -5
  160. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  161. package/lib/dist/parser/gltf/gltf.js +37 -37
  162. package/lib/dist/parser/gltf/parser.js +10 -11
  163. package/lib/dist/parser/mesh/wavefront.d.ts.map +1 -1
  164. package/lib/dist/parser/mesh/wavefront.js +18 -26
  165. package/lib/dist/program/program.d.ts +2 -4
  166. package/lib/dist/program/program.d.ts.map +1 -1
  167. package/lib/dist/program/program.js +26 -27
  168. package/lib/dist/{utils/ref-map.d.ts → reference-map.d.ts} +4 -4
  169. package/lib/dist/reference-map.d.ts.map +1 -0
  170. package/lib/dist/reference-map.js +52 -0
  171. package/lib/dist/shader/code.d.ts +2 -2
  172. package/lib/dist/shader/code.d.ts.map +1 -1
  173. package/lib/dist/shader/code.js +12 -12
  174. package/lib/dist/shader/fragment.js +6 -6
  175. package/lib/dist/shader/vertex.js +6 -6
  176. package/lib/dist/table/table.d.ts.map +1 -1
  177. package/lib/dist/table/table.js +7 -4
  178. package/lib/dist/texture/index.d.ts +1 -1
  179. package/lib/dist/texture/index.d.ts.map +1 -1
  180. package/lib/dist/texture/index.js +2 -2
  181. package/lib/dist/texture/{textureCube.d.ts → texture-cube.d.ts} +1 -1
  182. package/lib/dist/texture/texture-cube.d.ts.map +1 -0
  183. package/lib/dist/texture/texture-cube.js +69 -0
  184. package/lib/dist/texture/texture2d.d.ts +6 -3
  185. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  186. package/lib/dist/texture/texture2d.js +30 -12
  187. package/lib/dist/types/elements.js +2 -2
  188. package/lib/dist/types/guards.d.ts.map +1 -1
  189. package/lib/dist/types/guards.js +36 -37
  190. package/lib/dist/types/index.d.ts +1 -1
  191. package/lib/dist/types/index.d.ts.map +1 -1
  192. package/lib/dist/types/index.js +2 -2
  193. package/lib/dist/types/{textureCube.d.ts → texture-cube.d.ts} +1 -1
  194. package/lib/dist/types/texture-cube.d.ts.map +1 -0
  195. package/lib/dist/types/texture-cube.js +2 -0
  196. package/lib/dist/types/webgl.d.ts +5 -4
  197. package/lib/dist/types/webgl.d.ts.map +1 -1
  198. package/lib/dist/types/webgl.js +37 -30
  199. package/lib/dist/utils/action/camera.d.ts.map +1 -1
  200. package/lib/dist/utils/action/camera.js +15 -26
  201. package/lib/dist/utils/action/transfo.d.ts +3 -0
  202. package/lib/dist/utils/action/transfo.d.ts.map +1 -0
  203. package/lib/dist/utils/action/transfo.js +18 -0
  204. package/lib/dist/utils/action/vector.d.ts.map +1 -1
  205. package/lib/dist/utils/action/vector.js +11 -11
  206. package/lib/dist/utils/assert.d.ts.map +1 -1
  207. package/lib/dist/utils/assert.js +2 -2
  208. package/lib/dist/utils/bbox.test.js +18 -19
  209. package/lib/dist/utils/canvas.d.ts +3 -3
  210. package/lib/dist/utils/canvas.d.ts.map +1 -1
  211. package/lib/dist/utils/canvas.js +14 -14
  212. package/lib/dist/utils/{ease-func/ease-func.d.ts → easing-function/easing-function.d.ts} +1 -1
  213. package/lib/dist/utils/easing-function/easing-function.d.ts.map +1 -0
  214. package/lib/dist/utils/easing-function/easing-function.js +142 -0
  215. package/lib/dist/utils/easing-function/index.d.ts +2 -0
  216. package/lib/dist/utils/easing-function/index.d.ts.map +1 -0
  217. package/lib/dist/utils/easing-function/index.js +2 -0
  218. package/lib/dist/utils/framebuffer.js +2 -2
  219. package/lib/dist/utils/fullscreen.d.ts +1 -1
  220. package/lib/dist/utils/fullscreen.d.ts.map +1 -1
  221. package/lib/dist/utils/fullscreen.js +19 -19
  222. package/lib/dist/utils/index.d.ts +2 -1
  223. package/lib/dist/utils/index.d.ts.map +1 -1
  224. package/lib/dist/utils/index.js +3 -2
  225. package/lib/dist/utils/math.d.ts +4 -2
  226. package/lib/dist/utils/math.d.ts.map +1 -1
  227. package/lib/dist/utils/math.js +12 -4
  228. package/lib/dist/utils/pbo.d.ts.map +1 -1
  229. package/lib/dist/utils/pbo.js +3 -3
  230. package/lib/dist/{ref-map.d.ts → utils/reference-map.d.ts} +4 -4
  231. package/lib/dist/utils/reference-map.d.ts.map +1 -0
  232. package/lib/dist/utils/reference-map.js +52 -0
  233. package/lib/dist/utils/state/blend.d.ts +5 -5
  234. package/lib/dist/utils/state/blend.d.ts.map +1 -1
  235. package/lib/dist/utils/state/blend.js +10 -10
  236. package/lib/dist/utils/state/depth.d.ts +2 -2
  237. package/lib/dist/utils/state/depth.d.ts.map +1 -1
  238. package/lib/dist/utils/state/depth.js +5 -5
  239. package/lib/dist/utils/state/stencil.js +9 -9
  240. package/lib/dist/utils/template.js +3 -3
  241. package/lib/dist/utils/webgl.js +5 -5
  242. package/lib/dist/vao/vao.d.ts.map +1 -1
  243. package/lib/dist/vao/vao.js +13 -9
  244. package/lib/dist/webgl/texture/texture2d.js +2 -2
  245. package/package.json +1 -1
  246. package/lib/dist/geometry/place.d.ts +0 -12
  247. package/lib/dist/geometry/place.d.ts.map +0 -1
  248. package/lib/dist/geometry/place.js +0 -145
  249. package/lib/dist/math/math.d.ts +0 -9
  250. package/lib/dist/math/math.d.ts.map +0 -1
  251. package/lib/dist/math/math.js +0 -13
  252. package/lib/dist/painter/axis/axis.js +0 -82
  253. package/lib/dist/painter/axis/index.d.ts +0 -2
  254. package/lib/dist/painter/axis/index.d.ts.map +0 -1
  255. package/lib/dist/painter/axis/index.js +0 -2
  256. package/lib/dist/painter/debug/stencil.d.ts +0 -11
  257. package/lib/dist/painter/debug/stencil.d.ts.map +0 -1
  258. package/lib/dist/painter/debug/stencil.js +0 -41
  259. package/lib/dist/painter/framebuffer-old.d.ts +0 -38
  260. package/lib/dist/painter/framebuffer-old.d.ts.map +0 -1
  261. package/lib/dist/painter/framebuffer-old.js +0 -102
  262. package/lib/dist/painter/framebuffer.backup.d.ts +0 -39
  263. package/lib/dist/painter/framebuffer.backup.d.ts.map +0 -1
  264. package/lib/dist/painter/framebuffer.backup.js +0 -122
  265. package/lib/dist/painter/mesh/hull/hull.d.ts +0 -12
  266. package/lib/dist/painter/mesh/hull/hull.d.ts.map +0 -1
  267. package/lib/dist/painter/mesh/hull/hull.js +0 -11
  268. package/lib/dist/painter/node.d.ts +0 -32
  269. package/lib/dist/painter/node.d.ts.map +0 -1
  270. package/lib/dist/painter/node.js +0 -73
  271. package/lib/dist/ref-map.d.ts.map +0 -1
  272. package/lib/dist/ref-map.js +0 -52
  273. package/lib/dist/resource/index.d.ts +0 -5
  274. package/lib/dist/resource/index.d.ts.map +0 -1
  275. package/lib/dist/resource/index.js +0 -5
  276. package/lib/dist/resource/program.d.ts +0 -10
  277. package/lib/dist/resource/program.d.ts.map +0 -1
  278. package/lib/dist/resource/program.js +0 -19
  279. package/lib/dist/resource/resource.d.ts +0 -17
  280. package/lib/dist/resource/resource.d.ts.map +0 -1
  281. package/lib/dist/resource/resource.js +0 -52
  282. package/lib/dist/resource/texture2d.d.ts +0 -10
  283. package/lib/dist/resource/texture2d.d.ts.map +0 -1
  284. package/lib/dist/resource/texture2d.js +0 -19
  285. package/lib/dist/resource/textureCube.d.ts +0 -9
  286. package/lib/dist/resource/textureCube.d.ts.map +0 -1
  287. package/lib/dist/resource/textureCube.js +0 -16
  288. package/lib/dist/scene/scene-node.d.ts +0 -8
  289. package/lib/dist/scene/scene-node.d.ts.map +0 -1
  290. package/lib/dist/scene/scene-node.js +0 -13
  291. package/lib/dist/texture/texture2dArray.d.ts +0 -43
  292. package/lib/dist/texture/texture2dArray.d.ts.map +0 -1
  293. package/lib/dist/texture/texture2dArray.js +0 -112
  294. package/lib/dist/texture/textureCube.d.ts.map +0 -1
  295. package/lib/dist/texture/textureCube.js +0 -69
  296. package/lib/dist/types/context.d.ts +0 -27
  297. package/lib/dist/types/context.d.ts.map +0 -1
  298. package/lib/dist/types/context.js +0 -2
  299. package/lib/dist/types/texture2d.d.ts +0 -51
  300. package/lib/dist/types/texture2d.d.ts.map +0 -1
  301. package/lib/dist/types/texture2d.js +0 -2
  302. package/lib/dist/types/textureCube.d.ts.map +0 -1
  303. package/lib/dist/types/textureCube.js +0 -2
  304. package/lib/dist/uniform/uniform-buffer-object.d.ts +0 -49
  305. package/lib/dist/uniform/uniform-buffer-object.d.ts.map +0 -1
  306. package/lib/dist/uniform/uniform-buffer-object.js +0 -93
  307. package/lib/dist/utils/ease-func/ease-func.d.ts.map +0 -1
  308. package/lib/dist/utils/ease-func/ease-func.js +0 -142
  309. package/lib/dist/utils/ease-func/index.d.ts +0 -2
  310. package/lib/dist/utils/ease-func/index.d.ts.map +0 -1
  311. package/lib/dist/utils/ease-func/index.js +0 -2
  312. package/lib/dist/utils/fetch/fetch.d.ts +0 -2
  313. package/lib/dist/utils/fetch/fetch.d.ts.map +0 -1
  314. package/lib/dist/utils/fetch/fetch.js +0 -5
  315. package/lib/dist/utils/fetch/index.d.ts +0 -2
  316. package/lib/dist/utils/fetch/index.d.ts.map +0 -1
  317. package/lib/dist/utils/fetch/index.js +0 -2
  318. package/lib/dist/utils/ref-map.d.ts.map +0 -1
  319. package/lib/dist/utils/ref-map.js +0 -52
@@ -1,122 +0,0 @@
1
- import { TgdPainterGroup } from "./group.js";
2
- const DEFAULT_TEXTURE_SIZE = 256;
3
- export class TgdPainterFramebuffer extends TgdPainterGroup {
4
- constructor(context, options) {
5
- var _a, _b, _c;
6
- super();
7
- this.context = context;
8
- this.options = options;
9
- this.framebuffer = null;
10
- this.depthbuffer = null;
11
- this.dirty = false;
12
- this._width = 0;
13
- this._height = 0;
14
- this._width = (_a = options.width) !== null && _a !== void 0 ? _a : DEFAULT_TEXTURE_SIZE;
15
- this._height = (_b = options.height) !== null && _b !== void 0 ? _b : DEFAULT_TEXTURE_SIZE;
16
- this.name = (_c = options.name) !== null && _c !== void 0 ? _c : `Framebuffer/${this.name}`;
17
- this.texture = context.textures2D.create({
18
- width: Math.max(this.width, 1),
19
- height: Math.max(this.height, 1),
20
- internalFormat: "RGB",
21
- generateMipMap: true,
22
- });
23
- this.textureDepth = context.textures2D.create({
24
- width: options.depthBuffer ? this._width : 1,
25
- height: options.depthBuffer ? this._height : 1,
26
- generateMipMap: false,
27
- internalFormat: "DEPTH_COMPONENT24",
28
- format: "DEPTH_COMPONENT",
29
- type: "UNSIGNED_INT",
30
- });
31
- this.dirty = true;
32
- }
33
- get width() {
34
- return this._width;
35
- }
36
- set width(v) {
37
- if (this._width === v)
38
- return;
39
- this._width = v;
40
- this.dirty = true;
41
- }
42
- get height() {
43
- return this._height;
44
- }
45
- set height(v) {
46
- if (this._height === v)
47
- return;
48
- this._height = v;
49
- this.dirty = true;
50
- }
51
- paint(time, delay) {
52
- const { context, texture, options } = this;
53
- const { gl } = context;
54
- const { viewportMatchingScale } = options;
55
- if (typeof viewportMatchingScale === "number") {
56
- this.width = Math.max(1, Math.round(context.width * viewportMatchingScale));
57
- this.height = Math.max(1, Math.round(context.height * viewportMatchingScale));
58
- }
59
- const currentFramebuffer = gl.getParameter(gl.FRAMEBUFFER_BINDING);
60
- const [x, y, w, h] = gl.getParameter(gl.VIEWPORT);
61
- this.createFramebufferIfNeeded();
62
- gl.bindFramebuffer(gl.FRAMEBUFFER, this.framebuffer);
63
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture.glTexture, 0);
64
- gl.viewport(0, 0, this.width, this.height);
65
- console.log("🚀 [framebuffer] w, h = ", w, h); // @FIXME: Remove this line written on 2024-08-20 at 16:42
66
- console.log("🚀 [framebuffer] this.width, this.height = ", this.width, this.height); // @FIXME: Remove this line written on 2024-08-20 at 16:42
67
- super.paint(time, delay);
68
- gl.bindFramebuffer(gl.FRAMEBUFFER, currentFramebuffer);
69
- gl.viewport(x, y, w, h);
70
- }
71
- delete() {
72
- const { context, texture, textureDepth, framebuffer, depthbuffer } = this;
73
- const { gl } = context;
74
- context.textures2D.delete(texture);
75
- context.textures2D.delete(textureDepth);
76
- if (framebuffer)
77
- gl.deleteFramebuffer(framebuffer);
78
- if (depthbuffer)
79
- gl.deleteRenderbuffer(depthbuffer);
80
- }
81
- createFramebufferIfNeeded() {
82
- if (!this.dirty)
83
- return;
84
- const { context, width, height } = this;
85
- if (this.framebuffer) {
86
- console.log("Delete framebuffer!");
87
- context.gl.deleteFramebuffer(this.framebuffer);
88
- }
89
- console.log("Create framebuffer!");
90
- this.framebuffer = context.createFramebuffer();
91
- this.texture.resize(width, height);
92
- // @TODO: Generate depth buffer.
93
- // if (this.options.depthBuffer === true) {
94
- // // Create a Depth Buffer, because the default
95
- // // framebuffer has none.
96
- // const { gl } = context
97
- // this.depthbuffer = createDepthTexture(gl, this.width, this.height)
98
- // this.textureDepth.resize(width, height)
99
- // }
100
- this.dirty = false;
101
- }
102
- }
103
- function createDepthTexture(gl, width, height) {
104
- const depthTexture = gl.createTexture();
105
- gl.bindTexture(gl.TEXTURE_2D, depthTexture);
106
- const level = 0;
107
- const internalFormat = gl.DEPTH_COMPONENT24;
108
- const border = 0;
109
- const format = gl.DEPTH_COMPONENT;
110
- const type = gl.UNSIGNED_INT;
111
- const data = null;
112
- gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, width, height, border, format, type, data);
113
- // set the filtering so we don't need mips
114
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
115
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
116
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
117
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
118
- // attach the depth texture to the framebuffer
119
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.TEXTURE_2D, depthTexture, level);
120
- return depthTexture;
121
- }
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVidWZmZXIuYmFja3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhaW50ZXIvZnJhbWVidWZmZXIuYmFja3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFtQnpDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFBO0FBRWhDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFlO0lBU3RELFlBQ3FCLE9BQW1CLEVBQ25CLE9BQThDOztRQUUvRCxLQUFLLEVBQUUsQ0FBQTtRQUhVLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBdUM7UUFSM0QsZ0JBQVcsR0FBNEIsSUFBSSxDQUFBO1FBQzNDLGdCQUFXLEdBQTZCLElBQUksQ0FBQTtRQUM1QyxVQUFLLEdBQUcsS0FBSyxDQUFBO1FBQ2IsV0FBTSxHQUFHLENBQUMsQ0FBQTtRQUNWLFlBQU8sR0FBRyxDQUFDLENBQUE7UUFPZixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQUEsT0FBTyxDQUFDLEtBQUssbUNBQUksb0JBQW9CLENBQUE7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFBLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLG9CQUFvQixDQUFBO1FBQ3JELElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBQSxPQUFPLENBQUMsSUFBSSxtQ0FBSSxlQUFlLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN0RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ3JDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLGNBQWMsRUFBRSxLQUFLO1lB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
@@ -1,12 +0,0 @@
1
- import { TgdGeometry } from "./../../../geometry/geometry";
2
- import { TgdContext } from "../../../context";
3
- import { TgdPainterMesh } from "../mesh";
4
- import { ArrayNumber4 } from "../../../types";
5
- export interface TgdPainterMeshHullOptions {
6
- geometry: TgdGeometry;
7
- color?: ArrayNumber4;
8
- }
9
- export declare class TgdPainterMeshHull extends TgdPainterMesh {
10
- constructor(context: TgdContext, options: TgdPainterMeshHullOptions);
11
- }
12
- //# sourceMappingURL=hull.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hull.d.ts","sourceRoot":"","sources":["../../../../src/painter/mesh/hull/hull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGzC,MAAM,WAAW,yBAAyB;IACtC,QAAQ,EAAE,WAAW,CAAA;IACrB,KAAK,CAAC,EAAE,YAAY,CAAA;CACvB;AAED,qBAAa,kBAAmB,SAAQ,cAAc;gBACtC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB;CAMtE"}
@@ -1,11 +0,0 @@
1
- import { TgdPainterMesh } from "../mesh/index.js";
2
- import { TgdMaterialSolid } from "./../../../material/index.js";
3
- export class TgdPainterMeshHull extends TgdPainterMesh {
4
- constructor(context, options) {
5
- super(context, {
6
- geometry: options.geometry,
7
- material: new TgdMaterialSolid({ color: options.color }),
8
- });
9
- }
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL21lc2gvaHVsbC9odWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBT2hELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxjQUFjO0lBQ2xELFlBQVksT0FBbUIsRUFBRSxPQUFrQztRQUMvRCxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ1gsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLFFBQVEsRUFBRSxJQUFJLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMzRCxDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0oifQ==
@@ -1,32 +0,0 @@
1
- import { TgdMat4 } from "../math";
2
- import { TgdPainter } from "./painter";
3
- import { TgdTransfo } from "../math/transfo";
4
- export interface TgdPainterNodeChild {
5
- paint(time: number, delay: number): void;
6
- delete(): void;
7
- matrixTransfo: TgdMat4;
8
- }
9
- export interface TgdPainterNodeOptions {
10
- children: Array<TgdPainterNode | TgdPainterNodeChild>;
11
- }
12
- /**
13
- * A Node can hold others Nodes or any object providing the
14
- * TgdPainterNodeChild interface.
15
- *
16
- * Each Node is a local space for its children.
17
- */
18
- export declare class TgdPainterNode extends TgdPainter {
19
- parentTransfo: TgdTransfo;
20
- readonly transfo: TgdTransfo;
21
- private readonly matrixTransfo;
22
- private parentUpdateCount;
23
- private updateCount;
24
- private readonly childrenNodes;
25
- private readonly children;
26
- constructor(options?: Partial<TgdPainterNodeOptions>);
27
- delete(): void;
28
- add(...children: Array<TgdPainterNode | TgdPainterNodeChild>): void;
29
- remove(...children: Array<TgdPainterNode | TgdPainterNodeChild>): void;
30
- paint(time: number, delay: number): void;
31
- }
32
- //# sourceMappingURL=node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/painter/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,MAAM,IAAI,IAAI,CAAA;IACd,aAAa,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAA;CACxD;AAED;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,UAAU;IACnC,aAAa,EAAE,UAAU,CAAmB;IACnD,SAAgB,OAAO,aAAmB;IAE1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;gBAEzC,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAMxD,MAAM,IAAI,IAAI;IASd,GAAG,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC;IAU5D,MAAM,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC;IAY/D,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CA2B3C"}
@@ -1,73 +0,0 @@
1
- import { TgdMat4 } from "./../math/index.js";
2
- import { TgdPainter } from "./painter.js";
3
- import { TgdTransfo } from "../math/transfo.js";
4
- /**
5
- * A Node can hold others Nodes or any object providing the
6
- * TgdPainterNodeChild interface.
7
- *
8
- * Each Node is a local space for its children.
9
- */
10
- export class TgdPainterNode extends TgdPainter {
11
- parentTransfo = new TgdTransfo();
12
- transfo = new TgdTransfo();
13
- matrixTransfo = new TgdMat4();
14
- parentUpdateCount = 0;
15
- updateCount = 0;
16
- childrenNodes = [];
17
- children = [];
18
- constructor(options = {}) {
19
- super();
20
- const { children = [] } = options;
21
- children.forEach(child => this.add(child));
22
- }
23
- delete() {
24
- for (const child of this.children) {
25
- child.delete();
26
- }
27
- for (const child of this.childrenNodes) {
28
- child.delete();
29
- }
30
- }
31
- add(...children) {
32
- for (const child of children) {
33
- if (child instanceof TgdPainterNode) {
34
- this.childrenNodes.push(child);
35
- }
36
- else {
37
- this.children.push(child);
38
- }
39
- }
40
- }
41
- remove(...children) {
42
- for (const child of children) {
43
- if (child instanceof TgdPainterNode) {
44
- const idxNode = this.childrenNodes.indexOf(child);
45
- if (idxNode > -1)
46
- this.childrenNodes.splice(idxNode, 1);
47
- }
48
- else {
49
- const idx = this.children.indexOf(child);
50
- if (idx > -1)
51
- this.children.splice(idx, 1);
52
- }
53
- }
54
- }
55
- paint(time, delay) {
56
- const { transfo, parentTransfo, matrixTransfo, parentUpdateCount, updateCount, children, childrenNodes, } = this;
57
- if (transfo.updateCount > updateCount ||
58
- parentTransfo.updateCount > parentUpdateCount) {
59
- this.updateCount = transfo.updateCount;
60
- this.parentUpdateCount = parentTransfo.updateCount;
61
- matrixTransfo.from(parentTransfo.matrix).multiply(transfo.matrix);
62
- }
63
- for (const child of children) {
64
- child.matrixTransfo = matrixTransfo;
65
- child.paint(time, delay);
66
- }
67
- for (const child of childrenNodes) {
68
- child.parentTransfo.matrix = matrixTransfo;
69
- child.paint(time, delay);
70
- }
71
- }
72
- }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWludGVyL25vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQVk1Qzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsVUFBVTtJQUNuQyxhQUFhLEdBQWUsSUFBSSxVQUFVLEVBQUUsQ0FBQTtJQUNuQyxPQUFPLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQTtJQUV6QixhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtJQUN0QyxpQkFBaUIsR0FBRyxDQUFDLENBQUE7SUFDckIsV0FBVyxHQUFHLENBQUMsQ0FBQTtJQUNOLGFBQWEsR0FBcUIsRUFBRSxDQUFBO0lBQ3BDLFFBQVEsR0FBMEIsRUFBRSxDQUFBO0lBRXJELFlBQVksVUFBMEMsRUFBRTtRQUNwRCxLQUFLLEVBQUUsQ0FBQTtRQUNQLE1BQU0sRUFBRSxRQUFRLEdBQUcsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQ2pDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVELE1BQU07UUFDRixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDbEIsQ0FBQztRQUNELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUNsQixDQUFDO0lBQ0wsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFHLFFBQXFEO1FBQ3hELEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7WUFDM0IsSUFBSSxLQUFLLFlBQVksY0FBYyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ2xDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUM3QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxRQUFxRDtRQUMzRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzNCLElBQUksS0FBSyxZQUFZLGNBQWMsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDakQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO29CQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUMzRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ3hDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztvQkFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDOUMsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVksRUFBRSxLQUFhO1FBQzdCLE1BQU0sRUFDRixPQUFPLEVBQ1AsYUFBYSxFQUNiLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLFFBQVEsRUFDUixhQUFhLEdBQ2hCLEdBQUcsSUFBSSxDQUFBO1FBQ1IsSUFDSSxPQUFPLENBQUMsV0FBVyxHQUFHLFdBQVc7WUFDakMsYUFBYSxDQUFDLFdBQVcsR0FBRyxpQkFBaUIsRUFDL0MsQ0FBQztZQUNDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQTtZQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQTtZQUNsRCxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3JFLENBQUM7UUFDRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzNCLEtBQUssQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO1lBQ25DLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQzVCLENBQUM7UUFDRCxLQUFLLE1BQU0sS0FBSyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQTtZQUMxQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUM1QixDQUFDO0lBQ0wsQ0FBQztDQUNKIn0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"ref-map.d.ts","sourceRoot":"","sources":["../src/ref-map.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA8B;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAEnD;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,GAAG,OAAO;IAelD;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;CAe5C"}
@@ -1,52 +0,0 @@
1
- /**
2
- * A Reference Map counts how many time you want to insert the same key.
3
- * And it tells you when you delete it as many times.
4
- */
5
- export default class RefMap {
6
- constructor() {
7
- this.map = new Map();
8
- this.count = new Map();
9
- }
10
- /**
11
- * If `key` is already stored in the map,
12
- * we add a reference to the mapped value and return it.
13
- * If not, we create the mapped value by calling `factory()`.
14
- */
15
- add(key, factory) {
16
- var _a;
17
- const { map, count } = this;
18
- if (count.has(key)) {
19
- count.set(key, 1 + ((_a = count.get(key)) !== null && _a !== void 0 ? _a : 0));
20
- const curVal = map.get(key);
21
- if (!curVal)
22
- throw Error("[CountMap] Map should not be empty!");
23
- return curVal;
24
- }
25
- const newVal = factory();
26
- map.set(key, newVal);
27
- count.set(key, 1);
28
- return newVal;
29
- }
30
- /**
31
- * Delete a reference to `key`.
32
- * If the last reference has been removed,
33
- * then return the mapped value, otherwise
34
- * return `undefined`.
35
- */
36
- delete(key) {
37
- var _a;
38
- const { map, count } = this;
39
- if (!map.has(key))
40
- return;
41
- const newCount = ((_a = count.get(key)) !== null && _a !== void 0 ? _a : 0) - 1;
42
- if (newCount > 0) {
43
- count.set(key, newCount);
44
- return;
45
- }
46
- const value = map.get(key);
47
- map.delete(key);
48
- count.delete(key);
49
- return value;
50
- }
51
- }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWYtbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sTUFBTTtJQUEzQjtRQUNxQixRQUFHLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUE7UUFDakMsVUFBSyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFBO0lBMkN2RCxDQUFDO0lBekNHOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsR0FBWSxFQUFFLE9BQXNCOztRQUNwQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFBLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1DQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDekMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUMzQixJQUFJLENBQUMsTUFBTTtnQkFBRSxNQUFNLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFBO1lBQy9ELE9BQU8sTUFBTSxDQUFBO1FBQ2pCLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxPQUFPLEVBQUUsQ0FBQTtRQUN4QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUNwQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNqQixPQUFPLE1BQU0sQ0FBQTtJQUNqQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsR0FBWTs7UUFDZixNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFNO1FBRXpCLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBQSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQ0FBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUN4QixPQUFNO1FBQ1YsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNmLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakIsT0FBTyxLQUFLLENBQUE7SUFDaEIsQ0FBQztDQUNKIn0=
@@ -1,5 +0,0 @@
1
- export * from "./program";
2
- export * from "./resource";
3
- export * from "./texture2d";
4
- export * from "./textureCube";
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resource/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA"}
@@ -1,5 +0,0 @@
1
- export * from "./program.js";
2
- export * from "./resource.js";
3
- export * from "./texture2d.js";
4
- export * from "./textureCube.js";
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVzb3VyY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUE7QUFDekIsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxlQUFlLENBQUEifQ==
@@ -1,10 +0,0 @@
1
- import { TgdProgram, TgdProgramOptions } from "../types";
2
- import { TgdResource } from "./resource";
3
- export declare class TgdResourceProgram extends TgdResource<TgdProgramOptions, TgdProgram> {
4
- readonly gl: WebGL2RenderingContext;
5
- constructor(gl: WebGL2RenderingContext);
6
- protected actualCreate(input: TgdProgramOptions): TgdProgram;
7
- protected actualDelete(program: TgdProgram): void;
8
- protected makeKeyFromInput(input: TgdProgramOptions): string;
9
- }
10
- //# sourceMappingURL=program.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/resource/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC,qBAAa,kBAAmB,SAAQ,WAAW,CAC/C,iBAAiB,EACjB,UAAU,CACb;aAC+B,EAAE,EAAE,sBAAsB;gBAA1B,EAAE,EAAE,sBAAsB;IAItD,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU;IAI5D,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAIjD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM;CAG/D"}
@@ -1,19 +0,0 @@
1
- import { TgdResource } from "./resource.js";
2
- import { TgdProgramImpl } from "./../program/index.js";
3
- export class TgdResourceProgram extends TgdResource {
4
- constructor(gl) {
5
- super();
6
- this.gl = gl;
7
- }
8
- actualCreate(input) {
9
- return new TgdProgramImpl(this.gl, input);
10
- }
11
- actualDelete(program) {
12
- if (program instanceof TgdProgramImpl)
13
- program.delete();
14
- }
15
- makeKeyFromInput(input) {
16
- return JSON.stringify(input);
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNvdXJjZS9wcm9ncmFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU3QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FHdkM7SUFDRyxZQUE0QixFQUEwQjtRQUNsRCxLQUFLLEVBQUUsQ0FBQTtRQURpQixPQUFFLEdBQUYsRUFBRSxDQUF3QjtJQUV0RCxDQUFDO0lBRVMsWUFBWSxDQUFDLEtBQXdCO1FBQzNDLE9BQU8sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRVMsWUFBWSxDQUFDLE9BQW1CO1FBQ3RDLElBQUksT0FBTyxZQUFZLGNBQWM7WUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDM0QsQ0FBQztJQUVTLGdCQUFnQixDQUFDLEtBQXdCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0NBQ0oifQ==
@@ -1,17 +0,0 @@
1
- /**
2
- * This class deals with WebGL resources.
3
- *
4
- * It prevents you from creatng multiple times the
5
- * same resource by holding an internal ref counter.
6
- */
7
- export declare abstract class TgdResource<InputType, OutputType> {
8
- private readonly keys;
9
- private readonly objects;
10
- private readonly references;
11
- create(input: InputType, id?: string): OutputType;
12
- delete(object: OutputType): void;
13
- protected abstract actualCreate(input: InputType, id: string): OutputType;
14
- protected abstract actualDelete(object: OutputType): void;
15
- protected makeKeyFromInput(_input: InputType): string | null;
16
- }
17
- //# sourceMappingURL=resource.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource/resource.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,8BAAsB,WAAW,CAAC,SAAS,EAAE,UAAU;IACnD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgC;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IAEvD,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU;IAkBjD,MAAM,CAAC,MAAM,EAAE,UAAU;IAkBzB,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU;IAEzE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAEzD,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI;CAG/D"}
@@ -1,52 +0,0 @@
1
- let counter = 1;
2
- /**
3
- * This class deals with WebGL resources.
4
- *
5
- * It prevents you from creatng multiple times the
6
- * same resource by holding an internal ref counter.
7
- */
8
- export class TgdResource {
9
- constructor() {
10
- this.keys = new Map();
11
- this.objects = new Map();
12
- this.references = new Map();
13
- }
14
- create(input, id) {
15
- var _a, _b;
16
- const key = (_a = id !== null && id !== void 0 ? id : this.makeKeyFromInput(input)) !== null && _a !== void 0 ? _a : `TgdResource:${counter++}`;
17
- const refCount = (_b = this.references.get(key)) !== null && _b !== void 0 ? _b : 0;
18
- if (refCount < 1) {
19
- const object = this.actualCreate(input, key);
20
- this.keys.set(object, key);
21
- this.objects.set(key, object);
22
- this.references.set(key, 1);
23
- return object;
24
- }
25
- const object = this.objects.get(key);
26
- if (!object)
27
- throw Error("[TgdResource.create] Panic!");
28
- this.references.set(key, refCount + 1);
29
- return object;
30
- }
31
- delete(object) {
32
- var _a;
33
- const key = this.keys.get(object);
34
- if (!key)
35
- return;
36
- const refCount = (_a = this.references.get(key)) !== null && _a !== void 0 ? _a : 0;
37
- if (refCount < 1)
38
- return;
39
- if (refCount > 1) {
40
- this.references.set(key, refCount - 1);
41
- return;
42
- }
43
- this.keys.delete(object);
44
- this.objects.delete(key);
45
- this.references.delete(key);
46
- this.actualDelete(object);
47
- }
48
- makeKeyFromInput(_input) {
49
- return null;
50
- }
51
- }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVzb3VyY2UvcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFBO0FBRWY7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQWdCLFdBQVc7SUFBakM7UUFDcUIsU0FBSSxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFBO1FBQ3BDLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBc0IsQ0FBQTtRQUN2QyxlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUE7SUE2QzNELENBQUM7SUEzQ0csTUFBTSxDQUFDLEtBQWdCLEVBQUUsRUFBVzs7UUFDaEMsTUFBTSxHQUFHLEdBQ0wsTUFBQSxFQUFFLGFBQUYsRUFBRSxjQUFGLEVBQUUsR0FBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLG1DQUFJLGVBQWUsT0FBTyxFQUFFLEVBQUUsQ0FBQTtRQUNwRSxNQUFNLFFBQVEsR0FBRyxNQUFBLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQ0FBSSxDQUFDLENBQUE7UUFDOUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUMzQixPQUFPLE1BQU0sQ0FBQTtRQUNqQixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDcEMsSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO1FBRXZELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDdEMsT0FBTyxNQUFNLENBQUE7SUFDakIsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFrQjs7UUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDakMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFNO1FBRWhCLE1BQU0sUUFBUSxHQUFHLE1BQUEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1DQUFJLENBQUMsQ0FBQTtRQUM5QyxJQUFJLFFBQVEsR0FBRyxDQUFDO1lBQUUsT0FBTTtRQUV4QixJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUE7WUFDdEMsT0FBTTtRQUNWLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUFNUyxnQkFBZ0IsQ0FBQyxNQUFpQjtRQUN4QyxPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7Q0FDSiJ9
@@ -1,10 +0,0 @@
1
- import { TgdResource } from "./resource";
2
- import { TgdTexture2D, TgdTexture2DOptions, TgdContextInterface } from "../types";
3
- export declare class TgdResourceTexture2D extends TgdResource<Partial<TgdTexture2DOptions>, TgdTexture2D> {
4
- private readonly context;
5
- constructor(context: TgdContextInterface);
6
- getDefaultEmpty(): TgdTexture2D;
7
- protected actualCreate(input: Partial<TgdTexture2DOptions>, id: string): TgdTexture2D;
8
- protected actualDelete(object: TgdTexture2D): void;
9
- }
10
- //# sourceMappingURL=texture2d.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"texture2d.d.ts","sourceRoot":"","sources":["../../src/resource/texture2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EACH,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACtB,MAAM,YAAY,CAAA;AAEnB,qBAAa,oBAAqB,SAAQ,WAAW,CACjD,OAAO,CAAC,mBAAmB,CAAC,EAC5B,YAAY,CACf;IACe,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,mBAAmB;IAIzD,eAAe,IAAI,YAAY;IAI/B,SAAS,CAAC,YAAY,CAClB,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,EACnC,EAAE,EAAE,MAAM,GACX,YAAY;IAIf,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;CAGrD"}
@@ -1,19 +0,0 @@
1
- import { TgdResource } from "./resource.js";
2
- import { TgdTexture2DImpl } from "./../texture/index.js";
3
- export class TgdResourceTexture2D extends TgdResource {
4
- constructor(context) {
5
- super();
6
- this.context = context;
7
- }
8
- getDefaultEmpty() {
9
- return this.create({ width: 1, height: 1 }, "@tgd/DefaultTexture2D");
10
- }
11
- actualCreate(input, id) {
12
- return new TgdTexture2DImpl(this.context, id, input);
13
- }
14
- actualDelete(object) {
15
- if (object instanceof TgdTexture2DImpl)
16
- object.delete();
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZTJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jlc291cmNlL3RleHR1cmUyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBTy9DLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxXQUd6QztJQUNHLFlBQTZCLE9BQTRCO1FBQ3JELEtBQUssRUFBRSxDQUFBO1FBRGtCLFlBQU8sR0FBUCxPQUFPLENBQXFCO0lBRXpELENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsdUJBQXVCLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0lBRVMsWUFBWSxDQUNsQixLQUFtQyxFQUNuQyxFQUFVO1FBRVYsT0FBTyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFFUyxZQUFZLENBQUMsTUFBb0I7UUFDdkMsSUFBSSxNQUFNLFlBQVksZ0JBQWdCO1lBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQzNELENBQUM7Q0FDSiJ9
@@ -1,9 +0,0 @@
1
- import { TgdResource } from "./resource";
2
- import { TgdTextureCube, TgdTextureCubeOptions, TgdContextInterface } from "../types";
3
- export declare class TgdResourceTextureCube extends TgdResource<TgdTextureCubeOptions, TgdTextureCube> {
4
- readonly context: TgdContextInterface;
5
- constructor(context: TgdContextInterface);
6
- protected actualCreate(input: TgdTextureCubeOptions): TgdTextureCube;
7
- protected actualDelete(object: TgdTextureCube): void;
8
- }
9
- //# sourceMappingURL=textureCube.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"textureCube.d.ts","sourceRoot":"","sources":["../../src/resource/textureCube.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EACH,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACtB,MAAM,YAAY,CAAA;AAEnB,qBAAa,sBAAuB,SAAQ,WAAW,CACnD,qBAAqB,EACrB,cAAc,CACjB;aAC+B,OAAO,EAAE,mBAAmB;gBAA5B,OAAO,EAAE,mBAAmB;IAIxD,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,qBAAqB,GAAG,cAAc;IAIpE,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;CAGvD"}
@@ -1,16 +0,0 @@
1
- import { TgdResource } from "./resource.js";
2
- import { TgdTextureCubeImpl } from "./../texture/index.js";
3
- export class TgdResourceTextureCube extends TgdResource {
4
- constructor(context) {
5
- super();
6
- this.context = context;
7
- }
8
- actualCreate(input) {
9
- return new TgdTextureCubeImpl(this.context, input);
10
- }
11
- actualDelete(object) {
12
- if (object instanceof TgdTextureCubeImpl)
13
- object.delete();
14
- }
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZUN1YmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVzb3VyY2UvdGV4dHVyZUN1YmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQU9qRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsV0FHM0M7SUFDRyxZQUE0QixPQUE0QjtRQUNwRCxLQUFLLEVBQUUsQ0FBQTtRQURpQixZQUFPLEdBQVAsT0FBTyxDQUFxQjtJQUV4RCxDQUFDO0lBRVMsWUFBWSxDQUFDLEtBQTRCO1FBQy9DLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFUyxZQUFZLENBQUMsTUFBc0I7UUFDekMsSUFBSSxNQUFNLFlBQVksa0JBQWtCO1lBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQzdELENBQUM7Q0FDSiJ9
@@ -1,8 +0,0 @@
1
- import { TgdInterfaceTransformable } from "../interface";
2
- import { TgdMat4 } from "../math";
3
- export declare class TgdSceneNode implements TgdInterfaceTransformable {
4
- private _matrixTransfoGlobal;
5
- get matrixTransfoGlobal(): TgdMat4;
6
- set matrixTransfoGlobal(transfo: TgdMat4);
7
- }
8
- //# sourceMappingURL=scene-node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scene-node.d.ts","sourceRoot":"","sources":["../../src/scene/scene-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,qBAAa,YAAa,YAAW,yBAAyB;IAC1D,OAAO,CAAC,oBAAoB,CAAyB;IAErD,IAAI,mBAAmB,IAGU,OAAO,CADvC;IACD,IAAI,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAIvC;CACJ"}
@@ -1,13 +0,0 @@
1
- import { TgdMat4 } from "./../math/index.js";
2
- export class TgdSceneNode {
3
- _matrixTransfoGlobal = new TgdMat4();
4
- get matrixTransfoGlobal() {
5
- return this._matrixTransfoGlobal;
6
- }
7
- set matrixTransfoGlobal(transfo) {
8
- if (transfo === this._matrixTransfoGlobal)
9
- return;
10
- this._matrixTransfoGlobal = transfo;
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2VuZS9zY2VuZS1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFbkMsTUFBTSxPQUFPLFlBQVk7SUFDYixvQkFBb0IsR0FBWSxJQUFJLE9BQU8sRUFBRSxDQUFBO0lBRXJELElBQUksbUJBQW1CO1FBQ25CLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFBO0lBQ3BDLENBQUM7SUFDRCxJQUFJLG1CQUFtQixDQUFDLE9BQWdCO1FBQ3BDLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxvQkFBb0I7WUFBRSxPQUFNO1FBRWpELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUE7SUFDdkMsQ0FBQztDQUNKIn0=
@@ -1,43 +0,0 @@
1
- import { TgdEvent } from "../event/event";
2
- import { TgdProgram, TgdTexture2D, TgdTexture2DArrayOptions, TgdContextInterface, WebglImage, WebglTexParameter, WebglPixelStorage2DArrayFormat, WebglType } from "../types";
3
- export declare class TgdTexture2DArray {
4
- readonly context: TgdContextInterface;
5
- readonly id: string;
6
- readonly name: string;
7
- readonly eventImageUpdate: TgdEvent<TgdTexture2D>;
8
- readonly glTexture: WebGLTexture;
9
- private readonly options;
10
- private static counter;
11
- constructor(context: TgdContextInterface, id: string, options: TgdTexture2DArrayOptions);
12
- /**
13
- *
14
- * @param params
15
- * - `dataOffsetX` and `dataOffsetY` are used to define the origin into the `data` image/array.
16
- * @returns
17
- */
18
- setData(params: {
19
- xoffset?: number;
20
- yoffset?: number;
21
- zoffset?: number;
22
- mipmapLevel?: number;
23
- dataOffsetX?: number;
24
- dataOffsetY?: number;
25
- width?: number;
26
- height?: number;
27
- depth?: number;
28
- format?: WebglPixelStorage2DArrayFormat;
29
- type?: WebglType;
30
- data: string | WebglImage;
31
- }): void;
32
- private getWidth;
33
- private getHeight;
34
- getParameter(param: WebglTexParameter): number | boolean | null;
35
- delete(): void;
36
- get width(): number;
37
- get height(): number;
38
- get depth(): number;
39
- bind(): void;
40
- activate(program: TgdProgram, uniformName: string, slot?: number): void;
41
- private updateTexture;
42
- }
43
- //# sourceMappingURL=texture2dArray.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"texture2dArray.d.ts","sourceRoot":"","sources":["../../src/texture/texture2dArray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EACH,UAAU,EACV,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,8BAA8B,EAC9B,SAAS,EACZ,MAAM,YAAY,CAAA;AAEnB,qBAAa,iBAAiB;aAUN,OAAO,EAAE,mBAAmB;aAC5B,EAAE,EAAE,MAAM;IAV9B,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,gBAAgB,yBAA+B;IAC/D,SAAgB,SAAS,EAAE,YAAY,CAAA;IAEvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAE5D,OAAO,CAAC,MAAM,CAAC,OAAO,CAAI;gBAGN,OAAO,EAAE,mBAAmB,EAC5B,EAAE,EAAE,MAAM,EAC1B,OAAO,EAAE,wBAAwB;IA+BrC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,8BAA8B,CAAA;QACvC,IAAI,CAAC,EAAE,SAAS,CAAA;QAChB,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAC5B;IAwDD,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,SAAS;IAMjB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IAW/D,MAAM;IAIN,IAAI,KAAK,WAER;IAED,IAAI,MAAM,WAET;IAED,IAAI,KAAK,WAER;IAED,IAAI;IAKJ,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,SAAI;IAQ3D,OAAO,CAAC,aAAa;CA6BxB"}