@tolokoban/tgd 2.0.99 → 2.0.102

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 (169) hide show
  1. package/lib/dist/color/color.d.ts +4 -0
  2. package/lib/dist/color/color.d.ts.map +1 -1
  3. package/lib/dist/color/color.js +22 -2
  4. package/lib/dist/context/context.d.ts +3 -0
  5. package/lib/dist/context/context.d.ts.map +1 -1
  6. package/lib/dist/context/context.js +10 -7
  7. package/lib/dist/context/logic.d.ts +2 -2
  8. package/lib/dist/context/logic.js +2 -2
  9. package/lib/dist/context/ubo-manager.d.ts +10 -0
  10. package/lib/dist/context/ubo-manager.d.ts.map +1 -0
  11. package/lib/dist/context/ubo-manager.js +23 -0
  12. package/lib/dist/dataset/dataset.d.ts +8 -3
  13. package/lib/dist/dataset/dataset.d.ts.map +1 -1
  14. package/lib/dist/dataset/dataset.js +35 -12
  15. package/lib/dist/filter/blur.d.ts +1 -0
  16. package/lib/dist/filter/blur.d.ts.map +1 -1
  17. package/lib/dist/filter/blur.js +3 -1
  18. package/lib/dist/filter/filter.d.ts +4 -1
  19. package/lib/dist/filter/filter.d.ts.map +1 -1
  20. package/lib/dist/filter/filter.js +4 -1
  21. package/lib/dist/filter/hue-rotation.d.ts +2 -1
  22. package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
  23. package/lib/dist/filter/hue-rotation.js +3 -2
  24. package/lib/dist/index.d.ts +1 -0
  25. package/lib/dist/index.d.ts.map +1 -1
  26. package/lib/dist/index.js +3 -1
  27. package/lib/dist/input/keyboard.js +5 -5
  28. package/lib/dist/interface/transformable.d.ts +1 -1
  29. package/lib/dist/loader/image.d.ts +3 -3
  30. package/lib/dist/loader/image.d.ts.map +1 -1
  31. package/lib/dist/loader/image.js +11 -23
  32. package/lib/dist/loader/video.js +2 -2
  33. package/lib/dist/material/glass.js +3 -3
  34. package/lib/dist/material/material.d.ts +3 -7
  35. package/lib/dist/material/material.d.ts.map +1 -1
  36. package/lib/dist/material/material.js +1 -1
  37. package/lib/dist/painter/background-with-depth/background-with-depth.d.ts +1 -1
  38. package/lib/dist/painter/background-with-depth/background-with-depth.js +2 -2
  39. package/lib/dist/painter/filter/filter.d.ts +7 -9
  40. package/lib/dist/painter/filter/filter.d.ts.map +1 -1
  41. package/lib/dist/painter/filter/filter.js +41 -47
  42. package/lib/dist/painter/fragment-shader/fragment-shader.d.ts +2 -2
  43. package/lib/dist/painter/fragment-shader/fragment-shader.js +2 -2
  44. package/lib/dist/painter/framebuffer-msaa.d.ts +23 -12
  45. package/lib/dist/painter/framebuffer-msaa.d.ts.map +1 -1
  46. package/lib/dist/painter/framebuffer-msaa.js +60 -9
  47. package/lib/dist/painter/framebuffer.d.ts +19 -18
  48. package/lib/dist/painter/framebuffer.d.ts.map +1 -1
  49. package/lib/dist/painter/framebuffer.js +76 -19
  50. package/lib/dist/painter/gizmo/gizmo.d.ts +31 -0
  51. package/lib/dist/painter/gizmo/gizmo.d.ts.map +1 -0
  52. package/lib/dist/painter/gizmo/gizmo.js +186 -0
  53. package/lib/dist/painter/gizmo/index.d.ts +2 -0
  54. package/lib/dist/painter/gizmo/index.d.ts.map +1 -0
  55. package/lib/dist/painter/gizmo/index.js +2 -0
  56. package/lib/dist/painter/gizmo/painters/axes.1.d.ts +14 -0
  57. package/lib/dist/painter/gizmo/painters/axes.1.d.ts.map +1 -0
  58. package/lib/dist/painter/gizmo/painters/axes.1.js +50 -0
  59. package/lib/dist/painter/gizmo/painters/axes.d.ts +16 -0
  60. package/lib/dist/painter/gizmo/painters/axes.d.ts.map +1 -0
  61. package/lib/dist/painter/gizmo/painters/axes.js +81 -0
  62. package/lib/dist/painter/gizmo/painters/consts.d.ts +4 -0
  63. package/lib/dist/painter/gizmo/painters/consts.d.ts.map +1 -0
  64. package/lib/dist/painter/gizmo/painters/consts.js +4 -0
  65. package/lib/dist/painter/gizmo/painters/mask.d.ts +14 -0
  66. package/lib/dist/painter/gizmo/painters/mask.d.ts.map +1 -0
  67. package/lib/dist/painter/gizmo/painters/mask.js +90 -0
  68. package/lib/dist/painter/gizmo/painters/normal.1.d.ts +21 -0
  69. package/lib/dist/painter/gizmo/painters/normal.1.d.ts.map +1 -0
  70. package/lib/dist/painter/gizmo/painters/normal.1.js +111 -0
  71. package/lib/dist/painter/gizmo/painters/normal.d.ts +17 -0
  72. package/lib/dist/painter/gizmo/painters/normal.d.ts.map +1 -0
  73. package/lib/dist/painter/gizmo/painters/normal.js +87 -0
  74. package/lib/dist/painter/gizmo/painters/tips.d.ts +18 -0
  75. package/lib/dist/painter/gizmo/painters/tips.d.ts.map +1 -0
  76. package/lib/dist/painter/gizmo/painters/tips.js +44 -0
  77. package/lib/dist/painter/gizmo/tips.d.ts +22 -0
  78. package/lib/dist/painter/gizmo/tips.d.ts.map +1 -0
  79. package/lib/dist/painter/gizmo/tips.js +51 -0
  80. package/lib/dist/painter/group-camera.d.ts +4 -2
  81. package/lib/dist/painter/group-camera.d.ts.map +1 -1
  82. package/lib/dist/painter/group-camera.js +7 -3
  83. package/lib/dist/painter/group.d.ts +6 -6
  84. package/lib/dist/painter/group.d.ts.map +1 -1
  85. package/lib/dist/painter/group.js +19 -13
  86. package/lib/dist/painter/index.d.ts +3 -0
  87. package/lib/dist/painter/index.d.ts.map +1 -1
  88. package/lib/dist/painter/index.js +4 -1
  89. package/lib/dist/painter/lod/lod.d.ts +1 -1
  90. package/lib/dist/painter/lod/lod.js +2 -2
  91. package/lib/dist/painter/logic.d.ts +2 -2
  92. package/lib/dist/painter/logic.js +2 -2
  93. package/lib/dist/painter/mesh/gltf/gltf.d.ts +2 -8
  94. package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
  95. package/lib/dist/painter/mesh/gltf/gltf.js +1 -1
  96. package/lib/dist/painter/mesh/mesh/mesh.d.ts +7 -16
  97. package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
  98. package/lib/dist/painter/mesh/mesh/mesh.js +21 -9
  99. package/lib/dist/painter/node/node.d.ts +3 -3
  100. package/lib/dist/painter/node/node.js +4 -4
  101. package/lib/dist/painter/overlay/index.d.ts +2 -0
  102. package/lib/dist/painter/overlay/index.d.ts.map +1 -0
  103. package/lib/dist/painter/overlay/index.js +2 -0
  104. package/lib/dist/painter/overlay/overlay.d.ts +77 -0
  105. package/lib/dist/painter/overlay/overlay.d.ts.map +1 -0
  106. package/lib/dist/painter/overlay/overlay.js +196 -0
  107. package/lib/dist/painter/painter.d.ts +1 -1
  108. package/lib/dist/painter/program.d.ts +70 -0
  109. package/lib/dist/painter/program.d.ts.map +1 -0
  110. package/lib/dist/painter/program.js +250 -0
  111. package/lib/dist/painter/scissor.d.ts +1 -1
  112. package/lib/dist/painter/scissor.js +2 -2
  113. package/lib/dist/painter/segments/segments-morphing.d.ts +4 -13
  114. package/lib/dist/painter/segments/segments-morphing.d.ts.map +1 -1
  115. package/lib/dist/painter/segments/segments-morphing.js +3 -3
  116. package/lib/dist/painter/segments/segments.d.ts +4 -13
  117. package/lib/dist/painter/segments/segments.d.ts.map +1 -1
  118. package/lib/dist/painter/segments/segments.js +3 -3
  119. package/lib/dist/painter/sprites/sprites.d.ts +5 -0
  120. package/lib/dist/painter/sprites/sprites.d.ts.map +1 -1
  121. package/lib/dist/painter/sprites/sprites.js +20 -9
  122. package/lib/dist/painter/state/state.js +4 -4
  123. package/lib/dist/painter/tubes/tubes.d.ts +4 -13
  124. package/lib/dist/painter/tubes/tubes.d.ts.map +1 -1
  125. package/lib/dist/painter/tubes/tubes.js +2 -2
  126. package/lib/dist/painter/x-ray/x-ray.d.ts +3 -11
  127. package/lib/dist/painter/x-ray/x-ray.d.ts.map +1 -1
  128. package/lib/dist/painter/x-ray/x-ray.js +3 -3
  129. package/lib/dist/parser/gltf/gltf.d.ts +2 -5
  130. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  131. package/lib/dist/parser/gltf/gltf.js +1 -1
  132. package/lib/dist/program/program.d.ts +2 -0
  133. package/lib/dist/program/program.d.ts.map +1 -1
  134. package/lib/dist/program/program.js +43 -8
  135. package/lib/dist/shader/fragment.d.ts.map +1 -1
  136. package/lib/dist/shader/fragment.js +3 -3
  137. package/lib/dist/shader/vertex.d.ts +3 -1
  138. package/lib/dist/shader/vertex.d.ts.map +1 -1
  139. package/lib/dist/shader/vertex.js +8 -6
  140. package/lib/dist/texture/texture-depth.d.ts +3 -11
  141. package/lib/dist/texture/texture-depth.d.ts.map +1 -1
  142. package/lib/dist/texture/texture-depth.js +1 -1
  143. package/lib/dist/texture/texture2d.d.ts +5 -11
  144. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  145. package/lib/dist/texture/texture2d.js +3 -3
  146. package/lib/dist/time/interval/interval.d.ts +3 -3
  147. package/lib/dist/time/interval/interval.js +6 -6
  148. package/lib/dist/types/painter.d.ts +1 -1
  149. package/lib/dist/types/program.d.ts +3 -2
  150. package/lib/dist/types/program.d.ts.map +1 -1
  151. package/lib/dist/uniform/index.d.ts +3 -0
  152. package/lib/dist/uniform/index.d.ts.map +1 -0
  153. package/lib/dist/uniform/index.js +3 -0
  154. package/lib/dist/uniform/ubo-camera.d.ts +9 -0
  155. package/lib/dist/uniform/ubo-camera.d.ts.map +1 -0
  156. package/lib/dist/uniform/ubo-camera.js +20 -0
  157. package/lib/dist/uniform/uniform-buffer-object.d.ts +56 -0
  158. package/lib/dist/uniform/uniform-buffer-object.d.ts.map +1 -0
  159. package/lib/dist/uniform/uniform-buffer-object.js +347 -0
  160. package/lib/dist/utils/array.d.ts +2 -0
  161. package/lib/dist/utils/array.d.ts.map +1 -0
  162. package/lib/dist/utils/array.js +6 -0
  163. package/lib/dist/utils/canvas.js +3 -3
  164. package/lib/dist/utils/fullscreen.js +6 -6
  165. package/lib/dist/utils/index.d.ts +1 -0
  166. package/lib/dist/utils/index.d.ts.map +1 -1
  167. package/lib/dist/utils/index.js +2 -1
  168. package/lib/dist/utils/webgl.js +2 -2
  169. package/package.json +2 -2
