ohzi-core 5.18.3 → 5.19.0

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 (431) hide show
  1. package/README.md +9 -9
  2. package/build/index.module.js +1 -1
  3. package/build/index.module.js.map +1 -1
  4. package/package.json +55 -55
  5. package/src/.vscode/settings.json +2 -2
  6. package/src/BaseApplication.js +23 -20
  7. package/src/Browser.js +79 -79
  8. package/src/CameraManager.js +19 -19
  9. package/src/Capabilities.js +11 -11
  10. package/src/Configuration.js +22 -22
  11. package/src/CustomBezierCurve.js +44 -44
  12. package/src/Debug.js +260 -260
  13. package/src/EventManager.js +150 -150
  14. package/src/Graphics.js +325 -325
  15. package/src/Initializer.js +57 -57
  16. package/src/Input.js +21 -21
  17. package/src/KeyboardInput.js +128 -128
  18. package/src/OS.js +58 -58
  19. package/src/OrthographicCamera.js +13 -13
  20. package/src/PerspectiveCamera.js +13 -13
  21. package/src/ReflectionPlaneContext.js +17 -17
  22. package/src/RenderLayers.js +28 -28
  23. package/src/RenderLoop.js +97 -95
  24. package/src/RenderOrder.js +38 -38
  25. package/src/ResourceContainer.js +39 -39
  26. package/src/SceneManager.js +44 -44
  27. package/src/Screen.js +62 -62
  28. package/src/Time.js +38 -38
  29. package/src/UI.js +90 -90
  30. package/src/action_sequencer/ActionEvent.js +15 -15
  31. package/src/action_sequencer/ActionInterpolator.js +23 -23
  32. package/src/action_sequencer/ActionSequencer.js +195 -195
  33. package/src/action_sequencer/NumberInterpolator.js +24 -24
  34. package/src/action_sequencer/VectorInterpolator.js +20 -20
  35. package/src/blitter_index.js +13 -13
  36. package/src/canvas_drawer/CanvasDrawer.js +111 -111
  37. package/src/canvas_drawer/MultiLineTextDrawer.js +49 -49
  38. package/src/canvas_drawer/SimpleTextDrawer.js +47 -47
  39. package/src/components/AudioClip.js +55 -55
  40. package/src/components/AxisHelper.js +58 -58
  41. package/src/components/BaseObject.js +45 -45
  42. package/src/components/EdgeMesh.js +151 -151
  43. package/src/components/GeometryEdgeVisualizer.js +45 -45
  44. package/src/components/Grid.js +33 -33
  45. package/src/components/Line.js +199 -199
  46. package/src/components/MultiLinePath.js +19 -19
  47. package/src/components/MultiLineText2D.js +62 -62
  48. package/src/components/ObjectAxis.js +20 -20
  49. package/src/components/ObjectOrientedBoundingBox.js +201 -201
  50. package/src/components/PlaneHelper.js +36 -36
  51. package/src/components/Shape2D.js +42 -42
  52. package/src/components/Shape3D.js +38 -38
  53. package/src/components/Text2D.js +39 -39
  54. package/src/components/UIElement.js +208 -208
  55. package/src/components/UpdatableMaterialMesh.js +16 -16
  56. package/src/components/WorldImage.js +91 -91
  57. package/src/components/mouse_interactors/ObjectRotator.js +61 -61
  58. package/src/components/sdf_text/SDFText.js +154 -154
  59. package/src/components/sdf_text/SDFTextBatch.js +193 -193
  60. package/src/components/sdf_text/TextGlyph.js +15 -15
  61. package/src/data_textures/CustomDataTexture.js +51 -51
  62. package/src/data_textures/RGBADataTexture.js +12 -12
  63. package/src/data_textures/RGBAFloatDataTexture.js +12 -12
  64. package/src/data_textures/RGBDataTexture.js +12 -12
  65. package/src/data_textures/RGBFloatDataTexture.js +12 -12
  66. package/src/editor/ManipulatorHandle.js +70 -70
  67. package/src/editor/ObjectEditor.js +66 -66
  68. package/src/editor/ObjectManipulator.js +118 -118
  69. package/src/editor/ObjectPicker.js +75 -75
  70. package/src/editor/shaders/object_picker.frag +5 -5
  71. package/src/editor/shaders/object_picker.vert +7 -7
  72. package/src/gpu_particles/GPUParticleSystem.js +87 -87
  73. package/src/gpu_particles/ParticleAttribute.js +83 -83
  74. package/src/gpu_particles/ParticlePositionAttribute.js +20 -20
  75. package/src/html_utilities/CSSAnimator.js +64 -64
  76. package/src/html_utilities/css_animator_states/Animating.js +45 -45
  77. package/src/html_utilities/css_animator_states/Idle.js +25 -25
  78. package/src/index.js +179 -179
  79. package/src/materials/AddMaterial.js +17 -17
  80. package/src/materials/AlphaFilterMaterial.js +20 -20
  81. package/src/materials/BaseShaderMaterial.js +19 -19
  82. package/src/materials/BlitMaterial.js +28 -28
  83. package/src/materials/BloomComposeMaterial.js +22 -22
  84. package/src/materials/BoxBlurMaterial.js +13 -13
  85. package/src/materials/ClearAlphaMaterial.js +13 -13
  86. package/src/materials/ClearColorMaterial.js +31 -31
  87. package/src/materials/ClearDepthNormalMaterial.js +13 -13
  88. package/src/materials/DeferredRendererComposeMaterial.js +32 -32
  89. package/src/materials/DepthNormalMaterial.js +28 -28
  90. package/src/materials/DisplayNormalTextureMaterial.js +15 -15
  91. package/src/materials/DualFilteringBlurMaterial.js +11 -11
  92. package/src/materials/FXAAMaterial.js +10 -10
  93. package/src/materials/GaussianBlurMaterial.js +28 -28
  94. package/src/materials/LuminosityHighPassMaterial.js +15 -15
  95. package/src/materials/MedianFilterMaterial.js +42 -42
  96. package/src/materials/NormalMaterial.js +17 -17
  97. package/src/materials/SDFScreenTextMaterial.js +31 -31
  98. package/src/materials/SDFTextMaterial.js +37 -37
  99. package/src/materials/SSAOComposeMaterial.js +11 -11
  100. package/src/materials/SSAOMaterial.js +66 -66
  101. package/src/materials/ScreenSpaceTextureMaterial.js +65 -65
  102. package/src/materials/UIElementMaterial.js +25 -25
  103. package/src/materials/UnrealBloomComposeMaterial.js +95 -95
  104. package/src/materials/UnrealBlurMaterial.js +17 -17
  105. package/src/materials/UnrealComposeMaterial.js +24 -24
  106. package/src/materials/ViewPositionMaterial.js +17 -17
  107. package/src/materials/deferred/DeferredPointLightMaterial.js +39 -39
  108. package/src/materials/gpu_particles/AttributeUpdateMaterial.js +33 -33
  109. package/src/materials/gpu_particles/BasicParticleMaterial.js +23 -23
  110. package/src/materials/gpu_particles/ParticleStorageMaterial.js +27 -27
  111. package/src/materials/gpu_particles/PositionStorageMaterial.js +10 -10
  112. package/src/object_pool/Pool.js +73 -73
  113. package/src/primitives/Arrow.js +57 -57
  114. package/src/primitives/Cube.js +17 -17
  115. package/src/primitives/HorizontalPlane.js +18 -18
  116. package/src/primitives/Sphere.js +15 -15
  117. package/src/primitives/VerticalPlane.js +17 -17
  118. package/src/raycast/GroupRaycaster.js +41 -41
  119. package/src/raycast/PlaneDragResolver.js +89 -89
  120. package/src/raycast/PlaneRaycastResolver.js +22 -22
  121. package/src/raycast/PlaneRaycaster.js +23 -23
  122. package/src/raycast/RaycastResolver.js +22 -22
  123. package/src/raycast/SurfaceDragResolver.js +77 -77
  124. package/src/raycast/states/BaseState.js +16 -16
  125. package/src/raycast/states/IdleState.js +17 -17
  126. package/src/raycast/states/OnRaycastEnter.js +15 -15
  127. package/src/raycast/states/OnRaycastExit.js +16 -16
  128. package/src/raycast/states/OnRaycastHover.js +25 -25
  129. package/src/render_mode/BaseRender.js +32 -32
  130. package/src/render_mode/BloomRender.js +60 -60
  131. package/src/render_mode/DebugNormalsRender.js +20 -20
  132. package/src/render_mode/DeferredRender.js +112 -112
  133. package/src/render_mode/NormalAORender.js +71 -71
  134. package/src/render_mode/NormalRender.js +36 -36
  135. package/src/render_mode/OutlineRender.js +154 -154
  136. package/src/render_mode/PlanarReflectionsRender.js +118 -118
  137. package/src/render_mode/TransparencyMixRender.js +143 -143
  138. package/src/render_mode/UnrealBloomRender.js +109 -109
  139. package/src/render_utilities/Blitter.js +99 -99
  140. package/src/render_utilities/Blurrer.js +29 -29
  141. package/src/render_utilities/DepthAndNormalsRenderer.js +45 -45
  142. package/src/render_utilities/DualFilteringBlurrer.js +56 -56
  143. package/src/render_utilities/GaussianBlurrer.js +146 -146
  144. package/src/render_utilities/MedianFilter.js +66 -66
  145. package/src/render_utilities/ViewPositionRenderer.js +48 -48
  146. package/src/resource_loader/BasisLoader.js +50 -50
  147. package/src/resource_loader/FontLoader.js +39 -39
  148. package/src/resource_loader/JSONLoader.js +40 -40
  149. package/src/resource_loader/OBJLoader.js +39 -39
  150. package/src/resource_loader/PointArrayLoader.js +63 -63
  151. package/src/resource_loader/RGBETextureLoader.js +42 -42
  152. package/src/resource_loader/VideoLoader.js +20 -20
  153. package/src/shaders/add/add.frag +8 -8
  154. package/src/shaders/anti_aliasing/fxaa.frag +71 -71
  155. package/src/shaders/basic_color/basic_color.frag +5 -5
  156. package/src/shaders/basic_color/basic_color.vert +9 -9
  157. package/src/shaders/basic_line/basic_line.frag +36 -36
  158. package/src/shaders/basic_line/basic_line.vert +36 -36
  159. package/src/shaders/basic_texture/basic_texture.frag +9 -9
  160. package/src/shaders/basic_texture/basic_texture.vert +16 -16
  161. package/src/shaders/bloom/bloom_compose_frag.glsl +22 -22
  162. package/src/shaders/bloom/cheap_bloom_compose_frag.glsl +13 -13
  163. package/src/shaders/box_blur/box_blur.frag +24 -24
  164. package/src/shaders/box_blur/compose.frag +31 -31
  165. package/src/shaders/clear/clear_depth_normal.frag +24 -24
  166. package/src/shaders/copy/copy.frag +6 -6
  167. package/src/shaders/copy/copy.vert +5 -5
  168. package/src/shaders/deferred/blit_copy.vert +11 -11
  169. package/src/shaders/deferred/deferred_compose.frag +59 -59
  170. package/src/shaders/deferred/point_light.frag +66 -66
  171. package/src/shaders/deferred/point_light.vert +13 -13
  172. package/src/shaders/depth_normals/debug_normals.frag +47 -47
  173. package/src/shaders/depth_normals/depth_normals.frag +30 -30
  174. package/src/shaders/depth_normals/depth_normals.vert +12 -12
  175. package/src/shaders/dual_filter_blur/alpha_filter.frag +14 -14
  176. package/src/shaders/dual_filter_blur/downsample.frag +21 -21
  177. package/src/shaders/dual_filter_blur/upsample.frag +24 -24
  178. package/src/shaders/edge_visualizer/edge_visualizer.frag +17 -17
  179. package/src/shaders/edge_visualizer/edge_visualizer.vert +15 -15
  180. package/src/shaders/edges/corners.frag +10 -10
  181. package/src/shaders/edges/corners.vert +30 -30
  182. package/src/shaders/edges/edges.frag +6 -6
  183. package/src/shaders/edges/edges.vert +27 -27
  184. package/src/shaders/gaussian_blur/gaussian_blur.frag +24 -24
  185. package/src/shaders/gaussian_blur/unreal_bloom_compose.frag +24 -24
  186. package/src/shaders/gpu_particles/common_utils.glsl +12 -12
  187. package/src/shaders/gpu_particles/generic_storage.frag +7 -7
  188. package/src/shaders/gpu_particles/store/store_position.vert +14 -14
  189. package/src/shaders/gpu_particles/update/basic_update.frag +20 -20
  190. package/src/shaders/gpu_particles/visualize/visualize.frag +10 -10
  191. package/src/shaders/gpu_particles/visualize/visualize.vert +12 -12
  192. package/src/shaders/grid/grid.frag +16 -16
  193. package/src/shaders/grid/grid.vert +9 -9
  194. package/src/shaders/luminosity_high_pass/luminosity_high_pass.frag +22 -22
  195. package/src/shaders/median_filter/median_filter.frag +134 -134
  196. package/src/shaders/normal/normal.frag +6 -6
  197. package/src/shaders/normal/normal.vert +6 -6
  198. package/src/shaders/sdf_text/sdf_screen_text.frag +51 -51
  199. package/src/shaders/sdf_text/sdf_screen_text.vert +41 -41
  200. package/src/shaders/sdf_text/sdf_text.frag +53 -53
  201. package/src/shaders/sdf_text/sdf_text.vert +41 -41
  202. package/src/shaders/ssao/hbao.frag +264 -264
  203. package/src/shaders/ssao/ssao.frag +95 -95
  204. package/src/shaders/ssao/ssao.vert +10 -10
  205. package/src/shaders/ssao/ssao_compose.frag +14 -14
  206. package/src/shaders/transparent_mix/copy.frag +6 -6
  207. package/src/shaders/transparent_mix/transparent_mix.frag +18 -18
  208. package/src/shaders/transparent_mix/transparent_mix.vert +7 -7
  209. package/src/shaders/ui/ss_texture.frag +10 -10
  210. package/src/shaders/ui/ss_texture.vert +31 -31
  211. package/src/shaders/ui/ws_texture.vert +38 -38
  212. package/src/shaders/ui_element/ui_element.frag +11 -11
  213. package/src/shaders/ui_element/ui_element.vert +32 -32
  214. package/src/shaders/unreal_blur/unreal_blur.frag +24 -24
  215. package/src/shaders/unreal_blur/unreal_compose.frag +23 -23
  216. package/src/shaders/write_view_position/write_view_position.frag +6 -6
  217. package/src/shaders/write_view_position/write_view_position.vert +8 -8
  218. package/src/static_batcher/BatchedMesh.js +54 -54
  219. package/src/static_batcher/GeometryBatch.js +312 -312
  220. package/src/static_batcher/GeometryBatcher.js +63 -63
  221. package/src/static_batcher/MeshBatcher.js +56 -56
  222. package/src/ui/ui_element_position/ScreenSpacePosition.js +14 -14
  223. package/src/ui/ui_element_position/WorldSpacePosition.js +21 -21
  224. package/src/ui/ui_element_state/OnIdle.js +17 -17
  225. package/src/ui/ui_element_state/OnMouseEnter.js +26 -26
  226. package/src/ui/ui_element_state/OnMouseExit.js +15 -15
  227. package/src/ui/ui_element_state/OnMouseHover.js +31 -31
  228. package/src/ui/ui_element_state/UIElementState.js +18 -18
  229. package/src/utilities/ArrayUtilities.js +55 -55
  230. package/src/utilities/CameraUtilities.js +210 -210
  231. package/src/utilities/EasingFunctions.js +215 -215
  232. package/src/utilities/FrustumPointFitter.js +255 -255
  233. package/src/utilities/GeometryUtilities.js +74 -74
  234. package/src/utilities/ImageUtilities.js +26 -26
  235. package/src/utilities/MeshSampler.js +152 -152
  236. package/src/utilities/ModelUtilities.js +161 -161
  237. package/src/utilities/OMath.js +155 -155
  238. package/src/utilities/OrthographicFrustumPointFitter.js +47 -47
  239. package/src/utilities/PerspectiveFrustumPointFitter.js +250 -250
  240. package/src/utilities/StringUtilities.js +32 -32
  241. package/src/utilities/TimeUtilities.js +22 -22
  242. package/src/utilities/Validation.js +34 -34
  243. package/src/view_components/ApplicationView.js +60 -60
  244. package/src/view_components/ViewComponent.js +37 -37
  245. package/src/view_components/ViewComponentManager.js +58 -58
  246. package/src/view_components/ViewContext.js +14 -14
  247. package/src/view_components/ViewManager.js +129 -129
  248. package/src/view_components/ViewState.js +54 -54
  249. package/src/view_components/transition/ActionSequencerBuilder.js +91 -91
  250. package/src/view_components/transition/DrawIOAnimationSheet.js +90 -90
  251. package/src/view_components/transition/TransitionTable.js +44 -44
  252. package/src/view_components/transition/ViewStateTransitionHandler.js +95 -95
  253. package/types/BaseApplication.d.ts +8 -8
  254. package/types/Browser.d.ts +12 -12
  255. package/types/CameraManager.d.ts +8 -8
  256. package/types/Capabilities.d.ts +6 -6
  257. package/types/Configuration.d.ts +6 -6
  258. package/types/Debug.d.ts +37 -37
  259. package/types/EventManager.d.ts +42 -42
  260. package/types/Graphics.d.ts +35 -35
  261. package/types/Initializer.d.ts +4 -4
  262. package/types/Input.d.ts +8 -8
  263. package/types/OS.d.ts +18 -18
  264. package/types/OrthographicCamera.d.ts +5 -5
  265. package/types/PerspectiveCamera.d.ts +5 -5
  266. package/types/ReflectionPlaneContext.d.ts +6 -6
  267. package/types/RenderLayers.d.ts +6 -6
  268. package/types/RenderLoop.d.ts +13 -13
  269. package/types/ResourceContainer.d.ts +8 -8
  270. package/types/SceneManager.d.ts +10 -10
  271. package/types/Screen.d.ts +17 -17
  272. package/types/Time.d.ts +11 -11
  273. package/types/UI.d.ts +15 -15
  274. package/types/action_sequencer/ActionEvent.d.ts +6 -6
  275. package/types/action_sequencer/ActionInterpolator.d.ts +5 -5
  276. package/types/action_sequencer/ActionSequencer.d.ts +28 -28
  277. package/types/action_sequencer/NumberInterpolator.d.ts +8 -8
  278. package/types/action_sequencer/VectorInterpolator.d.ts +7 -7
  279. package/types/canvas_drawer/CanvasDrawer.d.ts +13 -13
  280. package/types/canvas_drawer/MultiLineTextDrawer.d.ts +5 -5
  281. package/types/canvas_drawer/SimpleTextDrawer.d.ts +5 -5
  282. package/types/components/AudioClip.d.ts +12 -12
  283. package/types/components/AxisHelper.d.ts +6 -6
  284. package/types/components/BaseObject.d.ts +5 -5
  285. package/types/components/EdgeMesh.d.ts +13 -13
  286. package/types/components/GeometryEdgeVisualizer.d.ts +4 -4
  287. package/types/components/Grid.d.ts +2 -2
  288. package/types/components/Line.d.ts +16 -16
  289. package/types/components/MultiLinePath.d.ts +4 -4
  290. package/types/components/MultiLineText2D.d.ts +10 -10
  291. package/types/components/ObjectAxis.d.ts +3 -3
  292. package/types/components/ObjectOrientedBoundingBox.d.ts +18 -18
  293. package/types/components/PlaneHelper.d.ts +6 -6
  294. package/types/components/Shape2D.d.ts +4 -4
  295. package/types/components/Shape3D.d.ts +3 -3
  296. package/types/components/Text2D.d.ts +13 -13
  297. package/types/components/UIElement.d.ts +52 -52
  298. package/types/components/UpdatableMaterialMesh.d.ts +4 -4
  299. package/types/components/WorldImage.d.ts +13 -13
  300. package/types/components/sdf_text/SDFText.d.ts +30 -30
  301. package/types/components/sdf_text/SDFTextBatch.d.ts +12 -12
  302. package/types/components/sdf_text/TextGlyph.d.ts +6 -6
  303. package/types/editor/ManipulatorHandle.d.ts +14 -14
  304. package/types/editor/ObjectEditor.d.ts +16 -16
  305. package/types/editor/ObjectManipulator.d.ts +19 -19
  306. package/types/editor/ObjectPicker.d.ts +16 -16
  307. package/types/gpu_particles/GPUParticleSystem.d.ts +12 -12
  308. package/types/gpu_particles/ParticleAttribute.d.ts +15 -15
  309. package/types/gpu_particles/ParticlePositionAttribute.d.ts +4 -4
  310. package/types/html_utilities/CSSAnimator.d.ts +30 -30
  311. package/types/html_utilities/css_animator_states/Animating.d.ts +8 -8
  312. package/types/html_utilities/css_animator_states/Idle.d.ts +6 -6
  313. package/types/index.d.ts +73 -73
  314. package/types/materials/AddMaterial.d.ts +5 -5
  315. package/types/materials/AlphaFilterMaterial.d.ts +6 -6
  316. package/types/materials/BaseShaderMaterial.d.ts +3 -3
  317. package/types/materials/BlitMaterial.d.ts +3 -3
  318. package/types/materials/BloomComposeMaterial.d.ts +7 -7
  319. package/types/materials/BoxBlurMaterial.d.ts +4 -4
  320. package/types/materials/ClearAlphaMaterial.d.ts +3 -3
  321. package/types/materials/ClearColorMaterial.d.ts +7 -7
  322. package/types/materials/ClearDepthNormalMaterial.d.ts +4 -4
  323. package/types/materials/DeferredRendererComposeMaterial.d.ts +7 -7
  324. package/types/materials/DepthNormalMaterial.d.ts +4 -4
  325. package/types/materials/DisplayNormalTextureMaterial.d.ts +4 -4
  326. package/types/materials/DualFilteringBlurMaterial.d.ts +4 -4
  327. package/types/materials/FXAAMaterial.d.ts +3 -3
  328. package/types/materials/GaussianBlurMaterial.d.ts +6 -6
  329. package/types/materials/LuminosityHighPassMaterial.d.ts +4 -4
  330. package/types/materials/MedianFilterMaterial.d.ts +6 -6
  331. package/types/materials/NormalMaterial.d.ts +2 -2
  332. package/types/materials/SDFScreenTextMaterial.d.ts +11 -11
  333. package/types/materials/SDFTextMaterial.d.ts +12 -12
  334. package/types/materials/SSAOComposeMaterial.d.ts +4 -4
  335. package/types/materials/SSAOMaterial.d.ts +6 -6
  336. package/types/materials/ScreenSpaceTextureMaterial.d.ts +7 -7
  337. package/types/materials/UIElementMaterial.d.ts +7 -7
  338. package/types/materials/UnrealBloomComposeMaterial.d.ts +17 -17
  339. package/types/materials/UnrealBlurMaterial.d.ts +4 -4
  340. package/types/materials/UnrealComposeMaterial.d.ts +4 -4
  341. package/types/materials/ViewPositionMaterial.d.ts +3 -3
  342. package/types/materials/deferred/DeferredPointLightMaterial.d.ts +10 -10
  343. package/types/materials/gpu_particles/ParticleStorageMaterial.d.ts +3 -3
  344. package/types/materials/gpu_particles/PositionStorageMaterial.d.ts +4 -4
  345. package/types/object_pool/Pool.d.ts +10 -10
  346. package/types/primitives/Arrow.d.ts +8 -8
  347. package/types/primitives/Cube.d.ts +3 -3
  348. package/types/primitives/HorizontalPlane.d.ts +3 -3
  349. package/types/primitives/Sphere.d.ts +3 -3
  350. package/types/primitives/VerticalPlane.d.ts +3 -3
  351. package/types/raycast/GroupRaycaster.d.ts +13 -13
  352. package/types/raycast/PlaneDragResolver.d.ts +14 -14
  353. package/types/raycast/PlaneRaycastResolver.d.ts +5 -5
  354. package/types/raycast/PlaneRaycaster.d.ts +7 -7
  355. package/types/raycast/RaycastResolver.d.ts +5 -5
  356. package/types/raycast/SurfaceDragResolver.d.ts +13 -13
  357. package/types/raycast/states/BaseState.d.ts +5 -5
  358. package/types/raycast/states/IdleState.d.ts +5 -5
  359. package/types/raycast/states/OnRaycastEnter.d.ts +5 -5
  360. package/types/raycast/states/OnRaycastExit.d.ts +4 -4
  361. package/types/raycast/states/OnRaycastHover.d.ts +4 -4
  362. package/types/render_mode/BaseRender.d.ts +7 -7
  363. package/types/render_mode/BloomRender.d.ts +10 -10
  364. package/types/render_mode/DebugNormalsRender.d.ts +4 -4
  365. package/types/render_mode/DeferredRender.d.ts +9 -9
  366. package/types/render_mode/NormalAORender.d.ts +16 -16
  367. package/types/render_mode/NormalRender.d.ts +4 -4
  368. package/types/render_mode/OutlineRender.d.ts +20 -20
  369. package/types/render_mode/PlanarReflectionsRender.d.ts +13 -13
  370. package/types/render_mode/TransparencyMixRender.d.ts +21 -21
  371. package/types/render_mode/UnrealBloomRender.d.ts +19 -19
  372. package/types/render_utilities/Blitter.d.ts +16 -16
  373. package/types/render_utilities/Blurrer.d.ts +9 -9
  374. package/types/render_utilities/DepthAndNormalsRenderer.d.ts +12 -12
  375. package/types/render_utilities/DualFilteringBlurrer.d.ts +19 -19
  376. package/types/render_utilities/GaussianBlurrer.d.ts +27 -27
  377. package/types/render_utilities/MedianFilter.d.ts +10 -10
  378. package/types/render_utilities/ViewPositionRenderer.d.ts +9 -9
  379. package/types/resource_loader/AbstractLoader.d.ts +18 -18
  380. package/types/resource_loader/AudioLoader.d.ts +8 -8
  381. package/types/resource_loader/BasisLoader.d.ts +6 -6
  382. package/types/resource_loader/CubemapLoader.d.ts +7 -7
  383. package/types/resource_loader/DAELoader.d.ts +6 -6
  384. package/types/resource_loader/DDSLoader.d.ts +6 -6
  385. package/types/resource_loader/FileLoader.d.ts +6 -6
  386. package/types/resource_loader/FontLoader.d.ts +6 -6
  387. package/types/resource_loader/GLTFDRACOLoader.d.ts +7 -7
  388. package/types/resource_loader/GLTFLoader.d.ts +5 -5
  389. package/types/resource_loader/HDRCubeTextureLoader.d.ts +7 -7
  390. package/types/resource_loader/JSONLoader.d.ts +6 -6
  391. package/types/resource_loader/OBJLoader.d.ts +6 -6
  392. package/types/resource_loader/PointArrayLoader.d.ts +7 -7
  393. package/types/resource_loader/RGBETextureLoader.d.ts +6 -6
  394. package/types/resource_loader/ResourceBatch.d.ts +28 -28
  395. package/types/resource_loader/SVGLoader.d.ts +6 -6
  396. package/types/resource_loader/TextLoader.d.ts +6 -6
  397. package/types/resource_loader/TextureLoader.d.ts +6 -6
  398. package/types/static_batcher/GeometryBatch.d.ts +37 -37
  399. package/types/static_batcher/GeometryBatcher.d.ts +7 -7
  400. package/types/ui/ui_element_position/ScreenSpacePosition.d.ts +4 -4
  401. package/types/ui/ui_element_position/WorldSpacePosition.d.ts +5 -5
  402. package/types/ui/ui_element_state/OnIdle.d.ts +5 -5
  403. package/types/ui/ui_element_state/OnMouseEnter.d.ts +5 -5
  404. package/types/ui/ui_element_state/OnMouseExit.d.ts +5 -5
  405. package/types/ui/ui_element_state/OnMouseHover.d.ts +5 -5
  406. package/types/ui/ui_element_state/UIElementState.d.ts +5 -5
  407. package/types/utilities/ArrayUtilities.d.ts +7 -7
  408. package/types/utilities/CameraUtilities.d.ts +24 -24
  409. package/types/utilities/EasingFunctions.d.ts +35 -35
  410. package/types/utilities/FrustumPointFitter.d.ts +14 -14
  411. package/types/utilities/GeometryUtilities.d.ts +4 -4
  412. package/types/utilities/ImageUtilities.d.ts +4 -4
  413. package/types/utilities/MeshSampler.d.ts +14 -14
  414. package/types/utilities/ModelUtilities.d.ts +13 -13
  415. package/types/utilities/OMath.d.ts +21 -21
  416. package/types/utilities/ObjectUtilities.d.ts +5 -5
  417. package/types/utilities/OrthographicFrustumPointFitter.d.ts +7 -7
  418. package/types/utilities/PerspectiveFrustumPointFitter.d.ts +12 -12
  419. package/types/utilities/StringUtilities.d.ts +5 -5
  420. package/types/utilities/TimeUtilities.d.ts +3 -3
  421. package/types/utilities/Validation.d.ts +6 -6
  422. package/types/view_components/ApplicationView.d.ts +11 -11
  423. package/types/view_components/ViewComponent.d.ts +13 -13
  424. package/types/view_components/ViewComponentManager.d.ts +10 -10
  425. package/types/view_components/ViewContext.d.ts +6 -6
  426. package/types/view_components/ViewManager.d.ts +24 -24
  427. package/types/view_components/ViewState.d.ts +15 -15
  428. package/types/view_components/transition/ActionSequencerBuilder.d.ts +15 -15
  429. package/types/view_components/transition/DrawIOAnimationSheet.d.ts +17 -17
  430. package/types/view_components/transition/TransitionTable.d.ts +8 -8
  431. package/types/view_components/transition/ViewStateTransitionHandler.d.ts +16 -16
