ohzi-core 5.13.2 → 5.14.2

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 (435) hide show
  1. package/{LICENSE.md → LICENSE} +1 -1
  2. package/build/index.module.js +1 -1
  3. package/build/index.module.js.map +1 -1
  4. package/package.json +12 -4
  5. package/src/.vscode/settings.json +3 -0
  6. package/src/BaseApplication.js +20 -0
  7. package/src/CameraManager.js +19 -0
  8. package/src/Capabilities.js +11 -0
  9. package/src/Configuration.js +22 -0
  10. package/src/CustomBezierCurve.js +44 -0
  11. package/src/Debug.js +260 -0
  12. package/src/EventManager.js +150 -0
  13. package/src/Graphics.js +334 -0
  14. package/src/Initializer.js +55 -0
  15. package/src/Input.js +21 -0
  16. package/src/KeyboardInput.js +128 -0
  17. package/src/OS.js +103 -0
  18. package/src/OrthographicCamera.js +13 -0
  19. package/src/PerspectiveCamera.js +13 -0
  20. package/src/ReflectionPlaneContext.js +17 -0
  21. package/src/RenderLayers.js +28 -0
  22. package/src/RenderLoop.js +97 -0
  23. package/src/RenderOrder.js +38 -0
  24. package/src/ResourceContainer.js +39 -0
  25. package/src/SceneManager.js +44 -0
  26. package/src/Screen.js +62 -0
  27. package/src/Time.js +38 -0
  28. package/src/UI.js +90 -0
  29. package/src/action_sequencer/ActionEvent.js +15 -0
  30. package/src/action_sequencer/ActionInterpolator.js +23 -0
  31. package/src/action_sequencer/ActionSequencer.js +195 -0
  32. package/src/action_sequencer/NumberInterpolator.js +24 -0
  33. package/src/action_sequencer/VectorInterpolator.js +20 -0
  34. package/src/blitter_index.js +13 -0
  35. package/src/canvas_drawer/CanvasDrawer.js +111 -0
  36. package/src/canvas_drawer/MultiLineTextDrawer.js +49 -0
  37. package/src/canvas_drawer/SimpleTextDrawer.js +47 -0
  38. package/src/components/AudioClip.js +41 -0
  39. package/src/components/AxisHelper.js +58 -0
  40. package/src/components/BaseObject.js +45 -0
  41. package/src/components/EdgeMesh.js +151 -0
  42. package/src/components/GeometryEdgeVisualizer.js +45 -0
  43. package/src/components/Grid.js +33 -0
  44. package/src/components/Line.js +199 -0
  45. package/src/components/MultiLinePath.js +19 -0
  46. package/src/components/MultiLineText2D.js +62 -0
  47. package/src/components/ObjectAxis.js +20 -0
  48. package/src/components/ObjectOrientedBoundingBox.js +201 -0
  49. package/src/components/PlaneHelper.js +36 -0
  50. package/src/components/Shape2D.js +42 -0
  51. package/src/components/Shape3D.js +38 -0
  52. package/src/components/Text2D.js +39 -0
  53. package/src/components/UIElement.js +208 -0
  54. package/src/components/UpdatableMaterialMesh.js +16 -0
  55. package/src/components/WorldImage.js +91 -0
  56. package/src/components/mouse_interactors/ObjectRotator.js +61 -0
  57. package/src/components/sdf_text/SDFText.js +154 -0
  58. package/src/components/sdf_text/SDFTextBatch.js +193 -0
  59. package/src/components/sdf_text/TextGlyph.js +15 -0
  60. package/src/editor/ManipulatorHandle.js +70 -0
  61. package/src/editor/ObjectEditor.js +66 -0
  62. package/src/editor/ObjectManipulator.js +118 -0
  63. package/src/editor/ObjectPicker.js +75 -0
  64. package/src/editor/shaders/object_picker.frag +6 -0
  65. package/src/editor/shaders/object_picker.vert +8 -0
  66. package/src/gpu_particles/GPUParticleSystem.js +87 -0
  67. package/src/gpu_particles/ParticleAttribute.js +83 -0
  68. package/src/gpu_particles/ParticlePositionAttribute.js +20 -0
  69. package/src/html_utilities/CSSAnimator.js +64 -0
  70. package/src/html_utilities/css_animator_states/Animating.js +45 -0
  71. package/src/html_utilities/css_animator_states/Idle.js +25 -0
  72. package/src/index.js +171 -0
  73. package/src/materials/AddMaterial.js +17 -0
  74. package/src/materials/AlphaFilterMaterial.js +20 -0
  75. package/src/materials/BaseShaderMaterial.js +19 -0
  76. package/src/materials/BlitMaterial.js +28 -0
  77. package/src/materials/BloomComposeMaterial.js +22 -0
  78. package/src/materials/BoxBlurMaterial.js +13 -0
  79. package/src/materials/ClearAlphaMaterial.js +13 -0
  80. package/src/materials/ClearColorMaterial.js +31 -0
  81. package/src/materials/ClearDepthNormalMaterial.js +13 -0
  82. package/src/materials/DeferredRendererComposeMaterial.js +32 -0
  83. package/src/materials/DepthNormalMaterial.js +28 -0
  84. package/src/materials/DisplayNormalTextureMaterial.js +15 -0
  85. package/src/materials/DualFilteringBlurMaterial.js +11 -0
  86. package/src/materials/FXAAMaterial.js +10 -0
  87. package/src/materials/GaussianBlurMaterial.js +28 -0
  88. package/src/materials/LuminosityHighPassMaterial.js +15 -0
  89. package/src/materials/MedianFilterMaterial.js +42 -0
  90. package/src/materials/NormalMaterial.js +17 -0
  91. package/src/materials/SDFScreenTextMaterial.js +31 -0
  92. package/src/materials/SDFTextMaterial.js +37 -0
  93. package/src/materials/SSAOComposeMaterial.js +11 -0
  94. package/src/materials/SSAOMaterial.js +66 -0
  95. package/src/materials/ScreenSpaceTextureMaterial.js +65 -0
  96. package/src/materials/UIElementMaterial.js +25 -0
  97. package/src/materials/UnrealBloomComposeMaterial.js +95 -0
  98. package/src/materials/UnrealBlurMaterial.js +17 -0
  99. package/src/materials/UnrealComposeMaterial.js +24 -0
  100. package/src/materials/ViewPositionMaterial.js +17 -0
  101. package/src/materials/deferred/DeferredPointLightMaterial.js +39 -0
  102. package/src/materials/gpu_particles/AttributeUpdateMaterial.js +33 -0
  103. package/src/materials/gpu_particles/BasicParticleMaterial.js +23 -0
  104. package/src/materials/gpu_particles/ParticleStorageMaterial.js +27 -0
  105. package/src/materials/gpu_particles/PositionStorageMaterial.js +10 -0
  106. package/src/object_pool/Pool.js +73 -0
  107. package/src/primitives/Arrow.js +57 -0
  108. package/src/primitives/Cube.js +17 -0
  109. package/src/primitives/HorizontalPlane.js +18 -0
  110. package/src/primitives/Sphere.js +15 -0
  111. package/src/primitives/VerticalPlane.js +17 -0
  112. package/src/raycast/GroupRaycaster.js +41 -0
  113. package/src/raycast/PlaneDragResolver.js +89 -0
  114. package/src/raycast/PlaneRaycastResolver.js +22 -0
  115. package/src/raycast/PlaneRaycaster.js +23 -0
  116. package/src/raycast/RaycastResolver.js +22 -0
  117. package/src/raycast/SurfaceDragResolver.js +77 -0
  118. package/src/raycast/states/BaseState.js +16 -0
  119. package/src/raycast/states/IdleState.js +17 -0
  120. package/src/raycast/states/OnRaycastEnter.js +15 -0
  121. package/src/raycast/states/OnRaycastExit.js +16 -0
  122. package/src/raycast/states/OnRaycastHover.js +25 -0
  123. package/src/render_mode/BaseRender.js +32 -0
  124. package/src/render_mode/BloomRender.js +60 -0
  125. package/src/render_mode/DebugNormalsRender.js +20 -0
  126. package/src/render_mode/DeferredRender.js +112 -0
  127. package/src/render_mode/NormalAORender.js +71 -0
  128. package/src/render_mode/NormalRender.js +36 -0
  129. package/src/render_mode/OutlineRender.js +154 -0
  130. package/src/render_mode/PlanarReflectionsRender.js +118 -0
  131. package/src/render_mode/TransparencyMixRender.js +143 -0
  132. package/src/render_mode/UnrealBloomRender.js +109 -0
  133. package/src/render_utilities/Blitter.js +99 -0
  134. package/src/render_utilities/Blurrer.js +29 -0
  135. package/src/render_utilities/DepthAndNormalsRenderer.js +45 -0
  136. package/src/render_utilities/DualFilteringBlurrer.js +56 -0
  137. package/src/render_utilities/GaussianBlurrer.js +146 -0
  138. package/src/render_utilities/MedianFilter.js +66 -0
  139. package/src/render_utilities/ViewPositionRenderer.js +48 -0
  140. package/src/resource_loader/AbstractLoader.js +103 -0
  141. package/src/resource_loader/AudioLoader.js +42 -0
  142. package/src/resource_loader/BasisLoader.js +50 -0
  143. package/src/resource_loader/CubemapLoader.js +48 -0
  144. package/src/resource_loader/DAELoader.js +39 -0
  145. package/src/resource_loader/DDSLoader.js +39 -0
  146. package/src/resource_loader/FileLoader.js +39 -0
  147. package/src/resource_loader/FontLoader.js +39 -0
  148. package/src/resource_loader/GLTFDRACOLoader.js +45 -0
  149. package/src/resource_loader/GLTFLoader.js +40 -0
  150. package/src/resource_loader/HDRCubeTextureLoader.js +43 -0
  151. package/src/resource_loader/JSONLoader.js +40 -0
  152. package/src/resource_loader/OBJLoader.js +39 -0
  153. package/src/resource_loader/PointArrayLoader.js +63 -0
  154. package/src/resource_loader/RGBETextureLoader.js +42 -0
  155. package/src/resource_loader/ResourceBatch.js +174 -0
  156. package/src/resource_loader/SVGLoader.js +39 -0
  157. package/src/resource_loader/TextLoader.js +39 -0
  158. package/src/resource_loader/TextureLoader.js +40 -0
  159. package/src/shaders/add/add.frag +9 -0
  160. package/src/shaders/anti_aliasing/fxaa.frag +72 -0
  161. package/src/shaders/basic_color/basic_color.frag +6 -0
  162. package/src/shaders/basic_color/basic_color.vert +10 -0
  163. package/src/shaders/basic_line/basic_line.frag +37 -0
  164. package/src/shaders/basic_line/basic_line.vert +37 -0
  165. package/src/shaders/basic_texture/basic_texture.frag +10 -0
  166. package/src/shaders/basic_texture/basic_texture.vert +17 -0
  167. package/src/shaders/bloom/bloom_compose_frag.glsl +22 -0
  168. package/src/shaders/bloom/cheap_bloom_compose_frag.glsl +13 -0
  169. package/src/shaders/box_blur/box_blur.frag +24 -0
  170. package/src/shaders/box_blur/compose.frag +31 -0
  171. package/src/shaders/clear/clear_depth_normal.frag +25 -0
  172. package/src/shaders/copy/copy.frag +7 -0
  173. package/src/shaders/copy/copy.vert +6 -0
  174. package/src/shaders/deferred/blit_copy.vert +11 -0
  175. package/src/shaders/deferred/deferred_compose.frag +59 -0
  176. package/src/shaders/deferred/point_light.frag +66 -0
  177. package/src/shaders/deferred/point_light.vert +13 -0
  178. package/src/shaders/depth_normals/debug_normals.frag +48 -0
  179. package/src/shaders/depth_normals/depth_normals.frag +30 -0
  180. package/src/shaders/depth_normals/depth_normals.vert +13 -0
  181. package/src/shaders/dual_filter_blur/alpha_filter.frag +14 -0
  182. package/src/shaders/dual_filter_blur/downsample.frag +21 -0
  183. package/src/shaders/dual_filter_blur/upsample.frag +24 -0
  184. package/src/shaders/edge_visualizer/edge_visualizer.frag +18 -0
  185. package/src/shaders/edge_visualizer/edge_visualizer.vert +16 -0
  186. package/src/shaders/edges/corners.frag +11 -0
  187. package/src/shaders/edges/corners.vert +31 -0
  188. package/src/shaders/edges/edges.frag +7 -0
  189. package/src/shaders/edges/edges.vert +27 -0
  190. package/src/shaders/gaussian_blur/gaussian_blur.frag +25 -0
  191. package/src/shaders/gaussian_blur/unreal_bloom_compose.frag +24 -0
  192. package/src/shaders/gpu_particles/common_utils.glsl +13 -0
  193. package/src/shaders/gpu_particles/generic_storage.frag +7 -0
  194. package/src/shaders/gpu_particles/store/store_position.vert +14 -0
  195. package/src/shaders/gpu_particles/update/basic_update.frag +21 -0
  196. package/src/shaders/gpu_particles/visualize/visualize.frag +11 -0
  197. package/src/shaders/gpu_particles/visualize/visualize.vert +12 -0
  198. package/src/shaders/grid/grid.frag +17 -0
  199. package/src/shaders/grid/grid.vert +10 -0
  200. package/src/shaders/luminosity_high_pass/luminosity_high_pass.frag +23 -0
  201. package/src/shaders/median_filter/median_filter.frag +134 -0
  202. package/src/shaders/normal/normal.frag +6 -0
  203. package/src/shaders/normal/normal.vert +6 -0
  204. package/src/shaders/sdf_text/sdf_screen_text.frag +51 -0
  205. package/src/shaders/sdf_text/sdf_screen_text.vert +42 -0
  206. package/src/shaders/sdf_text/sdf_text.frag +53 -0
  207. package/src/shaders/sdf_text/sdf_text.vert +42 -0
  208. package/src/shaders/ssao/hbao.frag +264 -0
  209. package/src/shaders/ssao/ssao.frag +95 -0
  210. package/src/shaders/ssao/ssao.vert +11 -0
  211. package/src/shaders/ssao/ssao_compose.frag +14 -0
  212. package/src/shaders/transparent_mix/copy.frag +7 -0
  213. package/src/shaders/transparent_mix/transparent_mix.frag +19 -0
  214. package/src/shaders/transparent_mix/transparent_mix.vert +8 -0
  215. package/src/shaders/ui/ss_texture.frag +11 -0
  216. package/src/shaders/ui/ss_texture.vert +32 -0
  217. package/src/shaders/ui/ws_texture.vert +39 -0
  218. package/src/shaders/ui_element/ui_element.frag +11 -0
  219. package/src/shaders/ui_element/ui_element.vert +32 -0
  220. package/src/shaders/unreal_blur/unreal_blur.frag +25 -0
  221. package/src/shaders/unreal_blur/unreal_compose.frag +24 -0
  222. package/src/shaders/write_view_position/write_view_position.frag +7 -0
  223. package/src/shaders/write_view_position/write_view_position.vert +9 -0
  224. package/src/static_batcher/GeometryBatch.js +312 -0
  225. package/src/static_batcher/GeometryBatcher.js +62 -0
  226. package/src/ui/ui_element_position/ScreenSpacePosition.js +14 -0
  227. package/src/ui/ui_element_position/WorldSpacePosition.js +21 -0
  228. package/src/ui/ui_element_state/OnIdle.js +17 -0
  229. package/src/ui/ui_element_state/OnMouseEnter.js +26 -0
  230. package/src/ui/ui_element_state/OnMouseExit.js +15 -0
  231. package/src/ui/ui_element_state/OnMouseHover.js +31 -0
  232. package/src/ui/ui_element_state/UIElementState.js +18 -0
  233. package/src/utilities/ArrayUtilities.js +55 -0
  234. package/src/utilities/CameraUtilities.js +197 -0
  235. package/src/utilities/EasingFunctions.js +215 -0
  236. package/src/utilities/FrustumPointFitter.js +255 -0
  237. package/src/utilities/GeometryUtilities.js +74 -0
  238. package/src/utilities/ImageUtilities.js +26 -0
  239. package/src/utilities/MathUtilities.js +110 -0
  240. package/src/utilities/MeshSampler.js +100 -0
  241. package/src/utilities/ModelUtilities.js +161 -0
  242. package/src/utilities/ObjectUtilities.js +55 -0
  243. package/src/utilities/OrthographicFrustumPointFitter.js +47 -0
  244. package/src/utilities/PerspectiveFrustumPointFitter.js +250 -0
  245. package/src/utilities/StringUtilities.js +32 -0
  246. package/src/utilities/TimeUtilities.js +22 -0
  247. package/src/utilities/Validation.js +34 -0
  248. package/src/view_components/ApplicationView.js +60 -0
  249. package/src/view_components/ViewComponent.js +37 -0
  250. package/src/view_components/ViewComponentManager.js +58 -0
  251. package/src/view_components/ViewContext.js +14 -0
  252. package/src/view_components/ViewManager.js +119 -0
  253. package/src/view_components/ViewState.js +54 -0
  254. package/src/view_components/transition/ActionSequencerBuilder.js +91 -0
  255. package/src/view_components/transition/DrawIOAnimationSheet.js +90 -0
  256. package/src/view_components/transition/TransitionTable.js +44 -0
  257. package/src/view_components/transition/ViewStateTransitionHandler.js +81 -0
  258. package/types/BaseApplication.d.ts +8 -0
  259. package/types/CameraManager.d.ts +8 -0
  260. package/types/Capabilities.d.ts +6 -0
  261. package/types/Configuration.d.ts +6 -0
  262. package/types/Debug.d.ts +37 -0
  263. package/types/EventManager.d.ts +42 -0
  264. package/types/Graphics.d.ts +36 -0
  265. package/types/Initializer.d.ts +4 -0
  266. package/types/Input.d.ts +8 -0
  267. package/types/OS.d.ts +19 -0
  268. package/types/OrthographicCamera.d.ts +5 -0
  269. package/types/PerspectiveCamera.d.ts +5 -0
  270. package/types/ReflectionPlaneContext.d.ts +6 -0
  271. package/types/RenderLayers.d.ts +6 -0
  272. package/types/RenderLoop.d.ts +13 -0
  273. package/types/ResourceContainer.d.ts +8 -0
  274. package/types/SceneManager.d.ts +10 -0
  275. package/types/Screen.d.ts +17 -0
  276. package/types/Time.d.ts +11 -0
  277. package/types/UI.d.ts +15 -0
  278. package/types/action_sequencer/ActionEvent.d.ts +6 -0
  279. package/types/action_sequencer/ActionInterpolator.d.ts +5 -0
  280. package/types/action_sequencer/ActionSequencer.d.ts +28 -0
  281. package/types/action_sequencer/NumberInterpolator.d.ts +8 -0
  282. package/types/action_sequencer/VectorInterpolator.d.ts +7 -0
  283. package/types/canvas_drawer/CanvasDrawer.d.ts +13 -0
  284. package/types/canvas_drawer/MultiLineTextDrawer.d.ts +5 -0
  285. package/types/canvas_drawer/SimpleTextDrawer.d.ts +5 -0
  286. package/types/components/AudioClip.d.ts +12 -0
  287. package/types/components/AxisHelper.d.ts +6 -0
  288. package/types/components/BaseObject.d.ts +5 -0
  289. package/types/components/EdgeMesh.d.ts +13 -0
  290. package/types/components/GeometryEdgeVisualizer.d.ts +4 -0
  291. package/types/components/Grid.d.ts +2 -0
  292. package/types/components/Line.d.ts +16 -0
  293. package/types/components/MultiLinePath.d.ts +4 -0
  294. package/types/components/MultiLineText2D.d.ts +10 -0
  295. package/types/components/ObjectAxis.d.ts +3 -0
  296. package/types/components/ObjectOrientedBoundingBox.d.ts +18 -0
  297. package/types/components/PlaneHelper.d.ts +6 -0
  298. package/types/components/Shape2D.d.ts +4 -0
  299. package/types/components/Shape3D.d.ts +3 -0
  300. package/types/components/Text2D.d.ts +13 -0
  301. package/types/components/UIElement.d.ts +52 -0
  302. package/types/components/UpdatableMaterialMesh.d.ts +4 -0
  303. package/types/components/WorldImage.d.ts +13 -0
  304. package/types/components/sdf_text/SDFText.d.ts +30 -0
  305. package/types/components/sdf_text/SDFTextBatch.d.ts +12 -0
  306. package/types/components/sdf_text/TextGlyph.d.ts +6 -0
  307. package/types/editor/ManipulatorHandle.d.ts +14 -0
  308. package/types/editor/ObjectEditor.d.ts +16 -0
  309. package/types/editor/ObjectManipulator.d.ts +19 -0
  310. package/types/editor/ObjectPicker.d.ts +16 -0
  311. package/types/gpu_particles/GPUParticleSystem.d.ts +12 -0
  312. package/types/gpu_particles/ParticleAttribute.d.ts +15 -0
  313. package/types/gpu_particles/ParticlePositionAttribute.d.ts +4 -0
  314. package/types/html_utilities/CSSAnimator.d.ts +30 -0
  315. package/types/html_utilities/css_animator_states/Animating.d.ts +8 -0
  316. package/types/html_utilities/css_animator_states/Idle.d.ts +6 -0
  317. package/types/index.d.ts +73 -0
  318. package/types/materials/AddMaterial.d.ts +5 -0
  319. package/types/materials/AlphaFilterMaterial.d.ts +6 -0
  320. package/types/materials/BaseShaderMaterial.d.ts +3 -0
  321. package/types/materials/BlitMaterial.d.ts +3 -0
  322. package/types/materials/BloomComposeMaterial.d.ts +7 -0
  323. package/types/materials/BoxBlurMaterial.d.ts +4 -0
  324. package/types/materials/ClearAlphaMaterial.d.ts +3 -0
  325. package/types/materials/ClearColorMaterial.d.ts +7 -0
  326. package/types/materials/ClearDepthNormalMaterial.d.ts +4 -0
  327. package/types/materials/DeferredRendererComposeMaterial.d.ts +7 -0
  328. package/types/materials/DepthNormalMaterial.d.ts +4 -0
  329. package/types/materials/DisplayNormalTextureMaterial.d.ts +4 -0
  330. package/types/materials/DualFilteringBlurMaterial.d.ts +4 -0
  331. package/types/materials/FXAAMaterial.d.ts +3 -0
  332. package/types/materials/GaussianBlurMaterial.d.ts +6 -0
  333. package/types/materials/LuminosityHighPassMaterial.d.ts +4 -0
  334. package/types/materials/MedianFilterMaterial.d.ts +6 -0
  335. package/types/materials/NormalMaterial.d.ts +2 -0
  336. package/types/materials/SDFScreenTextMaterial.d.ts +11 -0
  337. package/types/materials/SDFTextMaterial.d.ts +12 -0
  338. package/types/materials/SSAOComposeMaterial.d.ts +4 -0
  339. package/types/materials/SSAOMaterial.d.ts +6 -0
  340. package/types/materials/ScreenSpaceTextureMaterial.d.ts +7 -0
  341. package/types/materials/UIElementMaterial.d.ts +7 -0
  342. package/types/materials/UnrealBloomComposeMaterial.d.ts +17 -0
  343. package/types/materials/UnrealBlurMaterial.d.ts +4 -0
  344. package/types/materials/UnrealComposeMaterial.d.ts +4 -0
  345. package/types/materials/ViewPositionMaterial.d.ts +3 -0
  346. package/types/materials/deferred/DeferredPointLightMaterial.d.ts +10 -0
  347. package/types/materials/gpu_particles/ParticleStorageMaterial.d.ts +3 -0
  348. package/types/materials/gpu_particles/PositionStorageMaterial.d.ts +4 -0
  349. package/types/object_pool/Pool.d.ts +10 -0
  350. package/types/primitives/Arrow.d.ts +8 -0
  351. package/types/primitives/Cube.d.ts +3 -0
  352. package/types/primitives/HorizontalPlane.d.ts +3 -0
  353. package/types/primitives/Sphere.d.ts +3 -0
  354. package/types/primitives/VerticalPlane.d.ts +3 -0
  355. package/types/raycast/GroupRaycaster.d.ts +13 -0
  356. package/types/raycast/PlaneDragResolver.d.ts +14 -0
  357. package/types/raycast/PlaneRaycastResolver.d.ts +5 -0
  358. package/types/raycast/PlaneRaycaster.d.ts +7 -0
  359. package/types/raycast/RaycastResolver.d.ts +5 -0
  360. package/types/raycast/SurfaceDragResolver.d.ts +13 -0
  361. package/types/raycast/states/BaseState.d.ts +5 -0
  362. package/types/raycast/states/IdleState.d.ts +5 -0
  363. package/types/raycast/states/OnRaycastEnter.d.ts +5 -0
  364. package/types/raycast/states/OnRaycastExit.d.ts +4 -0
  365. package/types/raycast/states/OnRaycastHover.d.ts +4 -0
  366. package/types/render_mode/BaseRender.d.ts +7 -0
  367. package/types/render_mode/BloomRender.d.ts +10 -0
  368. package/types/render_mode/DebugNormalsRender.d.ts +4 -0
  369. package/types/render_mode/DeferredRender.d.ts +9 -0
  370. package/types/render_mode/NormalAORender.d.ts +16 -0
  371. package/types/render_mode/NormalRender.d.ts +4 -0
  372. package/types/render_mode/OutlineRender.d.ts +20 -0
  373. package/types/render_mode/PlanarReflectionsRender.d.ts +13 -0
  374. package/types/render_mode/TransparencyMixRender.d.ts +21 -0
  375. package/types/render_mode/UnrealBloomRender.d.ts +19 -0
  376. package/types/render_utilities/Blitter.d.ts +16 -0
  377. package/types/render_utilities/Blurrer.d.ts +9 -0
  378. package/types/render_utilities/DepthAndNormalsRenderer.d.ts +12 -0
  379. package/types/render_utilities/DualFilteringBlurrer.d.ts +19 -0
  380. package/types/render_utilities/GaussianBlurrer.d.ts +27 -0
  381. package/types/render_utilities/MedianFilter.d.ts +10 -0
  382. package/types/render_utilities/ViewPositionRenderer.d.ts +9 -0
  383. package/types/resource_loader/AbstractLoader.d.ts +18 -0
  384. package/types/resource_loader/AudioLoader.d.ts +8 -0
  385. package/types/resource_loader/BasisLoader.d.ts +6 -0
  386. package/types/resource_loader/CubemapLoader.d.ts +7 -0
  387. package/types/resource_loader/DAELoader.d.ts +6 -0
  388. package/types/resource_loader/DDSLoader.d.ts +6 -0
  389. package/types/resource_loader/FileLoader.d.ts +6 -0
  390. package/types/resource_loader/FontLoader.d.ts +6 -0
  391. package/types/resource_loader/GLTFDRACOLoader.d.ts +7 -0
  392. package/types/resource_loader/GLTFLoader.d.ts +5 -0
  393. package/types/resource_loader/HDRCubeTextureLoader.d.ts +7 -0
  394. package/types/resource_loader/JSONLoader.d.ts +6 -0
  395. package/types/resource_loader/OBJLoader.d.ts +6 -0
  396. package/types/resource_loader/PointArrayLoader.d.ts +7 -0
  397. package/types/resource_loader/RGBETextureLoader.d.ts +6 -0
  398. package/types/resource_loader/ResourceBatch.d.ts +28 -0
  399. package/types/resource_loader/SVGLoader.d.ts +6 -0
  400. package/types/resource_loader/TextLoader.d.ts +6 -0
  401. package/types/resource_loader/TextureLoader.d.ts +6 -0
  402. package/types/static_batcher/GeometryBatch.d.ts +37 -0
  403. package/types/static_batcher/GeometryBatcher.d.ts +7 -0
  404. package/types/ui/ui_element_position/ScreenSpacePosition.d.ts +4 -0
  405. package/types/ui/ui_element_position/WorldSpacePosition.d.ts +5 -0
  406. package/types/ui/ui_element_state/OnIdle.d.ts +5 -0
  407. package/types/ui/ui_element_state/OnMouseEnter.d.ts +5 -0
  408. package/types/ui/ui_element_state/OnMouseExit.d.ts +5 -0
  409. package/types/ui/ui_element_state/OnMouseHover.d.ts +5 -0
  410. package/types/ui/ui_element_state/UIElementState.d.ts +5 -0
  411. package/types/utilities/ArrayUtilities.d.ts +7 -0
  412. package/types/utilities/CameraUtilities.d.ts +24 -0
  413. package/types/utilities/EasingFunctions.d.ts +35 -0
  414. package/types/utilities/FrustumPointFitter.d.ts +14 -0
  415. package/types/utilities/GeometryUtilities.d.ts +4 -0
  416. package/types/utilities/ImageUtilities.d.ts +4 -0
  417. package/types/utilities/MathUtilities.d.ts +12 -0
  418. package/types/utilities/MeshSampler.d.ts +14 -0
  419. package/types/utilities/ModelUtilities.d.ts +13 -0
  420. package/types/utilities/ObjectUtilities.d.ts +5 -0
  421. package/types/utilities/OrthographicFrustumPointFitter.d.ts +7 -0
  422. package/types/utilities/PerspectiveFrustumPointFitter.d.ts +12 -0
  423. package/types/utilities/StringUtilities.d.ts +5 -0
  424. package/types/utilities/TimeUtilities.d.ts +3 -0
  425. package/types/utilities/Validation.d.ts +6 -0
  426. package/types/view_components/ApplicationView.d.ts +11 -0
  427. package/types/view_components/ViewComponent.d.ts +13 -0
  428. package/types/view_components/ViewComponentManager.d.ts +10 -0
  429. package/types/view_components/ViewContext.d.ts +6 -0
  430. package/types/view_components/ViewManager.d.ts +24 -0
  431. package/types/view_components/ViewState.d.ts +15 -0
  432. package/types/view_components/transition/ActionSequencerBuilder.d.ts +15 -0
  433. package/types/view_components/transition/DrawIOAnimationSheet.d.ts +17 -0
  434. package/types/view_components/transition/TransitionTable.d.ts +8 -0
  435. package/types/view_components/transition/ViewStateTransitionHandler.d.ts +16 -0