@@ -1,16 +1,12 @@
1
1
  import type { WebglParams } from "../context/webgl-params";
2
2
  import type { TgdProgram } from "../program";
3
3
  import type { TgdCodeBloc, TgdCodeFunctions } from "../shader/code";
4
- import { type TgdCamera, type TgdPainterStateOptions, type WebglAttributeType, type WebglUniformType } from "..";
4
+ import { TgdContext, type TgdPainterStateOptions, type WebglAttributeType, type WebglUniformType } from "..";
5
5
  export interface TgdMaterialContext {
6
- context: {
7
- gl: WebGL2RenderingContext;
8
- webglParams: WebglParams;
9
- camera: TgdCamera;
10
- };
6
+ context: TgdContext;
11
7
  program: TgdProgram;
12
8
  time: number;
13
- delay: number;
9
+ delta: number;
14
10
  }
15
11
  export interface TgdMaterialOptions {
16
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"material.d.ts","sourceRoot":"","sources":["../../src/material/material.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"material.d.ts","sourceRoot":"","sources":["../../src/material/material.ts"],"names":[],"mappings":"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"}
@@ -66,4 +66,4 @@ export class TgdMaterial {
66
66
  this.state = state;
67
67
  }
68
68
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWF0ZXJpYWwvbWF0ZXJpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUVILGVBQWUsR0FJbEIsTUFBTSxJQUFJLENBQUE7QUEyRVgsTUFBTSxPQUFPLFdBQVc7SUF3QnBCOztPQUVHO0lBQ0gsSUFBSSxrQkFBa0I7UUFDbEIsSUFBSSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtRQUNyRixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDcEIsSUFBSSxPQUFPLElBQUksQ0FBQyxxQkFBcUIsS0FBSyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtRQUN6RixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQTtJQUNyQyxDQUFDO0lBSUQsSUFBSSw0QkFBNEI7UUFDNUIsSUFBSSxPQUFPLElBQUksQ0FBQyw2QkFBNkIsS0FBSyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQTtRQUN6RyxPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQTtJQUM3QyxDQUFDO0lBSUQ7O09BRUc7SUFDSCxJQUFJLGdCQUFnQjtRQUNoQixJQUFJLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixLQUFLLFVBQVU7WUFBRSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBQ2pGLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFBO0lBQ2pDLENBQUM7SUFJRCxJQUFJLDBCQUEwQjtRQUMxQixJQUFJLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixLQUFLLFVBQVU7WUFBRSxPQUFPLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFBO1FBQ3JHLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFBO0lBQzNDLENBQUM7SUFJRDs7Ozs7O09BTUc7SUFDSCxJQUFJLDhCQUE4QjtRQUM5QixJQUFJLE9BQU8sSUFBSSxDQUFDLCtCQUErQixLQUFLLFVBQVU7WUFBRSxPQUFPLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFBO1FBQzdHLE9BQU8sSUFBSSxDQUFDLCtCQUErQixDQUFBO0lBQy9DLENBQUM7SUFNTSxVQUFVLENBQUMsT0FBaUUsRUFBRSxNQUFrQjtRQUNuRyxlQUFlLENBQUMsRUFBRSxDQUFDLE9BQU8sa0NBQ25CLElBQUksQ0FBQyxLQUFLLEtBQ2IsTUFBTSxJQUNSLENBQUE7SUFDTixDQUFDO0lBSUQsWUFBWSxFQUNSLFdBQVcsR0FBRyxVQUFVLEVBQ3hCLFNBQVMsR0FBRyxRQUFRLEVBQ3BCLFVBQVUsR0FBRyxvQkFBb0IsRUFDakMsS0FBSyxHQUFHLFlBQVksRUFDcEIsUUFBUSxHQUFHLEVBQUUsRUFDYixRQUFRLEdBQUcsRUFBRSxFQUNiLGtCQUFrQixHQUFHLENBQUMsOEJBQThCLENBQUMsRUFDckQsb0JBQW9CLEdBQUcsRUFBRSxFQUN6Qiw0QkFBNEIsR0FBRyxFQUFFLEVBQ2pDLGdCQUFnQixHQUFHLEVBQUUsRUFDckIsMEJBQTBCLEdBQUcsRUFBRSxFQUMvQiw4QkFBOEIsR0FBRyxhQUFhLEVBQzlDLFdBQVcsRUFDWCxLQUFLLEdBQUcsRUFBRSxFQUNWLEtBQUssR0FBRyxLQUFLLEVBQ2IsTUFBTSxFQUFFLGNBQWMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLEdBQ1A7UUF4R3ZCLFVBQUssR0FBRyxLQUFLLENBQUE7UUF5R2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFBO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO1FBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQTtRQUM3QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLENBQUE7UUFDakQsSUFBSSxDQUFDLDZCQUE2QixHQUFHLDRCQUE0QixDQUFBO1FBQ2pFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQTtRQUN6QyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsMEJBQTBCLENBQUE7UUFDN0QsSUFBSSxDQUFDLCtCQUErQixHQUFHLDhCQUE4QixDQUFBO1FBQ3JFLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ3RCLENBQUM7Q0FDSiJ9
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWF0ZXJpYWwvbWF0ZXJpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUVILGVBQWUsR0FJbEIsTUFBTSxJQUFJLENBQUE7QUF1RVgsTUFBTSxPQUFPLFdBQVc7SUF3QnBCOztPQUVHO0lBQ0gsSUFBSSxrQkFBa0I7UUFDbEIsSUFBSSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtRQUNyRixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDcEIsSUFBSSxPQUFPLElBQUksQ0FBQyxxQkFBcUIsS0FBSyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtRQUN6RixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQTtJQUNyQyxDQUFDO0lBSUQsSUFBSSw0QkFBNEI7UUFDNUIsSUFBSSxPQUFPLElBQUksQ0FBQyw2QkFBNkIsS0FBSyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQTtRQUN6RyxPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQTtJQUM3QyxDQUFDO0lBSUQ7O09BRUc7SUFDSCxJQUFJLGdCQUFnQjtRQUNoQixJQUFJLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixLQUFLLFVBQVU7WUFBRSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBQ2pGLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFBO0lBQ2pDLENBQUM7SUFJRCxJQUFJLDBCQUEwQjtRQUMxQixJQUFJLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixLQUFLLFVBQVU7WUFBRSxPQUFPLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFBO1FBQ3JHLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFBO0lBQzNDLENBQUM7SUFJRDs7Ozs7O09BTUc7SUFDSCxJQUFJLDhCQUE4QjtRQUM5QixJQUFJLE9BQU8sSUFBSSxDQUFDLCtCQUErQixLQUFLLFVBQVU7WUFBRSxPQUFPLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFBO1FBQzdHLE9BQU8sSUFBSSxDQUFDLCtCQUErQixDQUFBO0lBQy9DLENBQUM7SUFNTSxVQUFVLENBQUMsT0FBaUUsRUFBRSxNQUFrQjtRQUNuRyxlQUFlLENBQUMsRUFBRSxDQUFDLE9BQU8sa0NBQ25CLElBQUksQ0FBQyxLQUFLLEtBQ2IsTUFBTSxJQUNSLENBQUE7SUFDTixDQUFDO0lBSUQsWUFBWSxFQUNSLFdBQVcsR0FBRyxVQUFVLEVBQ3hCLFNBQVMsR0FBRyxRQUFRLEVBQ3BCLFVBQVUsR0FBRyxvQkFBb0IsRUFDakMsS0FBSyxHQUFHLFlBQVksRUFDcEIsUUFBUSxHQUFHLEVBQUUsRUFDYixRQUFRLEdBQUcsRUFBRSxFQUNiLGtCQUFrQixHQUFHLENBQUMsOEJBQThCLENBQUMsRUFDckQsb0JBQW9CLEdBQUcsRUFBRSxFQUN6Qiw0QkFBNEIsR0FBRyxFQUFFLEVBQ2pDLGdCQUFnQixHQUFHLEVBQUUsRUFDckIsMEJBQTBCLEdBQUcsRUFBRSxFQUMvQiw4QkFBOEIsR0FBRyxhQUFhLEVBQzlDLFdBQVcsRUFDWCxLQUFLLEdBQUcsRUFBRSxFQUNWLEtBQUssR0FBRyxLQUFLLEVBQ2IsTUFBTSxFQUFFLGNBQWMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLEdBQ1A7UUF4R3ZCLFVBQUssR0FBRyxLQUFLLENBQUE7UUF5R2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFBO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO1FBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQTtRQUM3QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLENBQUE7UUFDakQsSUFBSSxDQUFDLDZCQUE2QixHQUFHLDRCQUE0QixDQUFBO1FBQ2pFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQTtRQUN6QyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsMEJBQTBCLENBQUE7UUFDN0QsSUFBSSxDQUFDLCtCQUErQixHQUFHLDhCQUE4QixDQUFBO1FBQ3JFLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ3RCLENBQUM7Q0FDSiJ9
@@ -40,7 +40,7 @@ export declare class TgdPainterBackgroundWithDepth extends TgdPainter {
40
40
  private lastHeight;
41
41
  constructor(context: TgdContext, { background, children }: TgdPainterBackgroundWithDepthOptions);
42
42
  delete(): void;
43
- paint(time: number, delay: number): void;
43
+ paint(time: number, delta: number): void;
44
44
  private getScale;
45
45
  }
46
46
  //# sourceMappingURL=background-with-depth.d.ts.map
@@ -89,11 +89,11 @@ export class TgdPainterBackgroundWithDepth extends TgdPainter {
89
89
  texture.delete();
90
90
  vao.delete();
91
91
  }
92
- paint(time, delay) {
92
+ paint(time, delta) {
93
93
  const { context, vao, program, textureDepth, textureColor, framebuffer } = this;
94
94
  const { gl, width, height } = context;
95
95
  if (width !== this.lastWidth || height !== this.lastHeight) {
96
- framebuffer.paint(time, delay);
96
+ framebuffer.paint(time, delta);
97
97
  this.lastWidth = width;
98
98
  this.lastHeight = height;
99
99
  }
@@ -1,7 +1,7 @@
1
- import type { WebglParams } from "../../context/webgl-params";
2
1
  import { type TgdFilter } from "../../filter";
3
2
  import { TgdPainter } from "../painter";
4
3
  import { TgdTexture2D } from "../../texture";
4
+ import { TgdContext } from "../../context";
5
5
  export interface TgdPainterFilterOptions {
6
6
  filters: TgdFilter[];
7
7
  texture?: TgdTexture2D;
@@ -17,16 +17,14 @@ export declare class TgdPainterFilter extends TgdPainter {
17
17
  private readonly programs;
18
18
  private readonly filters;
19
19
  private readonly vaos;
20
- private readonly framebuffers;
21
- private readonly textures;
22
- private inputTexture;
20
+ private readonly framebuffer;
21
+ private textureInput;
22
+ private textureOutput;
23
+ private textureToDelete;
23
24
  private filterIndex;
24
- constructor(context: {
25
- gl: WebGL2RenderingContext;
26
- webglParams: WebglParams;
27
- }, options: TgdPainterFilterOptions);
25
+ constructor(context: TgdContext, options: TgdPainterFilterOptions);
28
26
  delete(): void;
29
- paint(time: number, delay: number): void;
27
+ paint(time: number, delta: number): void;
30
28
  private readonly paintOneFilter;
31
29
  }
32
30
  //# sourceMappingURL=filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/painter/filter/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAE5D,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAK3C,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,gBAAiB,SAAQ,UAAU;IAcxC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAbrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,CAAC,SAAI;IACL,KAAK,EAAE,OAAO,CAAA;IAErB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgD;IAC7E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,WAAW,CAAI;gBAGF,OAAO,EAAE;QACtB,EAAE,EAAE,sBAAsB,CAAA;QAC1B,WAAW,EAAE,WAAW,CAAA;KAC3B,EACD,OAAO,EAAE,uBAAuB;IAyEpC,MAAM,IAAI,IAAI;IAUd,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IA0BxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAqB9B;CACJ"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/painter/filter/filter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAI3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,gBAAiB,SAAQ,UAAU;IAexC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAdrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,CAAC,SAAI;IACL,KAAK,EAAE,OAAO,CAAA;IAErB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,WAAW,CAAI;gBAGF,OAAO,EAAE,UAAU,EACpC,OAAO,EAAE,uBAAuB;IAmEpC,MAAM,IAAI,IAAI;IAQd,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAwBxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAsB9B;CACJ"}
@@ -14,26 +14,29 @@ export class TgdPainterFilter extends TgdPainter {
14
14
  super();
15
15
  this.context = context;
16
16
  this.z = 0;
17
- this.inputTexture = undefined;
17
+ this.textureInput = undefined;
18
+ this.textureOutput = undefined;
19
+ this.textureToDelete = undefined;
18
20
  this.filterIndex = 0;
19
- this.paintOneFilter = (time, delay, flip = +1) => {
21
+ this.paintOneFilter = (time, delta, flip = +1) => {
20
22
  const index = this.filterIndex;
21
- const inputTexture = this.inputTexture;
22
- if (!inputTexture)
23
+ const { textureInput } = this;
24
+ if (!textureInput)
23
25
  return;
24
26
  const filter = this.filters[index];
27
+ console.log("paintOnFilter:", filter.name, flip);
25
28
  const program = this.programs[index];
26
29
  const vao = this.vaos[index];
27
30
  const { context } = this;
28
31
  const { gl } = context;
29
- const { width, height } = inputTexture;
32
+ const { width, height } = textureInput;
30
33
  program.use();
31
34
  program.uniform1f("uniZ", this.z);
32
35
  program.uniform1f("uniFlipY", flip);
33
36
  program.uniform2f("uniSize", width, height);
34
37
  program.uniform2f("uniPixel", 1 / width, 1 / height);
35
- filter.setUniforms({ context, program, time, delay });
36
- inputTexture.activate(0, program, "uniTexture");
38
+ filter.setUniforms({ context, program, time, delta });
39
+ textureInput.activate(0, program, "uniTexture");
37
40
  vao.bind();
38
41
  gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
39
42
  vao.unbind();
@@ -79,61 +82,52 @@ export class TgdPainterFilter extends TgdPainter {
79
82
  this.programs = programs;
80
83
  this.filters = filters;
81
84
  this.vaos = vaos;
82
- const framebuffer = context.gl.createFramebuffer();
83
- if (!framebuffer)
84
- throw new Error("Unable to create a WebGL Framebuffer!");
85
- this.textures = [0, 1].map(() => new TgdTexture2D(context, {
85
+ this.textureInput = options.texture;
86
+ const textureOutput = new TgdTexture2D(context, {
86
87
  params: {
87
88
  minFilter: "LINEAR",
88
89
  magFilter: "LINEAR",
89
90
  },
90
- }));
91
- this.framebuffers = this.textures.map((textureColor0) => {
92
- const fb = new TgdPainterFramebuffer(context, {
93
- textureColor0,
94
- viewportMatchingScale: 1,
95
- children: [new TgdPainterLogic(this.paintOneFilter)],
96
- });
97
- return fb;
91
+ });
92
+ this.textureToDelete = textureOutput;
93
+ this.framebuffer = new TgdPainterFramebuffer(context, {
94
+ textureColor0: textureOutput,
95
+ viewportMatchingScale: 1,
96
+ children: [new TgdPainterLogic(this.paintOneFilter)],
98
97
  });
99
98
  this.name = (_d = options.name) !== null && _d !== void 0 ? _d : `Filter/${this.name}`;
100
99
  }
101
100
  delete() {
102
- const { textures, programs, vaos, framebuffers } = this;
103
- for (const vao of vaos)
104
- vao.delete();
105
- for (const fb of framebuffers)
106
- fb.delete();
107
- if (textures) {
108
- for (const tex of textures)
109
- tex.delete();
110
- }
101
+ const { programs, vaos, framebuffer, textureToDelete } = this;
102
+ textureToDelete === null || textureToDelete === void 0 ? void 0 : textureToDelete.delete();
103
+ framebuffer.delete();
111
104
  for (const prg of programs)
112
105
  prg.delete();
106
+ for (const vao of vaos)
107
+ vao.delete();
113
108
  }
114
- paint(time, delay) {
115
- let inputTexture = this.texture;
116
- if (!inputTexture) {
109
+ paint(time, delta) {
110
+ const { texture } = this;
111
+ if (!texture) {
117
112
  console.warn("[TgdPainterFilter] Input texture is undefined!");
118
113
  return;
119
114
  }
120
- const { filters, framebuffers } = this;
121
- let [curFB, nxtFB] = framebuffers;
122
- if (filters.length > 0) {
123
- for (let index = 0; index < filters.length - 1; index++) {
124
- this.filterIndex = index;
125
- this.inputTexture = inputTexture;
126
- curFB.size = inputTexture;
127
- curFB.paint(time, delay);
128
- inputTexture = curFB.textureColor0;
129
- const tmpFB = curFB;
130
- curFB = nxtFB;
131
- nxtFB = tmpFB;
132
- }
115
+ console.log("=".repeat(40));
116
+ const { filters, framebuffer } = this;
117
+ this.textureInput = texture;
118
+ this.textureOutput = this.textureToDelete;
119
+ for (let index = 0; index < filters.length - 1; index++) {
120
+ this.filterIndex = index;
121
+ framebuffer.textureColor0 = this.textureOutput;
122
+ framebuffer.paint(time, delta);
123
+ // Swap textures.
124
+ const temp = this.textureInput;
125
+ this.textureInput = this.textureOutput;
126
+ this.textureOutput = temp;
133
127
  }
134
128
  this.filterIndex = filters.length - 1;
135
- this.inputTexture = inputTexture;
136
- this.paintOneFilter(time, delay, (filters.length & 1) === (this.flipY ? 0 : 1) ? +1 : -1);
129
+ this.paintOneFilter(time, delta, (filters.length & 1) === (this.flipY ? 0 : 1) ? +1 : -1);
130
+ console.log("-".repeat(40));
137
131
  }
138
132
  }
139
133
  function createVAO(context, program) {
@@ -149,4 +143,4 @@ function createVAO(context, program) {
149
143
  throw new Error("Unable to create WebGL VAO!");
150
144
  return vao;
151
145
  }
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhaW50ZXIvZmlsdGVyL2ZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFrQixpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFVMUMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFVBQVU7SUFhNUMsWUFDcUIsT0FHaEIsRUFDRCxPQUFnQzs7UUFFaEMsS0FBSyxFQUFFLENBQUE7UUFOVSxZQUFPLEdBQVAsT0FBTyxDQUd2QjtRQWZFLE1BQUMsR0FBRyxDQUFDLENBQUE7UUFRSixpQkFBWSxHQUE2QixTQUFTLENBQUE7UUFDbEQsZ0JBQVcsR0FBRyxDQUFDLENBQUE7UUFvSE4sbUJBQWMsR0FBRyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQTtZQUM5QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFBO1lBQ3RDLElB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
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhaW50ZXIvZmlsdGVyL2ZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFrQixpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFXMUMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFVBQVU7SUFjNUMsWUFDcUIsT0FBbUIsRUFDcEMsT0FBZ0M7O1FBRWhDLEtBQUssRUFBRSxDQUFBO1FBSFUsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQWJqQyxNQUFDLEdBQUcsQ0FBQyxDQUFBO1FBT0osaUJBQVksR0FBNkIsU0FBUyxDQUFBO1FBQ2xELGtCQUFhLEdBQTZCLFNBQVMsQ0FBQTtRQUNuRCxvQkFBZSxHQUE2QixTQUFTLENBQUE7UUFDckQsZ0JBQVcsR0FBRyxDQUFDLENBQUE7UUF1R04sbUJBQWMsR0FBRyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdB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
@@ -25,7 +25,7 @@ export interface TgdPainterFragmentShaderOptions {
25
25
  context: TgdContext;
26
26
  program: TgdProgram;
27
27
  time: number;
28
- delay: number;
28
+ delta: number;
29
29
  }): void;
30
30
  }
31
31
  export declare class TgdPainterFragmentShader extends TgdPainter {
@@ -35,6 +35,6 @@ export declare class TgdPainterFragmentShader extends TgdPainter {
35
35
  private readonly vao;
36
36
  constructor(context: TgdContext, options: TgdPainterFragmentShaderOptions);
37
37
  delete(): void;
38
- paint(time: number, delay: number): void;
38
+ paint(time: number, delta: number): void;
39
39
  }
40
40
  //# sourceMappingURL=fragment-shader.d.ts.map
@@ -39,7 +39,7 @@ export class TgdPainterFragmentShader extends TgdPainter {
39
39
  vao.delete();
40
40
  program.delete();
41
41
  }
42
- paint(time, delay) {
42
+ paint(time, delta) {
43
43
  var _a;
44
44
  const { vao, program, context, options } = this;
45
45
  const { gl } = context;
@@ -47,7 +47,7 @@ export class TgdPainterFragmentShader extends TgdPainter {
47
47
  program.uniform1f("uniTime", time);
48
48
  program.uniform1f("uniAspectRatio", context.aspectRatio);
49
49
  program.uniform1f("uniAspectRatioInverse", context.aspectRatioInverse);
50
- (_a = options.setUniforms) === null || _a === void 0 ? void 0 : _a.call(options, { context, program, time, delay });
50
+ (_a = options.setUniforms) === null || _a === void 0 ? void 0 : _a.call(options, { context, program, time, delta });
51
51
  vao.bind();
52
52
  gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
53
53
  vao.unbind();
@@ -2,6 +2,7 @@ import type { TgdTexture2D } from "../texture";
2
2
  import type { TgdPainterFunction } from "../types/painter";
3
3
  import { TgdPainterGroup } from "./group";
4
4
  import type { TgdPainter } from "./painter";
5
+ import { TgdContext } from "../context";
5
6
  export interface TgdPainterFramebufferWithAntiAliasingOptions {
6
7
  name?: string;
7
8
  /**
@@ -29,6 +30,11 @@ export interface TgdPainterFramebufferWithAntiAliasingOptions {
29
30
  * Default to `1`.
30
31
  */
31
32
  viewportMatchingScale?: number;
33
+ /**
34
+ * If the size is defined, it takes precedence over `viewportMatchingScale`.
35
+ * In this case, the output textures will have this fixed size.
36
+ */
37
+ fixedSize?: [width: number, height: number];
32
38
  textureColor0?: TgdTexture2D;
33
39
  textureColor1?: TgdTexture2D;
34
40
  textureColor2?: TgdTexture2D;
@@ -48,11 +54,11 @@ export declare class TgdPainterFramebufferWithAntiAliasing extends TgdPainterGro
48
54
  private readonly context;
49
55
  private readonly options;
50
56
  readonly samples: number;
51
- readonly textureColor0: TgdTexture2D | undefined;
52
- readonly textureColor1: TgdTexture2D | undefined;
53
- readonly textureColor2: TgdTexture2D | undefined;
54
- readonly textureColor3: TgdTexture2D | undefined;
55
57
  readonly textureDepth: TgdTexture2D | undefined;
58
+ private _textureColor0;
59
+ private _textureColor1;
60
+ private _textureColor2;
61
+ private _textureColor3;
56
62
  private colorRenderbuffersMSAA;
57
63
  private _depthBufferMSAA;
58
64
  private _framebufferMSAA;
@@ -66,22 +72,27 @@ export declare class TgdPainterFramebufferWithAntiAliasing extends TgdPainterGro
66
72
  private _depthBuffer;
67
73
  private _stencilBuffer;
68
74
  private readonly drawBuffers;
69
- constructor(context: {
70
- gl: WebGL2RenderingContext;
71
- width: Readonly<number>;
72
- height: Readonly<number>;
73
- }, options: Partial<TgdPainterFramebufferWithAntiAliasingOptions>);
75
+ private readonly isFixedSize;
76
+ constructor(context: TgdContext, options: Partial<TgdPainterFramebufferWithAntiAliasingOptions>);
77
+ get textureColor0(): TgdTexture2D | undefined;
78
+ set textureColor0(textureColor0: TgdTexture2D | undefined);
79
+ get textureColor1(): TgdTexture2D | undefined;
80
+ set textureColor1(textureColor1: TgdTexture2D | undefined);
81
+ get textureColor2(): TgdTexture2D | undefined;
82
+ set textureColor2(textureColor2: TgdTexture2D | undefined);
83
+ get textureColor3(): TgdTexture2D | undefined;
84
+ set textureColor3(textureColor3: TgdTexture2D | undefined);
74
85
  get width(): number;
75
- private set width(value);
86
+ set width(v: number);
76
87
  get height(): number;
77
- private set height(value);
88
+ set height(v: number);
78
89
  private updateTextureForColor;
79
90
  private createDepthBufferMSAA;
80
91
  private createStencilBuffer;
81
92
  private createFramebufferMSAA;
82
93
  private createFramebufferIfNeeded;
83
94
  private blitFramebuffers;
84
- paint(time: number, delay: number): void;
95
+ paint(time: number, delta: number): void;
85
96
  delete(): void;
86
97
  private deleteRenderbuffersMSAA;
87
98
  private createRenderbuffersMSAA;
@@ -1 +1 @@
1
- {"version":3,"file":"framebuffer-msaa.d.ts","sourceRoot":"","sources":["../../src/painter/framebuffer-msaa.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,MAAM,WAAW,4CAA4C;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAA;IACtB;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,aAAa,CAAC,EAAE,YAAY,CAAA;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAA;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAA;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAA;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAA;CAC1B;AAED,qBAAa,qCAAsC,SAAQ,eAAe;IAwBlE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAKxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IA5B5B,SAAgB,OAAO,EAAE,MAAM,CAAA;IAC/B,SAAgB,aAAa,EAAE,YAAY,GAAG,SAAS,CAAA;IACvD,SAAgB,aAAa,EAAE,YAAY,GAAG,SAAS,CAAA;IACvD,SAAgB,aAAa,EAAE,YAAY,GAAG,SAAS,CAAA;IACvD,SAAgB,aAAa,EAAE,YAAY,GAAG,SAAS,CAAA;IACvD,SAAgB,YAAY,EAAE,YAAY,GAAG,SAAS,CAAA;IAEtD,OAAO,CAAC,sBAAsB,CAAwC;IACtE,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,gBAAgB,CAAgC;IAExD;;OAEG;IACH,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;gBAGjB,OAAO,EAAE;QACtB,EAAE,EAAE,sBAAsB,CAAA;QAC1B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;QACvB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;KAC3B,EACgB,OAAO,EAAE,OAAO,CAAC,4CAA4C,CAAC;IA8BnF,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,OAAO,KAAK,KAAK,QAKhB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,OAAO,KAAK,MAAM,QAKjB;IAED,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,yBAAyB;IAwBjC,OAAO,CAAC,gBAAgB;IAgBxB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAgBxC,MAAM;IAoBN,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,uBAAuB;CAgBlC"}
1
+ {"version":3,"file":"framebuffer-msaa.d.ts","sourceRoot":"","sources":["../../src/painter/framebuffer-msaa.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,WAAW,4CAA4C;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAA;IACtB;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3C,aAAa,CAAC,EAAE,YAAY,CAAA;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAA;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAA;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAA;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAA;CAC1B;AAED,qBAAa,qCAAsC,SAAQ,eAAe;IA0BlE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IA1B5B,SAAgB,OAAO,EAAE,MAAM,CAAA;IAC/B,SAAgB,YAAY,EAAE,YAAY,GAAG,SAAS,CAAA;IAEtD,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,cAAc,CAA0B;IAEhD,OAAO,CAAC,sBAAsB,CAAwC;IACtE,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,gBAAgB,CAAgC;IAExD;;OAEG;IACH,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAGhB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,OAAO,CAAC,4CAA4C,CAAC;IAqCnF,IAAI,aAAa,IAGgB,YAAY,GAAG,SAAS,CADxD;IACD,IAAI,aAAa,CAAC,aAAa,EAAE,YAAY,GAAG,SAAS,EAKxD;IAED,IAAI,aAAa,IAGgB,YAAY,GAAG,SAAS,CADxD;IACD,IAAI,aAAa,CAAC,aAAa,EAAE,YAAY,GAAG,SAAS,EAKxD;IAED,IAAI,aAAa,IAGgB,YAAY,GAAG,SAAS,CADxD;IACD,IAAI,aAAa,CAAC,aAAa,EAAE,YAAY,GAAG,SAAS,EAKxD;IAED,IAAI,aAAa,IAGgB,YAAY,GAAG,SAAS,CADxD;IACD,IAAI,aAAa,CAAC,aAAa,EAAE,YAAY,GAAG,SAAS,EAKxD;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAKlB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAKnB;IAED,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,yBAAyB;IAuBjC,OAAO,CAAC,gBAAgB;IAgBxB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAsBxC,MAAM;IAoBN,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,uBAAuB;CAgBlC"}
@@ -4,7 +4,6 @@ export class TgdPainterFramebufferWithAntiAliasing extends TgdPainterGroup {
4
4
  constructor(context, options) {
5
5
  var _a;
6
6
  super({
7
- name: options.name,
8
7
  children: options.children,
9
8
  });
10
9
  this.context = context;
@@ -21,6 +20,10 @@ export class TgdPainterFramebufferWithAntiAliasing extends TgdPainterGroup {
21
20
  this._framebuffer = null;
22
21
  this._depthBuffer = null;
23
22
  this._stencilBuffer = null;
23
+ if (options.name)
24
+ this.name = options.name;
25
+ else
26
+ this.name = `FramebufferMSAA/${this.name}`;
24
27
  const { textureColor0, textureColor1, textureColor2, textureColor3 } = options;
25
28
  if (!(textureColor0 || textureColor1 || textureColor2 || textureColor3)) {
26
29
  console.error("[TgdPainterFramebuffer] You gave no color texture in the constructor: nothing will be rendered!", options);
@@ -40,6 +43,48 @@ export class TgdPainterFramebufferWithAntiAliasing extends TgdPainterGroup {
40
43
  this.textureColor3 ? gl.COLOR_ATTACHMENT3 : gl.NONE,
41
44
  ];
42
45
  this.samples = Math.min((_a = options.samples) !== null && _a !== void 0 ? _a : 4, gl.getParameter(gl.MAX_SAMPLES));
46
+ this.isFixedSize = !!options.fixedSize;
47
+ if (options.fixedSize) {
48
+ const [width, height] = options.fixedSize;
49
+ this.width = width;
50
+ this.height = height;
51
+ }
52
+ }
53
+ get textureColor0() {
54
+ return this._textureColor0;
55
+ }
56
+ set textureColor0(textureColor0) {
57
+ if (this._textureColor0 === textureColor0)
58
+ return;
59
+ this._textureColor0 = textureColor0;
60
+ this.dirty = true;
61
+ }
62
+ get textureColor1() {
63
+ return this._textureColor1;
64
+ }
65
+ set textureColor1(textureColor1) {
66
+ if (this._textureColor1 === textureColor1)
67
+ return;
68
+ this._textureColor1 = textureColor1;
69
+ this.dirty = true;
70
+ }
71
+ get textureColor2() {
72
+ return this._textureColor2;
73
+ }
74
+ set textureColor2(textureColor2) {
75
+ if (this._textureColor2 === textureColor2)
76
+ return;
77
+ this._textureColor2 = textureColor2;
78
+ this.dirty = true;
79
+ }
80
+ get textureColor3() {
81
+ return this._textureColor3;
82
+ }
83
+ set textureColor3(textureColor3) {
84
+ if (this._textureColor3 === textureColor3)
85
+ return;
86
+ this._textureColor3 = textureColor3;
87
+ this.dirty = true;
43
88
  }
44
89
  get width() {
45
90
  return this._width;
@@ -82,7 +127,7 @@ export class TgdPainterFramebufferWithAntiAliasing extends TgdPainterGroup {
82
127
  gl.bindRenderbuffer(gl.RENDERBUFFER, null);
83
128
  }
84
129
  createStencilBuffer(gl) {
85
- if (this.options.stencilBuffer !== false) {
130
+ if (this.options.stencilBuffer) {
86
131
  const { width, height } = this;
87
132
  const stencilBuffer = gl.createRenderbuffer();
88
133
  if (!stencilBuffer)
@@ -147,20 +192,26 @@ export class TgdPainterFramebufferWithAntiAliasing extends TgdPainterGroup {
147
192
  gl.bindFramebuffer(gl.READ_FRAMEBUFFER, null);
148
193
  gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, null);
149
194
  }
150
- paint(time, delay) {
195
+ paint(time, delta) {
151
196
  const { context, options } = this;
197
+ const { aspectRatio } = context;
152
198
  const { gl } = context;
153
- const { viewportMatchingScale = 1 } = options;
154
- this.width = Math.round(context.width * viewportMatchingScale);
155
- this.height = Math.round(context.height * viewportMatchingScale);
199
+ if (!this.isFixedSize) {
200
+ const { viewportMatchingScale = 1 } = options;
201
+ this.width = Math.round(context.width * viewportMatchingScale);
202
+ this.height = Math.round(context.height * viewportMatchingScale);
203
+ }
204
+ context.aspectRatio = this.width / this.height;
156
205
  this.createFramebufferIfNeeded();
157
206
  gl.bindFramebuffer(gl.FRAMEBUFFER, this._framebufferMSAA);
207
+ const viewport = context.webglParams.viewport;
158
208
  gl.viewport(0, 0, this.width, this.height);
159
209
  gl.drawBuffers(this.drawBuffers);
160
- super.paint(time, delay);
210
+ super.paint(time, delta);
161
211
  gl.bindFramebuffer(gl.FRAMEBUFFER, null);
162
212
  this.blitFramebuffers();
163
- gl.viewport(0, 0, context.width, context.height);
213
+ context.webglParams.viewport = viewport;
214
+ context.aspectRatio = aspectRatio;
164
215
  }
165
216
  delete() {
166
217
  const { context, _framebuffer, _depthBuffer, _stencilBuffer } = this;
@@ -213,4 +264,4 @@ function nameTexture(texture, name) {
213
264
  }
214
265
  return texture;
215
266
  }
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVidWZmZXItbXNhYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWludGVyL2ZyYW1lYnVmZmVyLW1zYWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBOEN6QyxNQUFNLE9BQU8scUNBQXNDLFNBQVEsZUFBZTtJQXVCdEUsWUFDcUIsT0FJaEIsRUFDZ0IsT0FBOEQ7O1FBRS9FLEtBQUssQ0FBQztZQUNGLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7U0FDN0IsQ0FBQyxDQUFBO1FBVmUsWUFBTyxHQUFQLE9BQU8sQ0FJdkI7UUFDZ0IsWUFBTyxHQUFQLE9BQU8sQ0FBdUQ7UUFyQjNFLDJCQUFzQixHQUFzQyxFQUFFLENBQUE7UUFDOUQscUJBQWdCLEdBQTZCLElBQUksQ0FBQTtRQUNqRCxxQkFBZ0IsR0FBNEIsSUFBSSxDQUFBO1FBRXhEOztXQUVHO1FBQ0ssVUFBSyxHQUFHLElBQUksQ0FBQTtRQUNaLFdBQU0sR0FBRyxDQUFDLENBQUE7UUFDVixZQUFPLEdBQUcsQ0FBQyxDQUFBO1FBQ1gsaUJBQVksR0FBNEIsSUFBSSxDQUFBO1FBQzVDLGlCQUFZLEdBQTZCLElBQUksQ0FBQTtRQUM3QyxtQkFBYyxHQUE2QixJQUFJLENBQUE7UUFlbkQsTUFBTSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUM5RSxJQUFJLENBQUMsQ0FBQyxhQUFhLElBQUksYUFBYSxJQUFJLGFBQWEsSUFBSSxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ3RFLE9BQU8sQ0FBQyxLQUFLLENBQ1QsaUdBQWlHLEVBQ2pHLE9BQU8sQ0FDVixD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
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVidWZmZXItbXNhYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWludGVyL2ZyYW1lYnVmZmVyLW1zYWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBb0R6QyxNQUFNLE9BQU8scUNBQXNDLFNBQVEsZUFBZTtJQXlCdEUsWUFDcUIsT0FBbUIsRUFDbkIsT0FBOEQ7O1FBRS9FLEtBQUssQ0FBQztZQUNGLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtTQUM3QixDQUFDLENBQUE7UUFMZSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQXVEO1FBbEIzRSwyQkFBc0IsR0FBc0MsRUFBRSxDQUFBO1FBQzlELHFCQUFnQixHQUE2QixJQUFJLENBQUE7UUFDakQscUJBQWdCLEdBQTRCLElBQUksQ0FBQTtRQUV4RDs7V0FFRztRQUNLLFVBQUssR0FBRyxJQUFJLENBQUE7UUFDWixXQUFNLEdBQUcsQ0FBQyxDQUFBO1FBQ1YsWUFBTyxHQUFHLENBQUMsQ0FBQTtRQUNYLGlCQUFZLEdBQTRCLElBQUksQ0FBQTtRQUM1QyxpQkFBWSxHQUE2QixJQUFJLENBQUE7UUFDN0MsbUJBQWMsR0FBNkIsSUFBSSxDQUFBO1FBV25ELElBQUksT0FBTyxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7O1lBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsbUJBQW1CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUMvQyxNQUFNLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQzlFLElBQUksQ0FBQyxDQUFDLGFB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