@tolokoban/tgd 2.0.18 → 2.0.22

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 (395) hide show
  1. package/lib/dist/buffer/buffer.d.ts +5 -2
  2. package/lib/dist/buffer/buffer.d.ts.map +1 -1
  3. package/lib/dist/buffer/buffer.js +14 -14
  4. package/lib/dist/camera/camera-node.d.ts +2 -2
  5. package/lib/dist/camera/camera-node.d.ts.map +1 -1
  6. package/lib/dist/camera/camera-node.js +4 -5
  7. package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
  8. package/lib/dist/camera/camera-orthographic.js +14 -12
  9. package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
  10. package/lib/dist/camera/camera-perspective.js +20 -38
  11. package/lib/dist/camera/camera.d.ts +9 -56
  12. package/lib/dist/camera/camera.d.ts.map +1 -1
  13. package/lib/dist/camera/camera.js +50 -279
  14. package/lib/dist/camera/index.d.ts +0 -1
  15. package/lib/dist/camera/index.d.ts.map +1 -1
  16. package/lib/dist/camera/index.js +1 -2
  17. package/lib/dist/canvas/gizmo/gizmo.d.ts.map +1 -1
  18. package/lib/dist/canvas/gizmo/gizmo.js +72 -78
  19. package/lib/dist/canvas/gizmo/painter/tips.d.ts +0 -1
  20. package/lib/dist/canvas/gizmo/painter/tips.d.ts.map +1 -1
  21. package/lib/dist/canvas/gizmo/painter/tips.js +38 -36
  22. package/lib/dist/canvas/landscape/landscape.js +4 -11
  23. package/lib/dist/code/color.d.ts +12 -0
  24. package/lib/dist/code/color.d.ts.map +1 -0
  25. package/lib/dist/code/color.js +26 -0
  26. package/lib/dist/code/consts.d.ts +16 -0
  27. package/lib/dist/code/consts.d.ts.map +1 -0
  28. package/lib/dist/code/consts.js +20 -0
  29. package/lib/dist/code/coords.d.ts +46 -0
  30. package/lib/dist/code/coords.d.ts.map +1 -0
  31. package/lib/dist/code/coords.js +95 -0
  32. package/lib/dist/code/index.d.ts +6 -0
  33. package/lib/dist/code/index.d.ts.map +1 -0
  34. package/lib/dist/code/index.js +6 -0
  35. package/lib/dist/code/random.d.ts +8 -0
  36. package/lib/dist/code/random.d.ts.map +1 -0
  37. package/lib/dist/code/random.js +13 -0
  38. package/lib/dist/code/transfo.d.ts +8 -0
  39. package/lib/dist/code/transfo.d.ts.map +1 -0
  40. package/lib/dist/code/transfo.js +19 -0
  41. package/lib/dist/color/color.js +24 -24
  42. package/lib/dist/context/animation/animation-manager.js +9 -6
  43. package/lib/dist/context/context.d.ts +11 -18
  44. package/lib/dist/context/context.d.ts.map +1 -1
  45. package/lib/dist/context/context.js +71 -96
  46. package/lib/dist/controller/camera/orbit.d.ts +33 -4
  47. package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
  48. package/lib/dist/controller/camera/orbit.js +163 -117
  49. package/lib/dist/dataset/dataset.d.ts +1 -1
  50. package/lib/dist/dataset/dataset.d.ts.map +1 -1
  51. package/lib/dist/dataset/dataset.js +72 -72
  52. package/lib/dist/debug/debug.d.ts +1 -1
  53. package/lib/dist/debug/debug.d.ts.map +1 -1
  54. package/lib/dist/debug/debug.js +8 -7
  55. package/lib/dist/debug/tools.js +3 -3
  56. package/lib/dist/event/event.js +6 -3
  57. package/lib/dist/filter/blur.d.ts.map +1 -1
  58. package/lib/dist/filter/blur.js +9 -8
  59. package/lib/dist/filter/chromatic-aberration.js +10 -10
  60. package/lib/dist/filter/filter.d.ts +2 -1
  61. package/lib/dist/filter/filter.d.ts.map +1 -1
  62. package/lib/dist/filter/filter.js +22 -22
  63. package/lib/dist/filter/hue-rotation.d.ts +1 -1
  64. package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
  65. package/lib/dist/filter/hue-rotation.js +5 -5
  66. package/lib/dist/filter/index.d.ts +1 -0
  67. package/lib/dist/filter/index.d.ts.map +1 -1
  68. package/lib/dist/filter/index.js +2 -1
  69. package/lib/dist/filter/verbatim.d.ts +8 -0
  70. package/lib/dist/filter/verbatim.d.ts.map +1 -0
  71. package/lib/dist/filter/verbatim.js +20 -0
  72. package/lib/dist/filter/zoom.d.ts +3 -1
  73. package/lib/dist/filter/zoom.d.ts.map +1 -1
  74. package/lib/dist/filter/zoom.js +10 -6
  75. package/lib/dist/geometry/box.d.ts +2 -1
  76. package/lib/dist/geometry/box.d.ts.map +1 -1
  77. package/lib/dist/geometry/box.js +103 -115
  78. package/lib/dist/geometry/geometry.d.ts.map +1 -1
  79. package/lib/dist/geometry/geometry.js +38 -48
  80. package/lib/dist/geometry/index.d.ts +1 -0
  81. package/lib/dist/geometry/index.d.ts.map +1 -1
  82. package/lib/dist/geometry/index.js +2 -1
  83. package/lib/dist/geometry/plane.d.ts +12 -0
  84. package/lib/dist/geometry/plane.d.ts.map +1 -0
  85. package/lib/dist/geometry/plane.js +51 -0
  86. package/lib/dist/index.d.ts +6 -1
  87. package/lib/dist/index.d.ts.map +1 -1
  88. package/lib/dist/index.js +7 -2
  89. package/lib/dist/input/inputs.js +3 -4
  90. package/lib/dist/input/keyboard.js +14 -14
  91. package/lib/dist/input/pointer.d.ts.map +1 -1
  92. package/lib/dist/input/pointer.js +85 -112
  93. package/lib/dist/interface/transformable.d.ts +3 -1
  94. package/lib/dist/interface/transformable.d.ts.map +1 -1
  95. package/lib/dist/light/light.js +5 -8
  96. package/lib/dist/loader/asset.js +15 -12
  97. package/lib/dist/loader/binary.js +29 -24
  98. package/lib/dist/loader/image.js +31 -24
  99. package/lib/dist/loader/index.d.ts +1 -0
  100. package/lib/dist/loader/index.d.ts.map +1 -1
  101. package/lib/dist/loader/index.js +2 -1
  102. package/lib/dist/loader/video.d.ts +6 -0
  103. package/lib/dist/loader/video.d.ts.map +1 -0
  104. package/lib/dist/loader/video.js +23 -0
  105. package/lib/dist/log.d.ts +1 -1
  106. package/lib/dist/log.d.ts.map +1 -1
  107. package/lib/dist/log.js +19 -16
  108. package/lib/dist/material/diffuse.d.ts +3 -1
  109. package/lib/dist/material/diffuse.d.ts.map +1 -1
  110. package/lib/dist/material/diffuse.js +17 -20
  111. package/lib/dist/material/ghost.d.ts +2 -1
  112. package/lib/dist/material/ghost.d.ts.map +1 -1
  113. package/lib/dist/material/ghost.js +1 -4
  114. package/lib/dist/material/hull.d.ts +2 -1
  115. package/lib/dist/material/hull.d.ts.map +1 -1
  116. package/lib/dist/material/hull.js +10 -13
  117. package/lib/dist/material/material.d.ts +2 -1
  118. package/lib/dist/material/material.d.ts.map +1 -1
  119. package/lib/dist/material/material.js +14 -20
  120. package/lib/dist/material/normals.d.ts +2 -1
  121. package/lib/dist/material/normals.d.ts.map +1 -1
  122. package/lib/dist/material/normals.js +1 -4
  123. package/lib/dist/material/solid.d.ts +2 -1
  124. package/lib/dist/material/solid.d.ts.map +1 -1
  125. package/lib/dist/material/solid.js +6 -9
  126. package/lib/dist/math/common.test.d.ts +2 -0
  127. package/lib/dist/math/common.test.d.ts.map +1 -0
  128. package/lib/dist/math/common.test.js +22 -0
  129. package/lib/dist/math/index.d.ts +0 -1
  130. package/lib/dist/math/index.d.ts.map +1 -1
  131. package/lib/dist/math/index.js +1 -2
  132. package/lib/dist/math/mat3.d.ts +44 -16
  133. package/lib/dist/math/mat3.d.ts.map +1 -1
  134. package/lib/dist/math/mat3.js +140 -74
  135. package/lib/dist/math/mat3.test.d.ts +2 -0
  136. package/lib/dist/math/mat3.test.d.ts.map +1 -0
  137. package/lib/dist/math/mat3.test.js +32 -0
  138. package/lib/dist/math/mat4.d.ts +54 -121
  139. package/lib/dist/math/mat4.d.ts.map +1 -1
  140. package/lib/dist/math/mat4.js +167 -288
  141. package/lib/dist/math/quat.d.ts +9 -4
  142. package/lib/dist/math/quat.d.ts.map +1 -1
  143. package/lib/dist/math/quat.js +57 -70
  144. package/lib/dist/math/quat.test.d.ts +1 -0
  145. package/lib/dist/math/quat.test.d.ts.map +1 -1
  146. package/lib/dist/math/quat.test.js +81 -27
  147. package/lib/dist/math/transfo.d.ts +32 -5
  148. package/lib/dist/math/transfo.d.ts.map +1 -1
  149. package/lib/dist/math/transfo.js +135 -46
  150. package/lib/dist/math/vec2.js +6 -6
  151. package/lib/dist/math/vec3.d.ts +11 -3
  152. package/lib/dist/math/vec3.d.ts.map +1 -1
  153. package/lib/dist/math/vec3.js +30 -17
  154. package/lib/dist/math/vec3.test.js +20 -1
  155. package/lib/dist/math/vec4.d.ts +12 -3
  156. package/lib/dist/math/vec4.d.ts.map +1 -1
  157. package/lib/dist/math/vec4.js +36 -18
  158. package/lib/dist/painter/{axis/axis.d.ts → axes/axes.d.ts} +4 -4
  159. package/lib/dist/painter/{axis/axis.d.ts.map → axes/axes.d.ts.map} +1 -1
  160. package/lib/dist/painter/{axis/axis.frag → axes/axes.frag} +0 -0
  161. package/lib/dist/painter/axes/axes.js +82 -0
  162. package/lib/dist/painter/{axis/axis.vert → axes/axes.vert} +0 -0
  163. package/lib/dist/painter/axes/index.d.ts +2 -0
  164. package/lib/dist/painter/axes/index.d.ts.map +1 -0
  165. package/lib/dist/painter/axes/index.js +2 -0
  166. package/lib/dist/painter/background/background.d.ts +4 -3
  167. package/lib/dist/painter/background/background.d.ts.map +1 -1
  168. package/lib/dist/painter/background/background.js +15 -17
  169. package/lib/dist/painter/clear.d.ts +4 -3
  170. package/lib/dist/painter/clear.d.ts.map +1 -1
  171. package/lib/dist/painter/clear.js +18 -22
  172. package/lib/dist/painter/debug/index.d.ts +2 -0
  173. package/lib/dist/painter/debug/index.d.ts.map +1 -0
  174. package/lib/dist/painter/debug/index.js +2 -0
  175. package/lib/dist/painter/debug/stencil/index.d.ts +2 -0
  176. package/lib/dist/painter/debug/stencil/index.d.ts.map +1 -0
  177. package/lib/dist/painter/debug/stencil/index.js +2 -0
  178. package/lib/dist/painter/debug/stencil/stencil.d.ts +11 -0
  179. package/lib/dist/painter/debug/stencil/stencil.d.ts.map +1 -0
  180. package/lib/dist/painter/debug/stencil/stencil.frag +10 -0
  181. package/lib/dist/painter/debug/stencil/stencil.js +53 -0
  182. package/lib/dist/painter/debug/stencil/stencil.vert +7 -0
  183. package/lib/dist/painter/depth.d.ts +7 -5
  184. package/lib/dist/painter/depth.d.ts.map +1 -1
  185. package/lib/dist/painter/depth.js +5 -11
  186. package/lib/dist/painter/filter/filter.d.ts +3 -3
  187. package/lib/dist/painter/filter/filter.d.ts.map +1 -1
  188. package/lib/dist/painter/filter/filter.js +44 -46
  189. package/lib/dist/painter/framebuffer.d.ts +25 -4
  190. package/lib/dist/painter/framebuffer.d.ts.map +1 -1
  191. package/lib/dist/painter/framebuffer.js +76 -43
  192. package/lib/dist/painter/group.js +11 -12
  193. package/lib/dist/painter/index.d.ts +2 -1
  194. package/lib/dist/painter/index.d.ts.map +1 -1
  195. package/lib/dist/painter/index.js +3 -2
  196. package/lib/dist/painter/logic.js +3 -3
  197. package/lib/dist/painter/mesh/gltf/gltf.d.ts +1 -1
  198. package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
  199. package/lib/dist/painter/mesh/gltf/gltf.js +9 -10
  200. package/lib/dist/painter/mesh/mesh/mesh.d.ts +2 -2
  201. package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
  202. package/lib/dist/painter/mesh/mesh/mesh.js +45 -43
  203. package/lib/dist/painter/mesh/normals/normals.d.ts.map +1 -1
  204. package/lib/dist/painter/mesh/normals/normals.js +19 -22
  205. package/lib/dist/painter/node/node.d.ts +12 -12
  206. package/lib/dist/painter/node/node.d.ts.map +1 -1
  207. package/lib/dist/painter/node/node.js +32 -43
  208. package/lib/dist/painter/painter.js +11 -9
  209. package/lib/dist/painter/segments/segments.d.ts +11 -3
  210. package/lib/dist/painter/segments/segments.d.ts.map +1 -1
  211. package/lib/dist/painter/segments/segments.js +38 -38
  212. package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
  213. package/lib/dist/painter/skybox/skybox.js +13 -14
  214. package/lib/dist/painter/state/state.d.ts +4 -6
  215. package/lib/dist/painter/state/state.d.ts.map +1 -1
  216. package/lib/dist/painter/state/state.js +83 -65
  217. package/lib/dist/parser/for-each-line.d.ts.map +1 -1
  218. package/lib/dist/parser/for-each-line.js +5 -5
  219. package/lib/dist/parser/gltf/gltf.d.ts +5 -2
  220. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  221. package/lib/dist/parser/gltf/gltf.js +114 -83
  222. package/lib/dist/parser/gltf/parser.js +10 -11
  223. package/lib/dist/parser/mesh/wavefront.d.ts.map +1 -1
  224. package/lib/dist/parser/mesh/wavefront.js +106 -111
  225. package/lib/dist/program/program.d.ts +2 -2
  226. package/lib/dist/program/program.d.ts.map +1 -1
  227. package/lib/dist/program/program.js +27 -33
  228. package/lib/dist/{ref-map.d.ts → reference-map.d.ts} +4 -4
  229. package/lib/dist/reference-map.d.ts.map +1 -0
  230. package/lib/dist/reference-map.js +52 -0
  231. package/lib/dist/shader/code.d.ts +2 -2
  232. package/lib/dist/shader/code.d.ts.map +1 -1
  233. package/lib/dist/shader/code.js +12 -12
  234. package/lib/dist/shader/fragment.js +7 -19
  235. package/lib/dist/shader/vertex.js +7 -12
  236. package/lib/dist/table/index.d.ts +2 -0
  237. package/lib/dist/table/index.d.ts.map +1 -0
  238. package/lib/dist/table/index.js +2 -0
  239. package/lib/dist/table/table.d.ts +41 -0
  240. package/lib/dist/table/table.d.ts.map +1 -0
  241. package/lib/dist/table/table.js +104 -0
  242. package/lib/dist/texture/index.d.ts +1 -1
  243. package/lib/dist/texture/index.d.ts.map +1 -1
  244. package/lib/dist/texture/index.js +2 -2
  245. package/lib/dist/texture/texture-cube.d.ts +24 -0
  246. package/lib/dist/texture/texture-cube.d.ts.map +1 -0
  247. package/lib/dist/texture/texture-cube.js +69 -0
  248. package/lib/dist/texture/texture2d.d.ts +47 -21
  249. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  250. package/lib/dist/texture/texture2d.js +178 -133
  251. package/lib/dist/types/elements.js +2 -2
  252. package/lib/dist/types/gltf.js +3 -9
  253. package/lib/dist/types/guards.d.ts.map +1 -1
  254. package/lib/dist/types/guards.js +36 -37
  255. package/lib/dist/types/index.d.ts +1 -3
  256. package/lib/dist/types/index.d.ts.map +1 -1
  257. package/lib/dist/types/index.js +2 -4
  258. package/lib/dist/types/program.d.ts +0 -37
  259. package/lib/dist/types/program.d.ts.map +1 -1
  260. package/lib/dist/types/{textureCube.d.ts → texture-cube.d.ts} +7 -16
  261. package/lib/dist/types/texture-cube.d.ts.map +1 -0
  262. package/lib/dist/types/texture-cube.js +2 -0
  263. package/lib/dist/types/webgl.d.ts +15 -5
  264. package/lib/dist/types/webgl.d.ts.map +1 -1
  265. package/lib/dist/types/webgl.js +37 -30
  266. package/lib/dist/utils/action/camera.d.ts.map +1 -1
  267. package/lib/dist/utils/action/camera.js +15 -25
  268. package/lib/dist/utils/action/transfo.d.ts +3 -0
  269. package/lib/dist/utils/action/transfo.d.ts.map +1 -0
  270. package/lib/dist/utils/action/transfo.js +18 -0
  271. package/lib/dist/utils/action/vector.d.ts.map +1 -1
  272. package/lib/dist/utils/action/vector.js +11 -11
  273. package/lib/dist/utils/assert.d.ts.map +1 -1
  274. package/lib/dist/utils/assert.js +2 -2
  275. package/lib/dist/utils/bbox.js +3 -3
  276. package/lib/dist/utils/bbox.test.js +18 -19
  277. package/lib/dist/utils/canvas.d.ts +28 -0
  278. package/lib/dist/utils/canvas.d.ts.map +1 -1
  279. package/lib/dist/utils/canvas.js +59 -5
  280. package/lib/dist/utils/{ease-func/ease-func.d.ts → easing-function/easing-function.d.ts} +1 -1
  281. package/lib/dist/utils/easing-function/easing-function.d.ts.map +1 -0
  282. package/lib/dist/utils/easing-function/easing-function.js +142 -0
  283. package/lib/dist/utils/easing-function/index.d.ts +2 -0
  284. package/lib/dist/utils/easing-function/index.d.ts.map +1 -0
  285. package/lib/dist/utils/easing-function/index.js +2 -0
  286. package/lib/dist/utils/framebuffer.d.ts +2 -0
  287. package/lib/dist/utils/framebuffer.d.ts.map +1 -0
  288. package/lib/dist/utils/framebuffer.js +7 -0
  289. package/lib/dist/utils/fullscreen.d.ts +1 -1
  290. package/lib/dist/utils/fullscreen.d.ts.map +1 -1
  291. package/lib/dist/utils/fullscreen.js +44 -37
  292. package/lib/dist/utils/index.d.ts +4 -1
  293. package/lib/dist/utils/index.d.ts.map +1 -1
  294. package/lib/dist/utils/index.js +5 -2
  295. package/lib/dist/utils/math.d.ts +4 -2
  296. package/lib/dist/utils/math.d.ts.map +1 -1
  297. package/lib/dist/utils/math.js +12 -4
  298. package/lib/dist/utils/pbo.d.ts +9 -0
  299. package/lib/dist/utils/pbo.d.ts.map +1 -0
  300. package/lib/dist/utils/pbo.js +32 -0
  301. package/lib/dist/utils/{ref-map.d.ts → reference-map.d.ts} +4 -4
  302. package/lib/dist/utils/reference-map.d.ts.map +1 -0
  303. package/lib/dist/utils/reference-map.js +52 -0
  304. package/lib/dist/utils/state/blend.d.ts +5 -5
  305. package/lib/dist/utils/state/blend.d.ts.map +1 -1
  306. package/lib/dist/utils/state/blend.js +10 -10
  307. package/lib/dist/utils/state/depth.d.ts +2 -2
  308. package/lib/dist/utils/state/depth.d.ts.map +1 -1
  309. package/lib/dist/utils/state/depth.js +5 -5
  310. package/lib/dist/utils/state/stencil.d.ts +55 -1
  311. package/lib/dist/utils/state/stencil.d.ts.map +1 -1
  312. package/lib/dist/utils/state/stencil.js +28 -46
  313. package/lib/dist/utils/template.js +3 -3
  314. package/lib/dist/utils/webgl.d.ts +1 -1
  315. package/lib/dist/utils/webgl.d.ts.map +1 -1
  316. package/lib/dist/utils/webgl.js +5 -5
  317. package/lib/dist/vao/vao.d.ts +2 -1
  318. package/lib/dist/vao/vao.d.ts.map +1 -1
  319. package/lib/dist/vao/vao.js +19 -19
  320. package/lib/dist/webgl/index.d.ts +2 -0
  321. package/lib/dist/webgl/index.d.ts.map +1 -0
  322. package/lib/dist/webgl/index.js +2 -0
  323. package/lib/dist/webgl/texture/index.d.ts +3 -0
  324. package/lib/dist/webgl/texture/index.d.ts.map +1 -0
  325. package/lib/dist/webgl/texture/index.js +3 -0
  326. package/lib/dist/webgl/texture/texture2d.d.ts +38 -0
  327. package/lib/dist/webgl/texture/texture2d.d.ts.map +1 -0
  328. package/lib/dist/webgl/texture/texture2d.js +35 -0
  329. package/lib/dist/webgl/texture/types.d.ts +4 -0
  330. package/lib/dist/webgl/texture/types.d.ts.map +1 -0
  331. package/lib/dist/webgl/texture/types.js +2 -0
  332. package/package.json +1 -1
  333. package/lib/dist/math/math.d.ts +0 -9
  334. package/lib/dist/math/math.d.ts.map +0 -1
  335. package/lib/dist/math/math.js +0 -13
  336. package/lib/dist/painter/axis/axis.js +0 -84
  337. package/lib/dist/painter/axis/index.d.ts +0 -2
  338. package/lib/dist/painter/axis/index.d.ts.map +0 -1
  339. package/lib/dist/painter/axis/index.js +0 -2
  340. package/lib/dist/painter/framebuffer-old.d.ts +0 -38
  341. package/lib/dist/painter/framebuffer-old.d.ts.map +0 -1
  342. package/lib/dist/painter/framebuffer-old.js +0 -102
  343. package/lib/dist/painter/framebuffer.backup.d.ts +0 -39
  344. package/lib/dist/painter/framebuffer.backup.d.ts.map +0 -1
  345. package/lib/dist/painter/framebuffer.backup.js +0 -125
  346. package/lib/dist/painter/mesh/hull/hull.d.ts +0 -12
  347. package/lib/dist/painter/mesh/hull/hull.d.ts.map +0 -1
  348. package/lib/dist/painter/mesh/hull/hull.js +0 -11
  349. package/lib/dist/painter/node.d.ts +0 -32
  350. package/lib/dist/painter/node.d.ts.map +0 -1
  351. package/lib/dist/painter/node.js +0 -73
  352. package/lib/dist/ref-map.d.ts.map +0 -1
  353. package/lib/dist/ref-map.js +0 -48
  354. package/lib/dist/resource/index.d.ts +0 -5
  355. package/lib/dist/resource/index.d.ts.map +0 -1
  356. package/lib/dist/resource/index.js +0 -5
  357. package/lib/dist/resource/program.d.ts +0 -10
  358. package/lib/dist/resource/program.d.ts.map +0 -1
  359. package/lib/dist/resource/program.js +0 -20
  360. package/lib/dist/resource/resource.d.ts +0 -17
  361. package/lib/dist/resource/resource.d.ts.map +0 -1
  362. package/lib/dist/resource/resource.js +0 -48
  363. package/lib/dist/resource/texture2d.d.ts +0 -10
  364. package/lib/dist/resource/texture2d.d.ts.map +0 -1
  365. package/lib/dist/resource/texture2d.js +0 -20
  366. package/lib/dist/resource/textureCube.d.ts +0 -9
  367. package/lib/dist/resource/textureCube.d.ts.map +0 -1
  368. package/lib/dist/resource/textureCube.js +0 -17
  369. package/lib/dist/scene/scene-node.d.ts +0 -8
  370. package/lib/dist/scene/scene-node.d.ts.map +0 -1
  371. package/lib/dist/scene/scene-node.js +0 -13
  372. package/lib/dist/texture/textureCube.d.ts +0 -17
  373. package/lib/dist/texture/textureCube.d.ts.map +0 -1
  374. package/lib/dist/texture/textureCube.js +0 -87
  375. package/lib/dist/types/context.d.ts +0 -27
  376. package/lib/dist/types/context.d.ts.map +0 -1
  377. package/lib/dist/types/context.js +0 -2
  378. package/lib/dist/types/texture2d.d.ts +0 -36
  379. package/lib/dist/types/texture2d.d.ts.map +0 -1
  380. package/lib/dist/types/texture2d.js +0 -2
  381. package/lib/dist/types/textureCube.d.ts.map +0 -1
  382. package/lib/dist/types/textureCube.js +0 -2
  383. package/lib/dist/utils/ease-func/ease-func.d.ts.map +0 -1
  384. package/lib/dist/utils/ease-func/ease-func.js +0 -142
  385. package/lib/dist/utils/ease-func/index.d.ts +0 -2
  386. package/lib/dist/utils/ease-func/index.d.ts.map +0 -1
  387. package/lib/dist/utils/ease-func/index.js +0 -2
  388. package/lib/dist/utils/fetch/fetch.d.ts +0 -2
  389. package/lib/dist/utils/fetch/fetch.d.ts.map +0 -1
  390. package/lib/dist/utils/fetch/fetch.js +0 -5
  391. package/lib/dist/utils/fetch/index.d.ts +0 -2
  392. package/lib/dist/utils/fetch/index.d.ts.map +0 -1
  393. package/lib/dist/utils/fetch/index.js +0 -2
  394. package/lib/dist/utils/ref-map.d.ts.map +0 -1
  395. package/lib/dist/utils/ref-map.js +0 -48