@@ -1,39 +1,39 @@
1
- import AbstractLoader from './AbstractLoader';
2
-
3
- import { FontLoader as TFontLoader } from 'three/examples/jsm/loaders/FontLoader.js';
4
-
5
- export default class FontLoader extends AbstractLoader
6
- {
7
- constructor(resource_id, url, size)
8
- {
9
- super(resource_id, url, size);
10
- this.loader = new TFontLoader();
11
- }
12
-
13
- on_preloaded_finished(resource_container)
14
- {
15
- let ctx = this;
16
-
17
- this.loader.load(this.url, (font) =>
18
- {
19
- resource_container.set_resource(ctx.resource_id, ctx.url, font);
20
-
21
- ctx.__update_downloaded_bytes(1, 1);
22
- ctx.__loading_ended();
23
- },
24
- (xhr) =>
25
- {
26
- // if (xhr)
27
- // {
28
- // let total = xhr.total || this.total_bytes;
29
- // ctx.__update_downloaded_bytes(xhr.loaded, total);
30
- // }
31
- },
32
- (msg) =>
33
- {
34
- ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then probably the problem is related to the file not being found. Check the name and path of the resource');
35
- ctx.__loading_ended();
36
- }
37
- );
38
- }
39
- }
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import { FontLoader as TFontLoader } from 'three/examples/jsm/loaders/FontLoader.js';
4
+
5
+ export default class FontLoader extends AbstractLoader
6
+ {
7
+ constructor(resource_id, url, size)
8
+ {
9
+ super(resource_id, url, size);
10
+ this.loader = new TFontLoader();
11
+ }
12
+
13
+ on_preloaded_finished(resource_container)
14
+ {
15
+ let ctx = this;
16
+
17
+ this.loader.load(this.url, (font) =>
18
+ {
19
+ resource_container.set_resource(ctx.resource_id, ctx.url, font);
20
+
21
+ ctx.__update_downloaded_bytes(1, 1);
22
+ ctx.__loading_ended();
23
+ },
24
+ (xhr) =>
25
+ {
26
+ // if (xhr)
27
+ // {
28
+ // let total = xhr.total || this.total_bytes;
29
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
30
+ // }
31
+ },
32
+ (msg) =>
33
+ {
34
+ ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then probably the problem is related to the file not being found. Check the name and path of the resource');
35
+ ctx.__loading_ended();
36
+ }
37
+ );
38
+ }
39
+ }
@@ -1,40 +1,40 @@
1
- import AbstractLoader from './AbstractLoader';
2
-
3
- import { FileLoader as THREEFileLoader } from 'three';
4
-
5
- export default class JSONLoader extends AbstractLoader
6
- {
7
- constructor(resource_id, url, size)
8
- {
9
- super(resource_id, url, size);
10
-
11
- this.loader = new THREEFileLoader();
12
- }
13
-
14
- on_preloaded_finished(resource_container)
15
- {
16
- let ctx = this;
17
-
18
- this.loader.load(this.url, (data) =>
19
- {
20
- resource_container.set_resource(ctx.resource_id, ctx.url, JSON.parse(data));
21
-
22
- ctx.__update_downloaded_bytes(1, 1);
23
- ctx.__loading_ended();
24
- },
25
- (xhr) =>
26
- {
27
- // if (xhr)
28
- // {
29
- // let total = xhr.total || this.total_bytes;
30
- // ctx.__update_downloaded_bytes(xhr.loaded, total);
31
- // }
32
- },
33
- (msg) =>
34
- {
35
- ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then the probably the problem is related to the file not being found. Check the name and path of the resource');
36
- ctx.__loading_ended();
37
- }
38
- );
39
- }
40
- }
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import { FileLoader as THREEFileLoader } from 'three';
4
+
5
+ export default class JSONLoader extends AbstractLoader
6
+ {
7
+ constructor(resource_id, url, size)
8
+ {
9
+ super(resource_id, url, size);
10
+
11
+ this.loader = new THREEFileLoader();
12
+ }
13
+
14
+ on_preloaded_finished(resource_container)
15
+ {
16
+ let ctx = this;
17
+
18
+ this.loader.load(this.url, (data) =>
19
+ {
20
+ resource_container.set_resource(ctx.resource_id, ctx.url, JSON.parse(data));
21
+
22
+ ctx.__update_downloaded_bytes(1, 1);
23
+ ctx.__loading_ended();
24
+ },
25
+ (xhr) =>
26
+ {
27
+ // if (xhr)
28
+ // {
29
+ // let total = xhr.total || this.total_bytes;
30
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
31
+ // }
32
+ },
33
+ (msg) =>
34
+ {
35
+ ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then the probably the problem is related to the file not being found. Check the name and path of the resource');
36
+ ctx.__loading_ended();
37
+ }
38
+ );
39
+ }
40
+ }
@@ -1,39 +1,39 @@
1
- import AbstractLoader from './AbstractLoader';
2
-
3
- import * as THREEOBJLoader from 'three/examples/jsm/loaders/OBJLoader.js';
4
-
5
- export default class OBJLoader extends AbstractLoader
6
- {
7
- constructor(resource_id, url, size)
8
- {
9
- super(resource_id, url, size);
10
- this.loader = new THREEOBJLoader.OBJLoader();
11
- }
12
-
13
- on_preloaded_finished(resource_container)
14
- {
15
- let ctx = this;
16
-
17
- this.loader.load(this.url, (gltf) =>
18
- {
19
- resource_container.set_resource(ctx.resource_id, ctx.url, gltf);
20
-
21
- ctx.__update_downloaded_bytes(1, 1);
22
- ctx.__loading_ended();
23
- },
24
- (xhr) =>
25
- {
26
- // if (xhr)
27
- // {
28
- // let total = xhr.total || this.total_bytes;
29
- // ctx.__update_downloaded_bytes(xhr.loaded, total);
30
- // }
31
- },
32
- (msg) =>
33
- {
34
- ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then probably the problem is related to the file not being found. Check the name and path of the resource');
35
- ctx.__loading_ended();
36
- }
37
- );
38
- }
39
- }
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import * as THREEOBJLoader from 'three/examples/jsm/loaders/OBJLoader.js';
4
+
5
+ export default class OBJLoader extends AbstractLoader
6
+ {
7
+ constructor(resource_id, url, size)
8
+ {
9
+ super(resource_id, url, size);
10
+ this.loader = new THREEOBJLoader.OBJLoader();
11
+ }
12
+
13
+ on_preloaded_finished(resource_container)
14
+ {
15
+ let ctx = this;
16
+
17
+ this.loader.load(this.url, (gltf) =>
18
+ {
19
+ resource_container.set_resource(ctx.resource_id, ctx.url, gltf);
20
+
21
+ ctx.__update_downloaded_bytes(1, 1);
22
+ ctx.__loading_ended();
23
+ },
24
+ (xhr) =>
25
+ {
26
+ // if (xhr)
27
+ // {
28
+ // let total = xhr.total || this.total_bytes;
29
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
30
+ // }
31
+ },
32
+ (msg) =>
33
+ {
34
+ ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then probably the problem is related to the file not being found. Check the name and path of the resource');
35
+ ctx.__loading_ended();
36
+ }
37
+ );
38
+ }
39
+ }
@@ -1,63 +1,63 @@
1
- import AbstractLoader from './AbstractLoader';
2
-
3
- import { Vector3 as THREEVector3 } from 'three';
4
- import { FileLoader as THREEFileLoader } from 'three';
5
-
6
- export default class PointArrayLoader extends AbstractLoader
7
- {
8
- constructor(resource_id, url, size)
9
- {
10
- super(resource_id, url, size);
11
- this.loader = new THREEFileLoader();
12
- }
13
-
14
- on_preloaded_finished(resource_container)
15
- {
16
- let ctx = this;
17
-
18
- this.loader.load(this.url, (text) =>
19
- {
20
- resource_container.set_resource(ctx.resource_id, ctx.url, ctx.parse_path(text));
21
-
22
- ctx.__update_downloaded_bytes(1, 1);
23
- ctx.__loading_ended();
24
- },
25
- (xhr) =>
26
- {
27
- // if (xhr)
28
- // {
29
- // let total = xhr.total || this.total_bytes;
30
- // ctx.__update_downloaded_bytes(xhr.loaded, total);
31
- // }
32
- },
33
- (msg) =>
34
- {
35
- ctx.__set_error(msg);
36
- ctx.__loading_ended();
37
- }
38
- );
39
- }
40
-
41
- parse_path(raw_data)
42
- {
43
- let string_array = raw_data.split('\n');
44
-
45
- if (string_array[string_array.length - 1] === '')
46
- {
47
- string_array.pop();
48
- }
49
-
50
- let positions = [];
51
-
52
- for (let i = 0; i < string_array.length; i += 3)
53
- {
54
- let x = parseFloat(string_array[i + 0]);
55
- let y = parseFloat(string_array[i + 1]);
56
- let z = parseFloat(string_array[i + 2]);
57
- positions.push(new THREEVector3(x, y, z));
58
- }
59
- return positions;
60
- // let curve = new THREE.CatmullRomCurve3(positions);
61
- // return curve.getPoints(100);
62
- }
63
- }
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import { Vector3 as THREEVector3 } from 'three';
4
+ import { FileLoader as THREEFileLoader } from 'three';
5
+
6
+ export default class PointArrayLoader extends AbstractLoader
7
+ {
8
+ constructor(resource_id, url, size)
9
+ {
10
+ super(resource_id, url, size);
11
+ this.loader = new THREEFileLoader();
12
+ }
13
+
14
+ on_preloaded_finished(resource_container)
15
+ {
16
+ let ctx = this;
17
+
18
+ this.loader.load(this.url, (text) =>
19
+ {
20
+ resource_container.set_resource(ctx.resource_id, ctx.url, ctx.parse_path(text));
21
+
22
+ ctx.__update_downloaded_bytes(1, 1);
23
+ ctx.__loading_ended();
24
+ },
25
+ (xhr) =>
26
+ {
27
+ // if (xhr)
28
+ // {
29
+ // let total = xhr.total || this.total_bytes;
30
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
31
+ // }
32
+ },
33
+ (msg) =>
34
+ {
35
+ ctx.__set_error(msg);
36
+ ctx.__loading_ended();
37
+ }
38
+ );
39
+ }
40
+
41
+ parse_path(raw_data)
42
+ {
43
+ let string_array = raw_data.split('\n');
44
+
45
+ if (string_array[string_array.length - 1] === '')
46
+ {
47
+ string_array.pop();
48
+ }
49
+
50
+ let positions = [];
51
+
52
+ for (let i = 0; i < string_array.length; i += 3)
53
+ {
54
+ let x = parseFloat(string_array[i + 0]);
55
+ let y = parseFloat(string_array[i + 1]);
56
+ let z = parseFloat(string_array[i + 2]);
57
+ positions.push(new THREEVector3(x, y, z));
58
+ }
59
+ return positions;
60
+ // let curve = new THREE.CatmullRomCurve3(positions);
61
+ // return curve.getPoints(100);
62
+ }
63
+ }
@@ -1,42 +1,42 @@
1
- import AbstractLoader from './AbstractLoader';
2
-
3
- import * as THREERGBELoader from 'three/examples/jsm/loaders/RGBELoader.js';
4
-
5
- import { UnsignedByteType as THREEUnsignedByteType } from 'three';
6
-
7
- export default class RGBETextureLoader extends AbstractLoader
8
- {
9
- constructor(resource_id, url, size)
10
- {
11
- super(resource_id, url, size);
12
- this.loader = new THREERGBELoader.RGBELoader();
13
- this.loader.setDataType(THREEUnsignedByteType);
14
- }
15
-
16
- on_preloaded_finished(resource_container)
17
- {
18
- let ctx = this;
19
-
20
- this.loader.load(this.url, (hdr) =>
21
- {
22
- resource_container.set_resource(ctx.resource_id, ctx.url, hdr);
23
-
24
- ctx.__update_downloaded_bytes(1, 1);
25
- ctx.__loading_ended();
26
- },
27
- (xhr) =>
28
- {
29
- // if (xhr)
30
- // {
31
- // let total = xhr.total || this.total_bytes;
32
- // ctx.__update_downloaded_bytes(xhr.loaded, total);
33
- // }
34
- },
35
- (msg) =>
36
- {
37
- ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then the probably the problem is related to the file not being found. Check the name and path of the resource');
38
- ctx.__loading_ended();
39
- }
40
- );
41
- }
42
- }
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ import * as THREERGBELoader from 'three/examples/jsm/loaders/RGBELoader.js';
4
+
5
+ import { UnsignedByteType as THREEUnsignedByteType } from 'three';
6
+
7
+ export default class RGBETextureLoader extends AbstractLoader
8
+ {
9
+ constructor(resource_id, url, size)
10
+ {
11
+ super(resource_id, url, size);
12
+ this.loader = new THREERGBELoader.RGBELoader();
13
+ this.loader.setDataType(THREEUnsignedByteType);
14
+ }
15
+
16
+ on_preloaded_finished(resource_container)
17
+ {
18
+ let ctx = this;
19
+
20
+ this.loader.load(this.url, (hdr) =>
21
+ {
22
+ resource_container.set_resource(ctx.resource_id, ctx.url, hdr);
23
+
24
+ ctx.__update_downloaded_bytes(1, 1);
25
+ ctx.__loading_ended();
26
+ },
27
+ (xhr) =>
28
+ {
29
+ // if (xhr)
30
+ // {
31
+ // let total = xhr.total || this.total_bytes;
32
+ // ctx.__update_downloaded_bytes(xhr.loaded, total);
33
+ // }
34
+ },
35
+ (msg) =>
36
+ {
37
+ ctx.__set_error(msg + '\n\n\t If the error says something about unexpected token < in JSON then the probably the problem is related to the file not being found. Check the name and path of the resource');
38
+ ctx.__loading_ended();
39
+ }
40
+ );
41
+ }
42
+ }
@@ -1,20 +1,20 @@
1
- import AbstractLoader from './AbstractLoader';
2
-
3
- export default class VideoLoader extends AbstractLoader
4
- {
5
- constructor(resource_id, url, size)
6
- {
7
- super(resource_id, url, size);
8
- }
9
-
10
- on_preloaded_finished(resource_container, response)
11
- {
12
- response.blob().then((blob) =>
13
- {
14
- resource_container.set_resource(this.resource_id, this.url, URL.createObjectURL(blob));
15
-
16
- this.__update_downloaded_bytes(1, 1);
17
- this.__loading_ended();
18
- });
19
- }
20
- }
1
+ import AbstractLoader from './AbstractLoader';
2
+
3
+ export default class VideoLoader extends AbstractLoader
4
+ {
5
+ constructor(resource_id, url, size)
6
+ {
7
+ super(resource_id, url, size);
8
+ }
9
+
10
+ on_preloaded_finished(resource_container, response)
11
+ {
12
+ response.blob().then((blob) =>
13
+ {
14
+ resource_container.set_resource(this.resource_id, this.url, URL.createObjectURL(blob));
15
+
16
+ this.__update_downloaded_bytes(1, 1);
17
+ this.__loading_ended();
18
+ });
19
+ }
20
+ }
@@ -1,9 +1,9 @@
1
- uniform sampler2D _MainTex;
2
- uniform sampler2D _SecondTex;
3
-
4
- varying vec2 vUv;
5
- void main()
6
- {
7
- gl_FragColor = texture2D(_MainTex, vUv);
8
- gl_FragColor += texture2D(_SecondTex, vUv);
1
+ uniform sampler2D _MainTex;
2
+ uniform sampler2D _SecondTex;
3
+
4
+ varying vec2 vUv;
5
+ void main()
6
+ {
7
+ gl_FragColor = texture2D(_MainTex, vUv);
8
+ gl_FragColor += texture2D(_SecondTex, vUv);
9
9
  }
@@ -1,72 +1,72 @@
1
- // FXAA shader, GLSL code adapted from:
2
- // http://horde3d.org/wiki/index.php5?title=Shading_Technique_-_FXAA
3
- // Whitepaper describing the technique:
4
- // http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf
5
-
6
- // from: https://code.google.com/p/processing/source/browse/trunk/processing/java/libraries/opengl/examples/Shaders/FXAA/data/fxaa.glsl?r=9668
7
-
8
- uniform sampler2D _MainTex;
9
- uniform vec2 _Resolution;
10
-
11
- varying vec2 vUv;
12
-
13
-
14
- void main() {
15
- // The inverse of the texture dimensions along X and Y
16
- vec2 texcoordOffset = 1. / _Resolution;
17
-
18
- //varying vec4 vertColor;
19
- vec4 vertTexcoord = vec4( vUv, 1., 1. );
20
-
21
- // The parameters are hardcoded for now, but could be
22
- // made into uniforms to control fromt he program.
23
- float FXAA_SPAN_MAX = 8.0;
24
- float FXAA_REDUCE_MUL = 1.0/8.0;
25
- float FXAA_REDUCE_MIN = (1.0/128.0);
26
-
27
- vec3 rgbNW = texture2D(_MainTex, vertTexcoord.xy + (vec2(-1.0, -1.0) * texcoordOffset)).xyz;
28
- vec3 rgbNE = texture2D(_MainTex, vertTexcoord.xy + (vec2(+1.0, -1.0) * texcoordOffset)).xyz;
29
- vec3 rgbSW = texture2D(_MainTex, vertTexcoord.xy + (vec2(-1.0, +1.0) * texcoordOffset)).xyz;
30
- vec3 rgbSE = texture2D(_MainTex, vertTexcoord.xy + (vec2(+1.0, +1.0) * texcoordOffset)).xyz;
31
- vec3 rgbM = texture2D(_MainTex, vertTexcoord.xy).xyz;
32
-
33
- vec3 luma = vec3(0.299, 0.587, 0.114);
34
- float lumaNW = dot(rgbNW, luma);
35
- float lumaNE = dot(rgbNE, luma);
36
- float lumaSW = dot(rgbSW, luma);
37
- float lumaSE = dot(rgbSE, luma);
38
- float lumaM = dot( rgbM, luma);
39
-
40
- float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE)));
41
- float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE)));
42
-
43
- vec2 dir;
44
- dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));
45
- dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));
46
-
47
- float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) * (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN);
48
-
49
- float rcpDirMin = 1.0/(min(abs(dir.x), abs(dir.y)) + dirReduce);
50
-
51
- dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX),
52
- max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX), dir * rcpDirMin)) * texcoordOffset;
53
-
54
- vec3 rgbA = (1.0/2.0) * (
55
- texture2D(_MainTex, vertTexcoord.xy + dir * (1.0/3.0 - 0.5)).xyz +
56
- texture2D(_MainTex, vertTexcoord.xy + dir * (2.0/3.0 - 0.5)).xyz);
57
- vec3 rgbB = rgbA * (1.0/2.0) + (1.0/4.0) * (
58
- texture2D(_MainTex, vertTexcoord.xy + dir * (0.0/3.0 - 0.5)).xyz +
59
- texture2D(_MainTex, vertTexcoord.xy + dir * (3.0/3.0 - 0.5)).xyz);
60
- float lumaB = dot(rgbB, luma);
61
-
62
- if((lumaB < lumaMin) || (lumaB > lumaMax)){
63
- gl_FragColor.xyz=rgbA;
64
- } else {
65
- gl_FragColor.xyz=rgbB;
66
- }
67
- gl_FragColor.a = 1.0;
68
-
69
- // gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb, 1.0);
70
- // gl_FragColor = vec4(1.0, 0.0, 0.0, 0.0);
71
- //gl_FragColor *= vertColor;
1
+ // FXAA shader, GLSL code adapted from:
2
+ // http://horde3d.org/wiki/index.php5?title=Shading_Technique_-_FXAA
3
+ // Whitepaper describing the technique:
4
+ // http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf
5
+
6
+ // from: https://code.google.com/p/processing/source/browse/trunk/processing/java/libraries/opengl/examples/Shaders/FXAA/data/fxaa.glsl?r=9668
7
+
8
+ uniform sampler2D _MainTex;
9
+ uniform vec2 _Resolution;
10
+
11
+ varying vec2 vUv;
12
+
13
+
14
+ void main() {
15
+ // The inverse of the texture dimensions along X and Y
16
+ vec2 texcoordOffset = 1. / _Resolution;
17
+
18
+ //varying vec4 vertColor;
19
+ vec4 vertTexcoord = vec4( vUv, 1., 1. );
20
+
21
+ // The parameters are hardcoded for now, but could be
22
+ // made into uniforms to control fromt he program.
23
+ float FXAA_SPAN_MAX = 8.0;
24
+ float FXAA_REDUCE_MUL = 1.0/8.0;
25
+ float FXAA_REDUCE_MIN = (1.0/128.0);
26
+
27
+ vec3 rgbNW = texture2D(_MainTex, vertTexcoord.xy + (vec2(-1.0, -1.0) * texcoordOffset)).xyz;
28
+ vec3 rgbNE = texture2D(_MainTex, vertTexcoord.xy + (vec2(+1.0, -1.0) * texcoordOffset)).xyz;
29
+ vec3 rgbSW = texture2D(_MainTex, vertTexcoord.xy + (vec2(-1.0, +1.0) * texcoordOffset)).xyz;
30
+ vec3 rgbSE = texture2D(_MainTex, vertTexcoord.xy + (vec2(+1.0, +1.0) * texcoordOffset)).xyz;
31
+ vec3 rgbM = texture2D(_MainTex, vertTexcoord.xy).xyz;
32
+
33
+ vec3 luma = vec3(0.299, 0.587, 0.114);
34
+ float lumaNW = dot(rgbNW, luma);
35
+ float lumaNE = dot(rgbNE, luma);
36
+ float lumaSW = dot(rgbSW, luma);
37
+ float lumaSE = dot(rgbSE, luma);
38
+ float lumaM = dot( rgbM, luma);
39
+
40
+ float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE)));
41
+ float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE)));
42
+
43
+ vec2 dir;
44
+ dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));
45
+ dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));
46
+
47
+ float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) * (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN);
48
+
49
+ float rcpDirMin = 1.0/(min(abs(dir.x), abs(dir.y)) + dirReduce);
50
+
51
+ dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX),
52
+ max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX), dir * rcpDirMin)) * texcoordOffset;
53
+
54
+ vec3 rgbA = (1.0/2.0) * (
55
+ texture2D(_MainTex, vertTexcoord.xy + dir * (1.0/3.0 - 0.5)).xyz +
56
+ texture2D(_MainTex, vertTexcoord.xy + dir * (2.0/3.0 - 0.5)).xyz);
57
+ vec3 rgbB = rgbA * (1.0/2.0) + (1.0/4.0) * (
58
+ texture2D(_MainTex, vertTexcoord.xy + dir * (0.0/3.0 - 0.5)).xyz +
59
+ texture2D(_MainTex, vertTexcoord.xy + dir * (3.0/3.0 - 0.5)).xyz);
60
+ float lumaB = dot(rgbB, luma);
61
+
62
+ if((lumaB < lumaMin) || (lumaB > lumaMax)){
63
+ gl_FragColor.xyz=rgbA;
64
+ } else {
65
+ gl_FragColor.xyz=rgbB;
66
+ }
67
+ gl_FragColor.a = 1.0;
68
+
69
+ // gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb, 1.0);
70
+ // gl_FragColor = vec4(1.0, 0.0, 0.0, 0.0);
71
+ //gl_FragColor *= vertColor;
72
72
  }
@@ -1,6 +1,6 @@
1
- uniform vec3 _Color;
2
-
3
- void main()
4
- {
5
- gl_FragColor = vec4(_Color, 1.0);
1
+ uniform vec3 _Color;
2
+
3
+ void main()
4
+ {
5
+ gl_FragColor = vec4(_Color, 1.0);
6
6
  }