@@ -0,0 +1,83 @@
1
+ import Graphics from '../Graphics';
2
+
3
+ import { Scene } from 'three';
4
+ import { NearestFilter } from 'three';
5
+ import { RGBAFormat } from 'three';
6
+ import { LinearEncoding } from 'three';
7
+ import { HalfFloatType } from 'three';
8
+ import { FloatType } from 'three';
9
+ import { WebGLRenderTarget } from 'three';
10
+ import { Points } from 'three';
11
+
12
+ export default class ParticleAttribute
13
+ {
14
+ constructor(attr_name)
15
+ {
16
+ this.read = undefined;
17
+ this.write = undefined;
18
+
19
+ this.name = attr_name;
20
+
21
+ this.update_material = undefined;
22
+
23
+ this.update_scene = new Scene();
24
+ }
25
+
26
+ init_from_geometry(geometry)
27
+ {
28
+ // overrided by inheritance
29
+ }
30
+
31
+ init_from_attribute(particle_attribute)
32
+ {
33
+
34
+ }
35
+
36
+ build_RT(particle_count)
37
+ {
38
+ let resolution = this.calculate_resolution(particle_count);
39
+ let options = {
40
+ minFilter: NearestFilter,
41
+ magFilter: NearestFilter,
42
+ format: RGBAFormat,
43
+ encoding: LinearEncoding,
44
+ type: (/(iPad|iPhone|iPod)/g.test(navigator.userAgent)) ? HalfFloatType : FloatType,
45
+ stencilBuffer: false,
46
+ depthBuffer: false
47
+ };
48
+
49
+ return new WebGLRenderTarget(resolution, resolution, options);
50
+ }
51
+
52
+ calculate_resolution(particle_count)
53
+ {
54
+ return Math.ceil(Math.sqrt(particle_count));
55
+ }
56
+
57
+ swap_RT()
58
+ {
59
+ let tmp = this.read;
60
+ this.read = this.write;
61
+ this.write = tmp;
62
+ }
63
+
64
+ update()
65
+ {
66
+ if (this.update_material)
67
+ {
68
+ Graphics.blit(this.read, this.write, this.update_material);
69
+ this.swap_RT();
70
+ }
71
+ }
72
+
73
+ render_geometry_to_RT(geometry, material, RT)
74
+ {
75
+ let points = new Points(geometry, material);
76
+ points.frustumCulled = false;
77
+ // let scene = new Scene();
78
+ // scene.add( points );
79
+ this.update_scene.add(points);
80
+ Graphics.render(this.update_scene, undefined, RT);
81
+ // Graphics.render(scene, undefined, RT);
82
+ }
83
+ }
@@ -0,0 +1,20 @@
1
+ import ParticleAttribute from '../gpu_particles/ParticleAttribute';
2
+ import PositionStorageMaterial from '../materials/gpu_particles/PositionStorageMaterial';
3
+
4
+ export default class ParticlePositionAttribute extends ParticleAttribute
5
+ {
6
+ constructor()
7
+ {
8
+ super('_Position');
9
+ }
10
+
11
+ init_from_geometry(geometry)
12
+ {
13
+ let pos_attr = geometry.getAttribute('position');
14
+ this.read = this.build_RT(pos_attr.count);
15
+ this.write = this.build_RT(pos_attr.count);
16
+
17
+ let mat = new PositionStorageMaterial();
18
+ this.render_geometry_to_RT(geometry, mat, this.read);
19
+ }
20
+ }
@@ -0,0 +1,64 @@
1
+ import Animating from './css_animator_states/Animating';
2
+ import Idle from './css_animator_states/Idle';
3
+ import EasingFunctions from '../utilities/EasingFunctions';
4
+
5
+ export default class CSSAnimator
6
+ {
7
+ constructor({
8
+ element,
9
+ css_property,
10
+ from = 0,
11
+ to = 1,
12
+ duration = 1,
13
+ value_prefix = '',
14
+ value_suffix = '',
15
+ easing_function = EasingFunctions.ease_in_out_cubic,
16
+ finished_callback = () =>
17
+ {}
18
+ })
19
+ {
20
+ this.element = element;
21
+ this.css_property = css_property;
22
+ this.from = from;
23
+ this.to = to;
24
+ this.value_prefix = value_prefix;
25
+ this.value_suffix = value_suffix;
26
+ this.duration = duration;
27
+ this.easing_function = easing_function;
28
+ this.finished_callback = finished_callback;
29
+
30
+ this.current_state = new Idle();
31
+ }
32
+
33
+ animate()
34
+ {
35
+ this.set_current_state(new Animating());
36
+ }
37
+
38
+ stop()
39
+ {
40
+ this.set_current_state(new Idle());
41
+ }
42
+
43
+ set_property_value(value)
44
+ {
45
+ this.element.style[this.css_property] = `${this.value_prefix}${value}${this.value_suffix}`;
46
+ }
47
+
48
+ update()
49
+ {
50
+ this.current_state.update(this);
51
+ }
52
+
53
+ get is_animating()
54
+ {
55
+ return this.current_state.is_animating;
56
+ }
57
+
58
+ set_current_state(state)
59
+ {
60
+ this.current_state.on_exit(this);
61
+ this.current_state = state;
62
+ this.current_state.on_enter(this);
63
+ }
64
+ }
@@ -0,0 +1,45 @@
1
+ import Time from '../../Time';
2
+ import Idle from './Idle';
3
+
4
+ import { Math as TMath } from 'three';
5
+
6
+ export default class Animating
7
+ {
8
+ constructor()
9
+ {
10
+ this.t = 0;
11
+ this.easing_function_t = 0;
12
+ }
13
+
14
+ get is_animating()
15
+ {
16
+ return true;
17
+ }
18
+
19
+ on_enter(animator)
20
+ {
21
+ }
22
+
23
+ update(animator)
24
+ {
25
+ this.t += Time.delta_time / animator.duration;
26
+
27
+ this.easing_function_t = animator.easing_function(this.t);
28
+ this.easing_function_t = TMath.clamp(this.easing_function_t, 0, 1);
29
+
30
+ animator.set_property_value(TMath.lerp(animator.from, animator.to, this.easing_function_t));
31
+
32
+ if (this.easing_function_t >= 0.9999)
33
+ {
34
+ animator.set_property_value(animator.to);
35
+
36
+ animator.set_current_state(new Idle());
37
+ animator.finished_callback(animator);
38
+ }
39
+ }
40
+
41
+ on_exit(view)
42
+ {
43
+
44
+ }
45
+ }
@@ -0,0 +1,25 @@
1
+ export default class Idle
2
+ {
3
+ constructor()
4
+ {
5
+ }
6
+
7
+ get is_animating()
8
+ {
9
+ return false;
10
+ }
11
+
12
+ on_enter(view)
13
+ {
14
+
15
+ }
16
+
17
+ update(view)
18
+ {
19
+ }
20
+
21
+ on_exit(view)
22
+ {
23
+
24
+ }
25
+ }
package/src/index.js ADDED
@@ -0,0 +1,171 @@
1
+ import AbstractLoader from './resource_loader/AbstractLoader';
2
+ import ActionSequencerBuilder from './view_components/transition/ActionSequencerBuilder';
3
+ import ApplicationView from './view_components/ApplicationView';
4
+ import BaseApplication from './BaseApplication';
5
+ import BaseRender from './render_mode/BaseRender';
6
+ import BaseShaderMaterial from './materials/BaseShaderMaterial';
7
+ import BasisLoader from './resource_loader/BasisLoader.js';
8
+ import BlitMaterial from './materials/BlitMaterial';
9
+ import CameraManager from './CameraManager';
10
+ import Capabilities from './Capabilities';
11
+ import CanvasDrawer from './canvas_drawer/CanvasDrawer';
12
+ import Configuration from './Configuration';
13
+ import CSSAnimator from './html_utilities/CSSAnimator';
14
+ import DrawIOAnimationSheet from './view_components/transition/DrawIOAnimationSheet';
15
+ import Debug from './Debug';
16
+ import DebugNormalsRender from './render_mode/DebugNormalsRender';
17
+ import EventManager from './EventManager';
18
+ import Graphics from './Graphics';
19
+ import Input from './Input';
20
+ import Initializer from './Initializer';
21
+ import JSONLoader from './resource_loader/JSONLoader';
22
+ import NormalAORender from './render_mode/NormalAORender';
23
+ import NormalRender from './render_mode/NormalRender';
24
+ import UnrealBloomRender from './render_mode/UnrealBloomRender';
25
+ import OrthographicCamera from './OrthographicCamera';
26
+ import OS from './OS';
27
+ import PerspectiveCamera from './PerspectiveCamera';
28
+ import RenderLoop from './RenderLoop';
29
+ import ResourceBatch from './resource_loader/ResourceBatch';
30
+ import ResourceContainer from './ResourceContainer';
31
+ import SceneManager from './SceneManager';
32
+ import Screen from './Screen';
33
+ import SimpleTextDrawer from './canvas_drawer/SimpleTextDrawer';
34
+ import Time from './Time';
35
+ import UI from './UI';
36
+ import ViewComponent from './view_components/ViewComponent';
37
+ import ViewComponentManager from './view_components/ViewComponentManager';
38
+ import ViewManager from './view_components/ViewManager';
39
+ import ViewContext from './view_components/ViewContext';
40
+ import TransitionTable from './view_components/transition/TransitionTable';
41
+
42
+ import Arrow from './primitives/Arrow';
43
+ import Cube from './primitives/Cube';
44
+ import HorizontalPlane from './primitives/HorizontalPlane';
45
+ import Sphere from './primitives/Sphere';
46
+ import VerticalPlane from './primitives/VerticalPlane';
47
+
48
+ import ArrayUtilities from './utilities/ArrayUtilities';
49
+ import CameraUtilities from './utilities/CameraUtilities';
50
+ import EasingFunctions from './utilities/EasingFunctions';
51
+ import FrustumPointFitter from './utilities/FrustumPointFitter';
52
+ import GeometryUtilities from './utilities/GeometryUtilities';
53
+ import ImageUtilities from './utilities/ImageUtilities';
54
+ import MathUtilities from './utilities/MathUtilities';
55
+ import MeshSampler from './utilities/MeshSampler';
56
+ import ModelUtilities from './utilities/ModelUtilities';
57
+ import ObjectUtilities from './utilities/ObjectUtilities';
58
+ import StringUtilities from './utilities/StringUtilities';
59
+ import TimeUtilities from './utilities/TimeUtilities';
60
+ import Validation from './utilities/Validation';
61
+ import PerspectiveFrustumPointFitter from './utilities/PerspectiveFrustumPointFitter';
62
+ import OrthographicFrustumPointFitter from './utilities/OrthographicFrustumPointFitter';
63
+
64
+ import Grid from './components/Grid';
65
+ import Line from './components/Line';
66
+ import Text2D from './components/Text2D';
67
+ import UIElement from './components/UIElement';
68
+ import UpdatableMaterialMesh from './components/UpdatableMaterialMesh';
69
+
70
+ import SDFTextBatch from './components/sdf_text/SDFTextBatch';
71
+
72
+ import ActionSequencer from './action_sequencer/ActionSequencer';
73
+ import ActionEvent from './action_sequencer/ActionEvent';
74
+ import ActionInterpolator from './action_sequencer/ActionInterpolator';
75
+ import NumberInterpolator from './action_sequencer/NumberInterpolator';
76
+ import VectorInterpolator from './action_sequencer/VectorInterpolator';
77
+
78
+ import MedianFilter from './render_utilities/MedianFilter';
79
+ import GaussianBlurrer from './render_utilities/GaussianBlurrer';
80
+ import DualFilteringBlurrer from './render_utilities/DualFilteringBlurrer';
81
+
82
+ import Blurrer from './render_utilities/Blurrer';
83
+
84
+ import GPUParticleSystem from './gpu_particles/GPUParticleSystem';
85
+
86
+ import DualFilteringBlurMaterial from './materials/DualFilteringBlurMaterial';
87
+
88
+ export {
89
+ AbstractLoader,
90
+ ActionSequencerBuilder,
91
+ ApplicationView,
92
+ BaseApplication,
93
+ BaseShaderMaterial,
94
+ BasisLoader,
95
+ CameraManager,
96
+ Capabilities,
97
+ CanvasDrawer,
98
+ Configuration,
99
+ CSSAnimator,
100
+ DrawIOAnimationSheet,
101
+ Debug,
102
+ DebugNormalsRender,
103
+ EventManager,
104
+ Graphics,
105
+ Input,
106
+ Initializer,
107
+ JSONLoader,
108
+ NormalAORender,
109
+ NormalRender,
110
+ UnrealBloomRender,
111
+ OrthographicCamera,
112
+ OS,
113
+ PerspectiveCamera,
114
+ RenderLoop,
115
+ ResourceBatch,
116
+ ResourceContainer,
117
+ SceneManager,
118
+ Screen,
119
+ SimpleTextDrawer,
120
+ Time,
121
+ UI,
122
+ BlitMaterial,
123
+ BaseRender,
124
+ ArrayUtilities,
125
+ CameraUtilities,
126
+ EasingFunctions,
127
+ FrustumPointFitter,
128
+ GeometryUtilities,
129
+ ImageUtilities,
130
+ MathUtilities,
131
+ MeshSampler,
132
+ ModelUtilities,
133
+ ObjectUtilities,
134
+ StringUtilities,
135
+ TimeUtilities,
136
+ Validation,
137
+ ViewComponent,
138
+ ViewComponentManager,
139
+ ViewManager,
140
+ Grid,
141
+ Line,
142
+ Text2D,
143
+ TransitionTable,
144
+ UIElement,
145
+ SDFTextBatch,
146
+ UpdatableMaterialMesh,
147
+
148
+ Arrow,
149
+ Cube,
150
+ HorizontalPlane,
151
+ Sphere,
152
+ VerticalPlane,
153
+
154
+ ActionSequencer,
155
+ ActionEvent,
156
+ ActionInterpolator,
157
+ NumberInterpolator,
158
+ VectorInterpolator,
159
+ ViewContext,
160
+
161
+ MedianFilter,
162
+ GaussianBlurrer,
163
+ Blurrer,
164
+ DualFilteringBlurrer,
165
+
166
+ GPUParticleSystem,
167
+ PerspectiveFrustumPointFitter,
168
+ OrthographicFrustumPointFitter,
169
+
170
+ DualFilteringBlurMaterial
171
+ };
@@ -0,0 +1,17 @@
1
+ import BlitMaterial from './BlitMaterial';
2
+ import frag from '../shaders/add/add.frag';
3
+
4
+ export default class AddMaterial extends BlitMaterial
5
+ {
6
+ constructor(nMips)
7
+ {
8
+ super(frag);
9
+
10
+ this.uniforms._SecondTex = { value: undefined };
11
+ }
12
+
13
+ set_add_texture(tex)
14
+ {
15
+ this.uniforms._SecondTex.value = tex;
16
+ }
17
+ }
@@ -0,0 +1,20 @@
1
+ import BlitMaterial from './BlitMaterial';
2
+ import frag from '../shaders/dual_filter_blur/alpha_filter.frag';
3
+
4
+ export default class AlphaFilterMaterial extends BlitMaterial
5
+ {
6
+ constructor(use_alpha_mask, upsample)
7
+ {
8
+ super(frag);
9
+ }
10
+
11
+ set offset(value)
12
+ {
13
+ this.uniforms._Offset.value = value;
14
+ }
15
+
16
+ get offset()
17
+ {
18
+ return this.uniforms._Offset.value;
19
+ }
20
+ }
@@ -0,0 +1,19 @@
1
+ import basic_vert from '../shaders/basic_color/basic_color.vert';
2
+ import basic_frag from '../shaders/basic_color/basic_color.frag';
3
+
4
+ import { ShaderMaterial } from 'three';
5
+ import { Color } from 'three';
6
+
7
+ export default class BaseShaderMaterial extends ShaderMaterial
8
+ {
9
+ constructor(vert, frag, uniforms)
10
+ {
11
+ super({
12
+ vertexShader: vert || basic_vert,
13
+ fragmentShader: frag || basic_frag,
14
+ uniforms: uniforms || {
15
+ _Color: { value: new Color('#FF0000') }
16
+ }
17
+ });
18
+ }
19
+ }
@@ -0,0 +1,28 @@
1
+ import vert from '../shaders/copy/copy.vert';
2
+ import frag from '../shaders/copy/copy.frag';
3
+
4
+ import { ShaderMaterial } from 'three';
5
+ import { Vector2 } from 'three';
6
+ import { NoBlending } from 'three';
7
+ import { AlwaysDepth } from 'three';
8
+
9
+ export default class BlitMaterial extends ShaderMaterial
10
+ {
11
+ constructor(frag_shader, vert_shader, defines)
12
+ {
13
+ super({
14
+ uniforms: {
15
+ _MainTex: { value: null },
16
+ _Resolution: { value: new Vector2(0, 0) },
17
+ _TargetResolution: { value: new Vector2(0, 0) }
18
+ },
19
+ defines: defines || {},
20
+ vertexShader: vert_shader || vert,
21
+ fragmentShader: frag_shader || frag,
22
+ depthWrite: false,
23
+ blending: NoBlending,
24
+ depthTest: false,
25
+ depthFunc: AlwaysDepth
26
+ });
27
+ }
28
+ }
@@ -0,0 +1,22 @@
1
+ import BlitMaterial from './BlitMaterial';
2
+ import frag from '../shaders/bloom/bloom_compose_frag';
3
+ import cheap_frag from '../shaders/bloom/cheap_bloom_compose_frag';
4
+ import { CustomBlending, OneFactor } from 'three';
5
+
6
+ export default class BloomComposeMaterial extends BlitMaterial
7
+ {
8
+ constructor(alpha_blending)
9
+ {
10
+ super(alpha_blending ? cheap_frag : frag);
11
+ this.uniforms._MainTex = { value: undefined };
12
+ this.uniforms._BlurredTex = { value: undefined };
13
+ this.uniforms._BloomStrength = { value: 1 };
14
+
15
+ if (alpha_blending)
16
+ {
17
+ this.blending = CustomBlending;
18
+ this.blendSrc = OneFactor;
19
+ this.blendDst = OneFactor;
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,13 @@
1
+ import BlitMaterial from '../materials/BlitMaterial';
2
+ import frag from '../shaders/box_blur/box_blur.frag';
3
+
4
+ import { Vector2 } from 'three';
5
+
6
+ export default class BoxBlurMaterial extends BlitMaterial
7
+ {
8
+ constructor()
9
+ {
10
+ super(frag);
11
+ this.uniforms._SampleDir = { value: new Vector2() };
12
+ }
13
+ }
@@ -0,0 +1,13 @@
1
+ import BlitMaterial from 'js/core/materials/BlitMaterial';
2
+ import frag from 'js/core/shaders/clear/clear_alpha';
3
+ import { SubtractiveBlending } from 'three';
4
+
5
+ export default class ClearAlphaMaterial extends BlitMaterial
6
+ {
7
+ constructor()
8
+ {
9
+ super(frag);
10
+
11
+ this.blending = SubtractiveBlending;
12
+ }
13
+ }
@@ -0,0 +1,31 @@
1
+ import BlitMaterial from 'js/core/materials/BlitMaterial';
2
+ import frag from 'js/core/shaders/clear/clear_color';
3
+ import { LessEqualDepth, Color } from 'three';
4
+
5
+ export default class ClearColorMaterial extends BlitMaterial
6
+ {
7
+ constructor()
8
+ {
9
+ super(frag);
10
+ this.uniforms._Color = { value: new Color() };
11
+ this.uniforms._Opacity = { value: 1 };
12
+
13
+ this.depthTest = true;
14
+ this.depthFunc = LessEqualDepth;
15
+ }
16
+
17
+ set_color(col)
18
+ {
19
+ this.uniforms._Color.value.set(col);
20
+ }
21
+
22
+ copy_color(col)
23
+ {
24
+ this.uniforms._Color.value.copy(col);
25
+ }
26
+
27
+ set_opacity(value)
28
+ {
29
+ this.uniforms._Opacity.value = value;
30
+ }
31
+ }
@@ -0,0 +1,13 @@
1
+ import BlitMaterial from '../materials/BlitMaterial';
2
+ import frag from '../shaders/clear/clear_depth_normal.frag';
3
+
4
+ import { Vector4 } from 'three';
5
+
6
+ export default class ClearDepthNormalMaterial extends BlitMaterial
7
+ {
8
+ constructor(clear_depth, clear_normal)
9
+ {
10
+ super(frag);
11
+ this.uniforms._DepthNormal = { value: new Vector4(clear_depth, clear_normal.x, clear_normal.y, clear_normal.z) };
12
+ }
13
+ }
@@ -0,0 +1,32 @@
1
+ import BlitMaterial from '../materials/BlitMaterial';
2
+ import frag from '../shaders/deferred/deferred_compose.frag';
3
+ import vert from '../shaders/deferred/blit_copy.vert';
4
+
5
+ import { Matrix4 } from 'three';
6
+
7
+ export default class DeferredRendererComposeMaterial extends BlitMaterial
8
+ {
9
+ constructor()
10
+ {
11
+ super(frag, vert);
12
+
13
+ this.uniforms._NormalDepthRT = { value: undefined };
14
+ this.uniforms._AlbedoRT = { value: undefined };
15
+ this.uniforms._InverseProjMatrix = { value: new Matrix4() };
16
+ }
17
+
18
+ set_normal_depth_rt(rt)
19
+ {
20
+ this.uniforms._NormalDepthRT.value = rt.texture;
21
+ }
22
+
23
+ set_albedo_rt(tex)
24
+ {
25
+ this.uniforms._AlbedoRT.value = tex;
26
+ }
27
+
28
+ set_proj_matrix(mat4)
29
+ {
30
+ this.uniforms._InverseProjMatrix.value.getInverse(mat4);
31
+ }
32
+ }
@@ -0,0 +1,28 @@
1
+ import vert from '../shaders/depth_normals/depth_normals.vert';
2
+ import frag from '../shaders/depth_normals/depth_normals.frag';
3
+
4
+ import { ShaderMaterial } from 'three';
5
+
6
+ export default class DepthNormalMaterial extends ShaderMaterial
7
+ {
8
+ constructor()
9
+ {
10
+ super({
11
+ uniforms: {
12
+ _FarPlane: { value: 1 }
13
+ },
14
+ vertexShader: vert,
15
+ fragmentShader: frag
16
+ });
17
+ }
18
+
19
+ set far_plane(value)
20
+ {
21
+ this.uniforms._FarPlane.value = value;
22
+ }
23
+
24
+ get far_plane()
25
+ {
26
+ return this.uniforms._FarPlane.value;
27
+ }
28
+ }
@@ -0,0 +1,15 @@
1
+ import BlitMaterial from '../materials/BlitMaterial';
2
+ import frag from '../shaders/depth_normals/debug_normals.frag';
3
+ import depth_normals_vert from '../shaders/ssao/ssao.vert';
4
+
5
+ import { Matrix4 } from 'three';
6
+
7
+ export default class DisplayNormalTextureMaterial extends BlitMaterial
8
+ {
9
+ constructor()
10
+ {
11
+ super(frag, depth_normals_vert);
12
+ this.uniforms._FarPlane = { value: 1 };
13
+ this.uniforms._InverseProjMatrix = { value: new Matrix4() };
14
+ }
15
+ }
@@ -0,0 +1,11 @@
1
+ import BlitMaterial from './BlitMaterial';
2
+ import downsample_frag from '../shaders/dual_filter_blur/downsample.frag';
3
+ import upsample_frag from '../shaders/dual_filter_blur/upsample.frag';
4
+
5
+ export default class DualFilteringBlurMaterial extends BlitMaterial
6
+ {
7
+ constructor(upsample)
8
+ {
9
+ super(upsample ? upsample_frag : downsample_frag);
10
+ }
11
+ }