@@ -1,6 +1,13 @@
1
1
  import { TgdVec3 } from "./vec3.js";
2
2
  export class TgdVec4 extends Float32Array {
3
- // eslint-disable-next-line max-statements
3
+ static newFromMix([x1, y1, z1, w1 = 0], [x2, y2, z2, w2 = 0], a = 0.5) {
4
+ const b = 1 - a;
5
+ const x = b * x1 + a * x2;
6
+ const y = b * y1 + a * y2;
7
+ const z = b * z1 + a * z2;
8
+ const w = b * w1 + a * w2;
9
+ return new TgdVec4(x, y, z, w);
10
+ }
4
11
  constructor(x = 0, y = 0, z = 0, w = 1) {
5
12
  super(4);
6
13
  if (x instanceof TgdVec4) {
@@ -20,18 +27,18 @@ export class TgdVec4 extends Float32Array {
20
27
  if (Array.isArray(x)) {
21
28
  if (typeof y === "number") {
22
29
  const [xx, yy, zz] = x;
23
- this.x = xx ?? 0;
24
- this.y = yy ?? 0;
25
- this.z = zz ?? 0;
30
+ this.x = xx !== null && xx !== void 0 ? xx : 0;
31
+ this.y = yy !== null && yy !== void 0 ? yy : 0;
32
+ this.z = zz !== null && zz !== void 0 ? zz : 0;
26
33
  this.w = y;
27
34
  return;
28
35
  }
29
36
  else {
30
37
  const [xx, yy, zz, ww] = x;
31
- this.x = xx ?? 0;
32
- this.y = yy ?? 0;
33
- this.z = zz ?? 0;
34
- this.w = ww ?? 1;
38
+ this.x = xx !== null && xx !== void 0 ? xx : 0;
39
+ this.y = yy !== null && yy !== void 0 ? yy : 0;
40
+ this.z = zz !== null && zz !== void 0 ? zz : 0;
41
+ this.w = ww !== null && ww !== void 0 ? ww : 1;
35
42
  return;
36
43
  }
37
44
  }
@@ -55,6 +62,16 @@ export class TgdVec4 extends Float32Array {
55
62
  this.w = w;
56
63
  return this;
57
64
  }
65
+ /**
66
+ * Warning! The `w` component will stay unchanged.
67
+ */
68
+ fromVec3(vec) {
69
+ const [x, y, z] = vec;
70
+ this.x = x;
71
+ this.y = y;
72
+ this.z = z;
73
+ return this;
74
+ }
58
75
  clone() {
59
76
  return new TgdVec4(this);
60
77
  }
@@ -93,10 +110,10 @@ export class TgdVec4 extends Float32Array {
93
110
  */
94
111
  applyMatrix(mat) {
95
112
  const { x, y, z, w } = this;
96
- this.x = x * mat.m00 + y * mat.m10 + z * mat.m20 + w * mat.m30;
97
- this.y = x * mat.m01 + y * mat.m11 + z * mat.m21 + w * mat.m31;
98
- this.z = x * mat.m02 + y * mat.m12 + z * mat.m22 + w * mat.m32;
99
- this.w = x * mat.m03 + y * mat.m13 + z * mat.m23 + w * mat.m33;
113
+ this.x = x * mat.m00 + y * mat.m01 + z * mat.m02 + w * mat.m03;
114
+ this.y = x * mat.m10 + y * mat.m11 + z * mat.m12 + w * mat.m13;
115
+ this.z = x * mat.m20 + y * mat.m21 + z * mat.m22 + w * mat.m23;
116
+ this.w = x * mat.m30 + y * mat.m31 + z * mat.m32 + w * mat.m33;
100
117
  return this;
101
118
  }
102
119
  get x() {
@@ -155,10 +172,7 @@ export class TgdVec4 extends Float32Array {
155
172
  this[3] * vec[3]);
156
173
  }
157
174
  get size() {
158
- return Math.sqrt(this[0] * this[0] +
159
- this[1] * this[1] +
160
- this[2] * this[2] +
161
- this[3] * this[3]);
175
+ return Math.hypot(this[0], this[1], this[2], this[3]);
162
176
  }
163
177
  normalize() {
164
178
  const squareLength = this[0] * this[0] +
@@ -172,7 +186,11 @@ export class TgdVec4 extends Float32Array {
172
186
  debug(caption = "vec4") {
173
187
  const { x, y, z, w } = this;
174
188
  const out = [x, y, z, w].map(n => n.toFixed(6));
175
- console.log(`${caption}: `, out.join(" | "));
189
+ console.log(`${caption}: `, out.join(" | "), ` (length = ${this.size})`);
176
190
  }
177
191
  }
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjNC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRoL3ZlYzQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUVoQyxNQUFNLE9BQU8sT0FBUSxTQUFRLFlBQVk7SUFRckMsMENBQTBDO0lBQzFDLFlBQ0ksSUFBOEQsQ0FBQyxFQUMvRCxJQUFZLENBQUMsRUFDYixJQUFZLENBQUMsRUFDYixJQUFZLENBQUM7UUFFYixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDUixJQUFJLENBQUMsWUFBWSxPQUFPLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDWixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDWixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDWixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDWixPQUFNO1FBQ1YsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNaLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNaLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNaLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ1YsT0FBTTtRQUNWLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuQixJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUN4QixNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENB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
192
+ TgdVec4.X = new TgdVec4(1, 0, 0, 0);
193
+ TgdVec4.Y = new TgdVec4(0, 1, 0, 0);
194
+ TgdVec4.Z = new TgdVec4(0, 0, 1, 0);
195
+ TgdVec4.W = new TgdVec4(0, 0, 0, 1);
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjNC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRoL3ZlYzQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUVoQyxNQUFNLE9BQU8sT0FBUSxTQUFRLFlBQVk7SUFNckMsTUFBTSxDQUFDLFVBQVUsQ0FDYixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQWtELEVBQ3JFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBa0QsRUFDckUsQ0FBQyxHQUFHLEdBQUc7UUFFUCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQ3pCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtRQUN6QixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUE7UUFDekIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQ3pCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQVVELFlBQ0ksSUFBOEQsQ0FBQyxFQUMvRCxJQUFZLENBQUMsRUFDYixJQUFZLENBQUMsRUFDYixJQUFZLENBQUM7UUFFYixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDUixJQUFJLENBQUMsWUFBWSxPQUFPLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDWixJQUFJLENBQUMs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
@@ -1,17 +1,17 @@
1
1
  import { TgdContext } from "../../context";
2
2
  import { TgdPainter } from "../painter";
3
- export type TgdPainterAxisOptions = {
3
+ export type TgdPainterAxesOptions = {
4
4
  x: number;
5
5
  y: number;
6
6
  z: number;
7
7
  scale: number;
8
8
  };
9
- export declare class TgdPainterAxis extends TgdPainter {
9
+ export declare class TgdPainterAxes extends TgdPainter {
10
10
  readonly context: TgdContext;
11
11
  private readonly vao;
12
12
  private readonly prg;
13
13
  private readonly translateAndScale;
14
- constructor(context: TgdContext, { x, y, z, scale }?: Partial<TgdPainterAxisOptions>);
14
+ constructor(context: TgdContext, { x, y, z, scale }?: Partial<TgdPainterAxesOptions>);
15
15
  get x(): number;
16
16
  set x(v: number);
17
17
  get y(): number;
@@ -23,4 +23,4 @@ export declare class TgdPainterAxis extends TgdPainter {
23
23
  delete(): void;
24
24
  paint(): void;
25
25
  }
26
- //# sourceMappingURL=axis.d.ts.map
26
+ //# sourceMappingURL=axes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"axis.d.ts","sourceRoot":"","sources":["../../../src/painter/axis/axis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAQjD,MAAM,MAAM,qBAAqB,GAAG;IAChC,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,qBAAa,cAAe,SAAQ,UAAU;aAMtB,OAAO,EAAE,UAAU;IALvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;gBAGvB,OAAO,EAAE,UAAU,EACnC,EAAE,CAAK,EAAE,CAAK,EAAE,CAAK,EAAE,KAAS,EAAE,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAoC3E,IAAI,CAAC,IAAI,MAAM,CAEd;IACD,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAEd;IAED,IAAI,CAAC,IAAI,MAAM,CAEd;IACD,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAEd;IAED,IAAI,CAAC,IAAI,MAAM,CAEd;IACD,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAEd;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAElB;IAED,MAAM,IAAI,IAAI;IAId,KAAK,IAAI,IAAI;CAUhB"}
1
+ {"version":3,"file":"axes.d.ts","sourceRoot":"","sources":["../../../src/painter/axes/axes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAQjD,MAAM,MAAM,qBAAqB,GAAG;IAChC,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,qBAAa,cAAe,SAAQ,UAAU;aAMtB,OAAO,EAAE,UAAU;IALvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;gBAGvB,OAAO,EAAE,UAAU,EACnC,EAAE,CAAK,EAAE,CAAK,EAAE,CAAK,EAAE,KAAS,EAAE,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAoC3E,IAAI,CAAC,IAAI,MAAM,CAEd;IACD,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAEd;IAED,IAAI,CAAC,IAAI,MAAM,CAEd;IACD,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAEd;IAED,IAAI,CAAC,IAAI,MAAM,CAEd;IACD,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAEd;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAElB;IAED,MAAM,IAAI,IAAI;IAId,KAAK,IAAI,IAAI;CAUhB"}
@@ -0,0 +1,82 @@
1
+ import { TgdProgram } from "./../../program/index.js";
2
+ import { TgdPainter } from "./../painter.js";
3
+ import { TgdDataset } from "./../../dataset/index.js";
4
+ import { TgdVertexArray } from "./../../vao/index.js";
5
+ import { TgdVec4 } from "./../../math/index.js";
6
+ import VERT from "./axes.vert";
7
+ import FRAG from "./axes.frag";
8
+ export class TgdPainterAxes extends TgdPainter {
9
+ constructor(context, { x = 0, y = 0, z = 0, scale = 1 } = {}) {
10
+ super();
11
+ this.context = context;
12
+ const prg = new TgdProgram(context.gl, {
13
+ vert: VERT,
14
+ frag: FRAG,
15
+ });
16
+ this.prg = prg;
17
+ const dataset = new TgdDataset({
18
+ attPos: "vec3",
19
+ attColor: "vec4",
20
+ });
21
+ // prettier-ignore
22
+ dataset.set("attPos", new Float32Array([
23
+ 0, 0, 0, +1, +0, +0,
24
+ 0, 0, 0, +0, +1, +0,
25
+ 0, 0, 0, +0, +0, +1,
26
+ 0, 0, 0, -1, -0, -0,
27
+ 0, 0, 0, -0, -1, -0,
28
+ 0, 0, 0, -0, -0, -1,
29
+ ]));
30
+ const a = 1;
31
+ const b = 0.25;
32
+ // prettier-ignore
33
+ dataset.set("attColor", new Float32Array([
34
+ a, 0, 0, 1, a, 0, 0, 1,
35
+ 0, a, 0, 1, 0, a, 0, 1,
36
+ 0, 0, a, 1, 0, 0, a, 1,
37
+ b, 0, 0, 1, b, 0, 0, 1,
38
+ 0, b, 0, 1, 0, b, 0, 1,
39
+ 0, 0, b, 1, 0, 0, b, 1,
40
+ ]));
41
+ this.vao = new TgdVertexArray(context.gl, prg, [dataset]);
42
+ this.translateAndScale = new TgdVec4(x, y, z, scale);
43
+ }
44
+ get x() {
45
+ return this.translateAndScale.x;
46
+ }
47
+ set x(v) {
48
+ this.translateAndScale.x = v;
49
+ }
50
+ get y() {
51
+ return this.translateAndScale.y;
52
+ }
53
+ set y(v) {
54
+ this.translateAndScale.y = v;
55
+ }
56
+ get z() {
57
+ return this.translateAndScale.z;
58
+ }
59
+ set z(v) {
60
+ this.translateAndScale.z = v;
61
+ }
62
+ get scale() {
63
+ return this.translateAndScale.w;
64
+ }
65
+ set scale(v) {
66
+ this.translateAndScale.w = v;
67
+ }
68
+ delete() {
69
+ this.vao.delete();
70
+ }
71
+ paint() {
72
+ const { context, prg, vao, translateAndScale } = this;
73
+ const { gl, camera } = context;
74
+ prg.use();
75
+ prg.uniform4fv("uniTS", translateAndScale);
76
+ prg.uniformMatrix4fv("uniModelViewMatrix", camera.matrixModelView);
77
+ prg.uniformMatrix4fv("uniProjectionMatrix", camera.matrixProjection);
78
+ vao.bind();
79
+ gl.drawArrays(gl.LINES, 0, 12);
80
+ }
81
+ }
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWludGVyL2F4ZXMvYXhlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVuQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUE7QUFDOUIsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFBO0FBUzlCLE1BQU0sT0FBTyxjQUFlLFNBQVEsVUFBVTtJQUsxQyxZQUNvQixPQUFtQixFQUNuQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEtBQXFDLEVBQUU7UUFFdkUsS0FBSyxFQUFFLENBQUE7UUFIUyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBSW5DLE1BQU0sR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxFQUFFLElBQUk7WUFDVixJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO1FBQ2QsTUFBTSxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQUM7WUFDM0IsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsTUFBTTtTQUNuQixDQUFDLENBQUE7UUFDRixrQkFBa0I7UUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxZQUFZLENBQUM7WUFDbkMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25CLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25CLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDdEIsQ0FBQyxDQUFDLENBQUE7UUFDSCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDWCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUE7UUFDZCxrQkFBa0I7UUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxZQUFZLENBQUM7WUFDckMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDdEIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDdEIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDdEIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENB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
@@ -0,0 +1,2 @@
1
+ export * from "./axes";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/painter/axes/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from "./axes.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9heGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFBIn0=
@@ -1,6 +1,5 @@
1
- import { TgdTexture2D } from "../../types";
2
- import { TgdContext } from "../../context";
3
1
  import { TgdPainter } from "../painter";
2
+ import { TgdTexture2D } from "../../texture";
4
3
  export interface TgdPainterBackgroundOptions {
5
4
  zoom: number;
6
5
  x: number;
@@ -22,7 +21,9 @@ export declare class TgdPainterBackground extends TgdPainter {
22
21
  x: number;
23
22
  y: number;
24
23
  z: number;
25
- constructor(context: TgdContext, texture: TgdTexture2D, { x, y, z, zoom, scaleX, scaleY, }?: Partial<TgdPainterBackgroundOptions>);
24
+ constructor(context: {
25
+ gl: WebGL2RenderingContext;
26
+ }, texture: TgdTexture2D, { x, y, z, zoom, scaleX, scaleY, }?: Partial<TgdPainterBackgroundOptions>);
26
27
  delete(): void;
27
28
  paint(): void;
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../../src/painter/background/background.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAOvC,MAAM,WAAW,2BAA2B;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,oBAAqB,SAAQ,UAAU;IAgB5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAfrB,OAAO,EAAE,YAAY,CAAA;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IAEpC;;;OAGG;IACI,IAAI,SAAI;IACR,CAAC,SAAI;IACL,CAAC,SAAI;IACL,CAAC,SAAI;gBAGS,OAAO,EAAE,UAAU,EACpC,OAAO,EAAE,YAAY,EACrB,EACI,CAAK,EACL,CAAK,EACL,CAAY,EACZ,IAAQ,EACR,MAAU,EACV,MAAU,GACb,GAAE,OAAO,CAAC,2BAA2B,CAAM;IAiChD,MAAM,IAAI,IAAI;IAKd,KAAK,IAAI,IAAI;CAqBhB"}
1
+ {"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../../src/painter/background/background.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAIvC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAM3C,MAAM,WAAW,2BAA2B;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,oBAAqB,SAAQ,UAAU;IAgB5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAfrB,OAAO,EAAE,YAAY,CAAA;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IAEpC;;;OAGG;IACI,IAAI,SAAI;IACR,CAAC,SAAI;IACL,CAAC,SAAI;IACL,CAAC,SAAI;gBAGS,OAAO,EAAE;QAAE,EAAE,EAAE,sBAAsB,CAAA;KAAE,EACxD,OAAO,EAAE,YAAY,EACrB,EACI,CAAK,EACL,CAAK,EACL,CAAY,EACZ,IAAQ,EACR,MAAU,EACV,MAAU,GACb,GAAE,OAAO,CAAC,2BAA2B,CAAM;IAiChD,MAAM,IAAI,IAAI;IAKd,KAAK,IAAI,IAAI;CAqBhB"}
@@ -1,29 +1,27 @@
1
1
  import { TgdPainter } from "../painter.js";
2
2
  import { TgdDataset } from "./../../dataset/dataset.js";
3
+ import { TgdVertexArray } from "./../../vao/index.js";
4
+ import { TgdProgram } from "./../../program/index.js";
3
5
  import VERT from "./background.vert";
4
6
  import FRAG from "./background.frag";
5
7
  export class TgdPainterBackground extends TgdPainter {
6
- context;
7
- texture;
8
- program;
9
- vao;
10
- /**
11
- * With a zoom of **1**, the image will have the smaller size to cover
12
- * the whole scene.
13
- */
14
- zoom = 1;
15
- x = 0;
16
- y = 0;
17
- z = 1;
18
8
  constructor(context, texture, { x = 0, y = 0, z = 0.999999, zoom = 1, scaleX = 1, scaleY = 1, } = {}) {
19
9
  super();
20
10
  this.context = context;
11
+ /**
12
+ * With a zoom of **1**, the image will have the smaller size to cover
13
+ * the whole scene.
14
+ */
15
+ this.zoom = 1;
16
+ this.x = 0;
17
+ this.y = 0;
18
+ this.z = 1;
21
19
  this.x = x;
22
20
  this.y = y;
23
21
  this.z = z;
24
22
  this.zoom = zoom;
25
23
  this.texture = texture;
26
- this.program = context.programs.create({
24
+ this.program = new TgdProgram(context.gl, {
27
25
  vert: VERT,
28
26
  frag: FRAG,
29
27
  });
@@ -42,7 +40,7 @@ export class TgdPainterBackground extends TgdPainter {
42
40
  -1 * scaleY,
43
41
  ]));
44
42
  dataset.set("attUV", new Float32Array([0, 0, 1, 0, 0, 1, 1, 1]));
45
- this.vao = context.createVAO(this.program, [dataset]);
43
+ this.vao = new TgdVertexArray(context.gl, this.program, [dataset]);
46
44
  }
47
45
  delete() {
48
46
  const { vao } = this;
@@ -52,7 +50,7 @@ export class TgdPainterBackground extends TgdPainter {
52
50
  const { gl } = this.context;
53
51
  const { vao, program, texture, zoom, x, y, z } = this;
54
52
  program.use();
55
- const { width, height } = this.context;
53
+ const { drawingBufferWidth: width, drawingBufferHeight: height } = gl;
56
54
  const horizontal = texture.width * height > texture.height * width;
57
55
  const scaleX = horizontal
58
56
  ? (texture.width * height) / (width * texture.height)
@@ -64,10 +62,10 @@ export class TgdPainterBackground extends TgdPainter {
64
62
  program.uniform2f("uniScroll", x, y);
65
63
  program.uniform1f("uniZoom", 1 / zoom);
66
64
  program.uniform1f("uniZ", z);
67
- texture.activate(program, "uniTexture");
65
+ texture.activate(0, program, "uniTexture");
68
66
  gl.disable(gl.CULL_FACE);
69
67
  vao.bind();
70
68
  gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
71
69
  }
72
70
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWludGVyL2JhY2tncm91bmQvYmFja2dyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUdqRCxPQUFPLElBQUksTUFBTSxtQkFBbUIsQ0FBQTtBQUNwQyxPQUFPLElBQUksTUFBTSxtQkFBbUIsQ0FBQTtBQVdwQyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsVUFBVTtJQWdCM0I7SUFmZCxPQUFPLENBQWM7SUFFWCxPQUFPLENBQVk7SUFDbkIsR0FBRyxDQUFnQjtJQUVwQzs7O09BR0c7SUFDSSxJQUFJLEdBQUcsQ0FBQyxDQUFBO0lBQ1IsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNMLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDTCxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRVosWUFDcUIsT0FBbUIsRUFDcEMsT0FBcUIsRUFDckIsRUFDSSxDQUFDLEdBQUcsQ0FBQyxFQUNMLENBQUMsR0FBRyxDQUFDLEVBQ0wsQ0FBQyxHQUFHLFFBQVEsRUFDWixJQUFJLEdBQUcsQ0FBQyxFQUNSLE1BQU0sR0FBRyxDQUFDLEVBQ1YsTUFBTSxHQUFHLENBQUMsTUFDNEIsRUFBRTtRQUU1QyxLQUFLLEVBQUUsQ0FBQTtRQVhVLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFZcEMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDVixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNWLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxP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
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWludGVyL2JhY2tncm91bmQvYmFja2dyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBR3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFekMsT0FBTyxJQUFJLE1BQU0sbUJBQW1CLENBQUE7QUFDcEMsT0FBTyxJQUFJLE1BQU0sbUJBQW1CLENBQUE7QUFXcEMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFVBQVU7SUFlaEQsWUFDcUIsT0FBdUMsRUFDeEQsT0FBcUIsRUFDckIsRUFDSSxDQUFDLEdBQUcsQ0FBQyxFQUNMLENBQUMsR0FBRyxDQUFDLEVBQ0wsQ0FBQyxHQUFHLFFBQVEsRUFDWixJQUFJLEdBQUcsQ0FBQyxFQUNSLE1BQU0sR0FBRyxDQUFDLEVBQ1YsTUFBTSxHQUFHLENBQUMsTUFDNEIsRUFBRTtRQUU1QyxLQUFLLEVBQUUsQ0FBQTtRQVhVLFlBQU8sR0FBUCxPQUFPLENBQWdDO1FBVjVEOzs7V0FHRztRQUNJLFNBQUksR0FBRyxDQUFDLENBQUE7UUFDUixNQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ0wsTUFBQyxHQUFHLENBQUMsQ0FBQTtRQUNMLE1BQUMsR0FBRyxDQUFDLENBQUE7UUFlUixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNWLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ1YsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDVixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FB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
@@ -1,6 +1,5 @@
1
1
  import { TgdVec4 } from "../math";
2
2
  import { TgdPainter } from "./painter";
3
- import { TgdContextInterface } from "../types";
4
3
  export interface TgdPainterClearOptions {
5
4
  color: [red: number, green: number, blue: number, alpha: number] | TgdVec4;
6
5
  depth: number;
@@ -11,16 +10,18 @@ export interface TgdPainterClearOptions {
11
10
  * @see {@link TgdPainterClearOptions}
12
11
  */
13
12
  export declare class TgdPainterClear extends TgdPainter {
14
- readonly context: TgdContextInterface;
15
13
  private readonly options;
16
14
  private readonly clearMask;
15
+ private readonly gl;
17
16
  red: number;
18
17
  green: number;
19
18
  blue: number;
20
19
  alpha: number;
21
20
  depth: number;
22
21
  stencil: number;
23
- constructor(context: TgdContextInterface, options?: Partial<TgdPainterClearOptions>);
22
+ constructor({ gl }: {
23
+ gl: WebGL2RenderingContext;
24
+ }, options?: Partial<TgdPainterClearOptions>);
24
25
  /** Nothing to destroy. */
25
26
  delete(): void;
26
27
  paint(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"clear.d.ts","sourceRoot":"","sources":["../../src/painter/clear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,CAAA;IAC1E,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,UAAU;aAWvB,OAAO,EAAE,mBAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAA;IAEnB,GAAG,SAAI;IACP,KAAK,SAAM;IACX,IAAI,SAAI;IACR,KAAK,SAAI;IACT,KAAK,SAAI;IACT,OAAO,SAAI;gBAGE,OAAO,EAAE,mBAAmB,EAC3B,OAAO,GAAE,OAAO,CAAC,sBAAsB,CAAM;IAiClE,0BAA0B;IAC1B,MAAM,IAAI,IAAI;IAEd,KAAK,IAAI,IAAI;CAsBhB"}
1
+ {"version":3,"file":"clear.d.ts","sourceRoot":"","sources":["../../src/painter/clear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,CAAA;IAC1E,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IAavC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAA;IAC1B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAwB;IAEpC,GAAG,SAAI;IACP,KAAK,SAAM;IACX,IAAI,SAAI;IACR,KAAK,SAAI;IACT,KAAK,SAAI;IACT,OAAO,SAAI;gBAGd,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,sBAAsB,CAAA;KAAE,EACrB,OAAO,GAAE,OAAO,CAAC,sBAAsB,CAAM;IAiClE,0BAA0B;IAC1B,MAAM,IAAI,IAAI;IAEd,KAAK,IAAI,IAAI;CAsBhB"}
@@ -3,27 +3,24 @@ import { TgdPainter } from "./painter.js";
3
3
  * @see {@link TgdPainterClearOptions}
4
4
  */
5
5
  export class TgdPainterClear extends TgdPainter {
6
- context;
7
- options;
8
- clearMask;
9
- red = 1;
10
- green = 0.7;
11
- blue = 0;
12
- alpha = 1;
13
- depth = 1;
14
- stencil = 0;
15
- constructor(context, options = {}) {
6
+ constructor({ gl }, options = {}) {
7
+ var _a, _b, _c, _d;
16
8
  super();
17
- this.context = context;
18
9
  this.options = options;
19
- this.name = options.name ?? `Clear/${this.name}`;
20
- const { gl } = context;
21
- const color = options.color ?? [0, 0, 0, 1];
22
- const depth = options.depth ?? 1;
23
- const stencil = options.stencil ?? 0;
10
+ this.red = 1;
11
+ this.green = 0.7;
12
+ this.blue = 0;
13
+ this.alpha = 1;
14
+ this.depth = 1;
15
+ this.stencil = 0;
16
+ this.name = (_a = options.name) !== null && _a !== void 0 ? _a : `Clear/${this.name}`;
17
+ this.gl = gl;
18
+ const color = (_b = options.color) !== null && _b !== void 0 ? _b : [0, 0, 0, 1];
19
+ const depth = (_c = options.depth) !== null && _c !== void 0 ? _c : 1;
20
+ const stencil = (_d = options.stencil) !== null && _d !== void 0 ? _d : 0;
24
21
  this.clearMask = 0;
25
22
  let hasAnyOption = false;
26
- if (typeof options.color !== "undefined") {
23
+ if (options.color !== undefined) {
27
24
  this.clearMask |= gl.COLOR_BUFFER_BIT;
28
25
  hasAnyOption = true;
29
26
  }
@@ -36,9 +33,8 @@ export class TgdPainterClear extends TgdPainter {
36
33
  hasAnyOption = true;
37
34
  }
38
35
  if (!hasAnyOption) {
39
- throw Error("[TgdPainterClear] You must give at least a color or a depth in the constructor!");
36
+ throw new Error("[TgdPainterClear] You must give at least a color or a depth in the constructor!");
40
37
  }
41
- // eslint-disable-next-line no-extra-semi
42
38
  ;
43
39
  [this.red, this.green, this.blue, this.alpha] = color;
44
40
  this.depth = depth;
@@ -47,17 +43,17 @@ export class TgdPainterClear extends TgdPainter {
47
43
  /** Nothing to destroy. */
48
44
  delete() { }
49
45
  paint() {
50
- const { clearMask, context, red, green, blue, alpha, depth, stencil, options, } = this;
51
- const { gl } = context;
46
+ const { clearMask, gl, red, green, blue, alpha, depth, stencil, options, } = this;
52
47
  if (options.color)
53
48
  gl.clearColor(red, green, blue, alpha);
54
49
  if (typeof options.depth === "number") {
55
50
  gl.clearDepth(depth);
56
51
  }
57
52
  if (typeof options.stencil === "number") {
53
+ gl.stencilMask(0xff);
58
54
  gl.clearStencil(stencil);
59
55
  }
60
56
  gl.clear(clearMask);
61
57
  }
62
58
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlci9jbGVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBVXRDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsVUFBVTtJQVd2QjtJQUNDO0lBWEosU0FBUyxDQUFBO0lBRW5CLEdBQUcsR0FBRyxDQUFDLENBQUE7SUFDUCxLQUFLLEdBQUcsR0FBRyxDQUFBO0lBQ1gsSUFBSSxHQUFHLENBQUMsQ0FBQTtJQUNSLEtBQUssR0FBRyxDQUFDLENBQUE7SUFDVCxLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBQ1QsT0FBTyxHQUFHLENBQUMsQ0FBQTtJQUVsQixZQUNvQixPQUE0QixFQUMzQixVQUEyQyxFQUFFO1FBRTlELEtBQUssRUFBRSxDQUFBO1FBSFMsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDM0IsWUFBTyxHQUFQLE9BQU8sQ0FBc0M7UUFHOUQsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLFNBQVMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ2hELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUE7UUFDdEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQzNDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFBO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFBO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFBO1FBQ2xCLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQTtRQUN4QixJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQTtZQUNyQyxZQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQTtZQUNyQyxZQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLE9BQU8sT0FBTyxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQTtZQUN2QyxZQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDaEIsTUFBTSxLQUFLLENBQ1AsaUZBQWlGLENBQ3BGLENBQUE7UUFDTCxDQUFDO1FBQ0QseUNBQXlDO1FBQ3pDLENBQUM7UUFBQSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUE7UUFDdEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7SUFDMUIsQ0FBQztJQUVELDBCQUEwQjtJQUMxQixNQUFNLEtBQVUsQ0FBQztJQUVqQixLQUFLO1FBQ0QsTUFBTSxFQUNGLFNBQVMsRUFDVCxPQUFPLEVBQ1AsR0FBRyxFQUNILEtBQUssRUFDTCxJQUFJLEVBQ0osS0FBSyxFQUNMLEtBQUssRUFDTCxPQUFPLEVBQ1AsT0FBTyxHQUNWLEdBQUcsSUFBSSxDQUFBO1FBQ1IsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLE9BQU8sQ0FBQyxLQUFLO1lBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN6RCxJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNwQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3hCLENBQUM7UUFDRCxJQUFJLE9BQU8sT0FBTyxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0QyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzVCLENBQUM7UUFDRCxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3ZCLENBQUM7Q0FDSiJ9
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlci9jbGVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBU3RDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsVUFBVTtJQVczQyxZQUNJLEVBQUUsRUFBRSxFQUFrQyxFQUNyQixVQUEyQyxFQUFFOztRQUU5RCxLQUFLLEVBQUUsQ0FBQTtRQUZVLFlBQU8sR0FBUCxPQUFPLENBQXNDO1FBVDNELFFBQUcsR0FBRyxDQUFDLENBQUE7UUFDUCxVQUFLLEdBQUcsR0FBRyxDQUFBO1FBQ1gsU0FBSSxHQUFHLENBQUMsQ0FBQTtRQUNSLFVBQUssR0FBRyxDQUFDLENBQUE7UUFDVCxVQUFLLEdBQUcsQ0FBQyxDQUFBO1FBQ1QsWUFBTyxHQUFHLENBQUMsQ0FBQTtRQU9kLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBQSxPQUFPLENBQUMsSUFBSSxtQ0FBSSxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNoRCxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQTtRQUNaLE1BQU0sS0FBSyxHQUFHLE1BQUEsT0FBTyxDQUFDLEtBQUssbUNBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUMzQyxNQUFNLEtBQUssR0FBRyxNQUFBLE9BQU8sQ0FBQyxLQUFLLG1DQUFJLENBQUMsQ0FBQTtRQUNoQyxNQUFNLE9BQU8sR0FBRyxNQUFBLE9BQU8sQ0FBQyxPQUFPLG1DQUFJLENBQUMsQ0FBQTtRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQTtRQUNsQixJQUFJLFlBQVksR0FBRyxLQUFLLENBQUE7UUFDeEIsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFBO1lBQ3JDLFlBQVksR0FBRyxJQUFJLENBQUE7UUFDdkIsQ0FBQztRQUNELElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFBO1lBQ3JDLFlBQVksR0FBRyxJQUFJLENBQUE7UUFDdkIsQ0FBQztRQUNELElBQUksT0FBTyxPQUFPLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFBO1lBQ3ZDLFlBQVksR0FBRyxJQUFJLENBQUE7UUFDdkIsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUNYLGlGQUFpRixDQUNwRixDQUFBO1FBQ0wsQ0FBQztRQUVELENBQUM7UUFBQSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUE7UUFDdEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7SUFDMUIsQ0FBQztJQUVELDBCQUEwQjtJQUMxQixNQUFNLEtBQVUsQ0FBQztJQUVqQixLQUFLO1FBQ0QsTUFBTSxFQUNGLFNBQVMsRUFDVCxFQUFFLEVBQ0YsR0FBRyxFQUNILEtBQUssRUFDTCxJQUFJLEVBQ0osS0FBSyxFQUNMLEtBQUssRUFDTCxPQUFPLEVBQ1AsT0FBTyxHQUNWLEdBQUcsSUFBSSxDQUFBO1FBQ1IsSUFBSSxPQUFPLENBQUMsS0FBSztZQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDekQsSUFBSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDcEMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN4QixDQUFDO1FBQ0QsSUFBSSxPQUFPLE9BQU8sQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNwQixFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzVCLENBQUM7UUFDRCxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3ZCLENBQUM7Q0FDSiJ9
@@ -0,0 +1,2 @@
1
+ export * from "./stencil/stencil";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/painter/debug/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from "./stencil/stencil.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9kZWJ1Zy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFBIn0=
@@ -0,0 +1,2 @@
1
+ export * from "./stencil";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/painter/debug/stencil/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from "./stencil.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFpbnRlci9kZWJ1Zy9zdGVuY2lsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFBIn0=
@@ -0,0 +1,11 @@
1
+ import { TgdContext } from "../../../context";
2
+ import { TgdPainter } from "../../painter";
3
+ export declare class TgdPainterDebugStencil extends TgdPainter {
4
+ private readonly context;
5
+ private readonly program;
6
+ private readonly vao;
7
+ constructor(context: TgdContext);
8
+ paint(_time: number, _delay: number): void;
9
+ delete(): void;
10
+ }
11
+ //# sourceMappingURL=stencil.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stencil.d.ts","sourceRoot":"","sources":["../../../../src/painter/debug/stencil/stencil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAS1C,qBAAa,sBAAuB,SAAQ,UAAU;IAItC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;gBAEP,OAAO,EAAE,UAAU;IAiBhD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAkC1C,MAAM,IAAI,IAAI;CACjB"}
@@ -0,0 +1,10 @@
1
+ #version 300 es
2
+
3
+ precision mediump float;
4
+
5
+ uniform vec4 uniColor;
6
+ out vec4 FragColor;
7
+
8
+ void main() {
9
+ FragColor = uniColor;
10
+ }
@@ -0,0 +1,53 @@
1
+ import { TgdPainter } from "../../painter.js";
2
+ import { webglStencilGet, webglStencilSet } from "./../../../utils/index.js";
3
+ import { TgdProgram } from "./../../../program/index.js";
4
+ import { TgdVertexArray } from "./../../../vao/index.js";
5
+ import { TgdDataset } from "./../../../dataset/index.js";
6
+ import VERT from "./stencil.vert";
7
+ import FRAG from "./stencil.frag";
8
+ export class TgdPainterDebugStencil extends TgdPainter {
9
+ constructor(context) {
10
+ super();
11
+ this.context = context;
12
+ this.program = new TgdProgram(context.gl, {
13
+ vert: VERT,
14
+ frag: FRAG,
15
+ });
16
+ const dataset = new TgdDataset({
17
+ attPoint: "vec2",
18
+ });
19
+ dataset.set("attPoint", new Float32Array([-1, +1, +1, +1, -1, -1, +1, -1]));
20
+ this.vao = new TgdVertexArray(context.gl, this.program, [dataset]);
21
+ }
22
+ paint(_time, _delay) {
23
+ const { context, program, vao } = this;
24
+ const { gl } = context;
25
+ const state = webglStencilGet(gl);
26
+ gl.disable(gl.DEPTH_TEST);
27
+ gl.disable(gl.CULL_FACE);
28
+ const clear = ([r, g, b], value) => {
29
+ program.uniform4f("uniColor", r, g, b, 1);
30
+ gl.stencilFunc(gl.EQUAL, value, 0xff);
31
+ gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
32
+ };
33
+ gl.disable(gl.STENCIL_TEST);
34
+ gl.clearColor(0.5, 0.5, 0.5, 1);
35
+ gl.clear(gl.COLOR_BUFFER_BIT);
36
+ program.use();
37
+ vao.bind();
38
+ gl.enable(gl.STENCIL_TEST);
39
+ gl.stencilOp(gl.KEEP, gl.KEEP, gl.KEEP);
40
+ clear([0, 0, 0], 0);
41
+ clear([1, 0, 0], 1);
42
+ clear([0, 1, 0], 2);
43
+ clear([0, 0, 1], 3);
44
+ clear([0, 1, 1], 4);
45
+ clear([1, 0, 1], 5);
46
+ clear([1, 1, 0], 6);
47
+ clear([1, 1, 1], 7);
48
+ vao.unbind();
49
+ webglStencilSet(gl, state);
50
+ }
51
+ delete() { }
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlbmNpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL2RlYnVnL3N0ZW5jaWwvc3RlbmNpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXpDLE9BQU8sSUFBSSxNQUFNLGdCQUFnQixDQUFBO0FBQ2pDLE9BQU8sSUFBSSxNQUFNLGdCQUFnQixDQUFBO0FBRWpDLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxVQUFVO0lBSWxELFlBQTZCLE9BQW1CO1FBQzVDLEtBQUssRUFBRSxDQUFBO1FBRGtCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFHNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ3RDLElBQUksRUFBRSxJQUFJO1lBQ1YsSUFBSSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUE7UUFDRixNQUFNLE9BQU8sR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUMzQixRQUFRLEVBQUUsTUFBTTtTQUNuQixDQUFDLENBQUE7UUFDRixPQUFPLENBQUMsR0FBRyxDQUNQLFVBQVUsRUFDVixJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDckQsQ0FBQTtRQUNELElB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