ohzi-core 12.5.2 → 12.7.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 (265) hide show
  1. package/README.md +9 -9
  2. package/build/index.mjs +1 -1
  3. package/build/index.mjs.map +1 -1
  4. package/build/index.module.js +2 -0
  5. package/build/index.module.js.map +1 -0
  6. package/package.json +64 -63
  7. package/src/.vscode/settings.json +2 -2
  8. package/src/BaseApplication.js +40 -40
  9. package/src/Browser.js +119 -119
  10. package/src/CameraManager.js +37 -37
  11. package/src/Capabilities.js +13 -13
  12. package/src/CustomBezierCurve.js +58 -58
  13. package/src/Debug.js +359 -359
  14. package/src/Graphics.js +507 -507
  15. package/src/Initializer.js +56 -56
  16. package/src/KeyboardInput.js +177 -177
  17. package/src/OS.js +59 -59
  18. package/src/OScreen.js +90 -90
  19. package/src/OrthographicCamera.js +36 -36
  20. package/src/PerspectiveCamera.js +34 -34
  21. package/src/ReflectionPlaneContext.js +22 -22
  22. package/src/RenderLayers.js +30 -30
  23. package/src/RenderLoop.js +125 -122
  24. package/src/RenderOrder.js +40 -40
  25. package/src/ResourceContainer.js +57 -57
  26. package/src/SceneManager.js +55 -55
  27. package/src/Screen.js +71 -71
  28. package/src/Time.js +99 -98
  29. package/src/UI.js +106 -106
  30. package/src/action_sequencer/ActionEvent.js +22 -22
  31. package/src/action_sequencer/ActionInterpolator.js +39 -39
  32. package/src/action_sequencer/ActionSequencer.js +338 -338
  33. package/src/action_sequencer/NumberInterpolator.js +42 -42
  34. package/src/action_sequencer/VectorInterpolator.js +34 -34
  35. package/src/blitter_index.js +14 -14
  36. package/src/canvas_drawer/CanvasDrawer.js +146 -146
  37. package/src/canvas_drawer/MultiLineTextDrawer.js +58 -58
  38. package/src/canvas_drawer/SimpleTextDrawer.js +55 -55
  39. package/src/components/AudioClip.js +67 -67
  40. package/src/components/AxisHelper.js +60 -60
  41. package/src/components/BaseObject.js +50 -50
  42. package/src/components/EdgeMesh.js +172 -172
  43. package/src/components/GeometryEdgeVisualizer.js +57 -57
  44. package/src/components/Grid.js +40 -40
  45. package/src/components/Line.js +225 -225
  46. package/src/components/MultiLinePath.js +25 -25
  47. package/src/components/MultiLineText2D.js +75 -75
  48. package/src/components/ObjectAxis.js +27 -27
  49. package/src/components/ObjectOrientedBoundingBox.js +228 -228
  50. package/src/components/PlaneHelper.js +38 -38
  51. package/src/components/Shape2D.js +52 -52
  52. package/src/components/Shape3D.js +46 -46
  53. package/src/components/Text2D.js +49 -49
  54. package/src/components/UIElement.js +246 -246
  55. package/src/components/UpdatableMaterialMesh.js +26 -26
  56. package/src/components/WorldImage.js +101 -101
  57. package/src/components/mouse_interactors/ObjectRotator.js +64 -64
  58. package/src/components/sdf_text/SDFText.js +156 -156
  59. package/src/components/sdf_text/SDFTextBatch.js +195 -195
  60. package/src/components/sdf_text/TextGlyph.js +17 -17
  61. package/src/data_textures/CustomDataTexture.js +53 -53
  62. package/src/data_textures/RGBADataTexture.js +14 -14
  63. package/src/data_textures/RGBAFloatDataTexture.js +14 -14
  64. package/src/data_textures/RGBDataTexture.js +14 -14
  65. package/src/data_textures/RGBFloatDataTexture.js +13 -13
  66. package/src/editor/ManipulatorHandle.js +73 -73
  67. package/src/editor/ObjectEditor.js +68 -68
  68. package/src/editor/ObjectManipulator.js +112 -112
  69. package/src/editor/ObjectPicker.js +77 -77
  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 +111 -111
  73. package/src/gpu_particles/ParticleAttribute.js +89 -89
  74. package/src/gpu_particles/ParticlePositionAttribute.js +42 -42
  75. package/src/html_utilities/CSSAnimator.js +66 -66
  76. package/src/html_utilities/css_animator_states/Animating.js +46 -46
  77. package/src/html_utilities/css_animator_states/Idle.js +27 -27
  78. package/src/index.js +134 -134
  79. package/src/loaders/AsyncAbstractLoader.js +160 -160
  80. package/src/loaders/AsyncAudiosLoader.js +34 -34
  81. package/src/loaders/AsyncObjectsLoader.js +44 -44
  82. package/src/loaders/AsyncTexturesLoader.js +81 -70
  83. package/src/loaders/assets_loader/AsyncAssetsLoaderWorker.js +69 -69
  84. package/src/loaders/assets_loader/ResourceContainer.js +37 -37
  85. package/src/loaders/assets_loader/ResourceLoaderChecker.js +39 -39
  86. package/src/materials/AddMaterial.js +20 -20
  87. package/src/materials/AlphaFilterMaterial.js +23 -23
  88. package/src/materials/BaseShaderMaterial.js +21 -21
  89. package/src/materials/BlitMaterial.js +30 -30
  90. package/src/materials/BloomComposeMaterial.js +24 -24
  91. package/src/materials/BoxBlurMaterial.js +16 -16
  92. package/src/materials/ClearAlphaMaterial.js +15 -15
  93. package/src/materials/ClearColorMaterial.js +33 -33
  94. package/src/materials/ClearDepthNormalMaterial.js +16 -16
  95. package/src/materials/DeferredRendererComposeMaterial.js +35 -35
  96. package/src/materials/DepthNormalMaterial.js +30 -30
  97. package/src/materials/DisplayNormalTextureMaterial.js +18 -18
  98. package/src/materials/DualFilteringBlurMaterial.js +14 -14
  99. package/src/materials/FXAAMaterial.js +12 -12
  100. package/src/materials/GaussianBlurMaterial.js +40 -40
  101. package/src/materials/LuminosityHighPassMaterial.js +26 -26
  102. package/src/materials/MedianFilterMaterial.js +45 -45
  103. package/src/materials/NormalMaterial.js +19 -19
  104. package/src/materials/SDFScreenTextMaterial.js +34 -34
  105. package/src/materials/SDFTextMaterial.js +41 -41
  106. package/src/materials/SSAOComposeMaterial.js +14 -14
  107. package/src/materials/SSAOMaterial.js +65 -65
  108. package/src/materials/ScreenSpaceTextureMaterial.js +67 -67
  109. package/src/materials/UIElementMaterial.js +30 -30
  110. package/src/materials/UnrealBloomComposeMaterial.js +100 -100
  111. package/src/materials/UnrealBlurMaterial.js +20 -20
  112. package/src/materials/UnrealComposeMaterial.js +27 -27
  113. package/src/materials/ViewPositionMaterial.js +19 -19
  114. package/src/materials/deferred/DeferredPointLightMaterial.js +42 -42
  115. package/src/materials/gpu_particles/AttributeUpdateMaterial.js +37 -37
  116. package/src/materials/gpu_particles/BasicParticleMaterial.js +25 -25
  117. package/src/materials/gpu_particles/ParticleStorageMaterial.js +37 -37
  118. package/src/materials/gpu_particles/PositionStorageMaterial.js +26 -26
  119. package/src/object_pool/Pool.js +75 -75
  120. package/src/primitives/Arrow.js +62 -62
  121. package/src/primitives/Cube.js +24 -24
  122. package/src/primitives/HorizontalPlane.js +27 -27
  123. package/src/primitives/Sphere.js +22 -22
  124. package/src/primitives/VerticalPlane.js +26 -26
  125. package/src/raycast/GroupRaycaster.js +43 -43
  126. package/src/raycast/PlaneDragResolver.js +92 -92
  127. package/src/raycast/PlaneRaycastResolver.js +24 -24
  128. package/src/raycast/PlaneRaycaster.js +25 -25
  129. package/src/raycast/RaycastResolver.js +24 -24
  130. package/src/raycast/SurfaceDragResolver.js +80 -80
  131. package/src/raycast/states/BaseState.js +18 -18
  132. package/src/raycast/states/IdleState.js +19 -19
  133. package/src/raycast/states/OnRaycastEnter.js +17 -17
  134. package/src/raycast/states/OnRaycastExit.js +18 -18
  135. package/src/raycast/states/OnRaycastHover.js +27 -27
  136. package/src/render_mode/BaseRender.js +34 -34
  137. package/src/render_mode/BloomRender.js +63 -63
  138. package/src/render_mode/DebugNormalsRender.js +22 -22
  139. package/src/render_mode/DeferredRender.js +110 -110
  140. package/src/render_mode/NormalAORender.js +72 -72
  141. package/src/render_mode/NormalRender.js +38 -38
  142. package/src/render_mode/OutlineRender.js +157 -157
  143. package/src/render_mode/PlanarReflectionsRender.js +121 -121
  144. package/src/render_mode/UnrealBloomRender.js +123 -123
  145. package/src/render_mode/VRRender.js +71 -71
  146. package/src/render_utilities/Blitter.js +101 -101
  147. package/src/render_utilities/Blurrer.js +31 -31
  148. package/src/render_utilities/DepthAndNormalsRenderer.js +47 -47
  149. package/src/render_utilities/DualFilteringBlurrer.js +58 -58
  150. package/src/render_utilities/GaussianBlurrer.js +167 -167
  151. package/src/render_utilities/MedianFilter.js +68 -68
  152. package/src/render_utilities/ViewPositionRenderer.js +50 -50
  153. package/src/resource_loader/BasisLoader.js +51 -51
  154. package/src/resource_loader/FontLoader.js +48 -48
  155. package/src/resource_loader/JSONLoader.js +35 -35
  156. package/src/resource_loader/OBJLoader.js +48 -48
  157. package/src/resource_loader/PointArrayLoader.js +72 -72
  158. package/src/resource_loader/RGBETextureLoader.js +48 -48
  159. package/src/resource_loader/VideoLoader.js +32 -32
  160. package/src/scenes/AbstractScene.js +175 -175
  161. package/src/scenes/loading_states/CompilatorManager.js +41 -41
  162. package/src/scenes/loading_states/HighQualityLoadingState.js +28 -28
  163. package/src/scenes/loading_states/LoadingState.js +117 -117
  164. package/src/scenes/loading_states/RegularLoadingState.js +41 -41
  165. package/src/shaders/add/add.frag +27 -27
  166. package/src/shaders/anti_aliasing/fxaa.frag +72 -72
  167. package/src/shaders/basic_color/basic_color.frag +5 -5
  168. package/src/shaders/basic_color/basic_color.vert +9 -9
  169. package/src/shaders/basic_line/basic_line.frag +36 -36
  170. package/src/shaders/basic_line/basic_line.vert +37 -37
  171. package/src/shaders/basic_texture/basic_texture.frag +9 -9
  172. package/src/shaders/basic_texture/basic_texture.vert +16 -16
  173. package/src/shaders/bloom/bloom_compose_frag.glsl +22 -22
  174. package/src/shaders/bloom/cheap_bloom_compose_frag.glsl +13 -13
  175. package/src/shaders/box_blur/box_blur.frag +24 -24
  176. package/src/shaders/box_blur/compose.frag +31 -31
  177. package/src/shaders/clear/clear_depth_normal.frag +24 -24
  178. package/src/shaders/copy/copy.frag +6 -6
  179. package/src/shaders/copy/copy.vert +5 -5
  180. package/src/shaders/deferred/blit_copy.vert +11 -11
  181. package/src/shaders/deferred/deferred_compose.frag +59 -59
  182. package/src/shaders/deferred/point_light.frag +66 -66
  183. package/src/shaders/deferred/point_light.vert +13 -13
  184. package/src/shaders/depth_normals/debug_normals.frag +47 -47
  185. package/src/shaders/depth_normals/depth_normals.frag +30 -30
  186. package/src/shaders/depth_normals/depth_normals.vert +12 -12
  187. package/src/shaders/dual_filter_blur/alpha_filter.frag +14 -14
  188. package/src/shaders/dual_filter_blur/downsample.frag +21 -21
  189. package/src/shaders/dual_filter_blur/upsample.frag +24 -24
  190. package/src/shaders/edge_visualizer/edge_visualizer.frag +17 -17
  191. package/src/shaders/edge_visualizer/edge_visualizer.vert +15 -15
  192. package/src/shaders/edges/corners.frag +10 -10
  193. package/src/shaders/edges/corners.vert +30 -30
  194. package/src/shaders/edges/edges.frag +6 -6
  195. package/src/shaders/edges/edges.vert +27 -27
  196. package/src/shaders/gaussian_blur/gaussian_blur.frag +43 -43
  197. package/src/shaders/gaussian_blur/unreal_bloom_compose.frag +36 -36
  198. package/src/shaders/gpu_particles/common_utils.glsl +12 -12
  199. package/src/shaders/gpu_particles/generic_storage.frag +6 -6
  200. package/src/shaders/gpu_particles/store/store_position.vert +14 -14
  201. package/src/shaders/gpu_particles/update/basic_update.frag +20 -20
  202. package/src/shaders/gpu_particles/visualize/visualize.frag +10 -10
  203. package/src/shaders/gpu_particles/visualize/visualize.vert +12 -12
  204. package/src/shaders/grid/grid.frag +16 -16
  205. package/src/shaders/grid/grid.vert +9 -9
  206. package/src/shaders/luminosity_high_pass/luminosity_high_pass.frag +37 -37
  207. package/src/shaders/median_filter/median_filter.frag +134 -134
  208. package/src/shaders/normal/normal.frag +6 -6
  209. package/src/shaders/normal/normal.vert +6 -6
  210. package/src/shaders/sdf_text/sdf_screen_text.frag +51 -51
  211. package/src/shaders/sdf_text/sdf_screen_text.vert +41 -41
  212. package/src/shaders/sdf_text/sdf_text.frag +53 -53
  213. package/src/shaders/sdf_text/sdf_text.vert +41 -41
  214. package/src/shaders/ssao/hbao.frag +264 -264
  215. package/src/shaders/ssao/ssao.frag +95 -95
  216. package/src/shaders/ssao/ssao.vert +10 -10
  217. package/src/shaders/ssao/ssao_compose.frag +14 -14
  218. package/src/shaders/transparent_mix/copy.frag +6 -6
  219. package/src/shaders/transparent_mix/transparent_mix.frag +18 -18
  220. package/src/shaders/transparent_mix/transparent_mix.vert +7 -7
  221. package/src/shaders/ui/ss_texture.frag +10 -10
  222. package/src/shaders/ui/ss_texture.vert +31 -31
  223. package/src/shaders/ui/ws_texture.vert +38 -38
  224. package/src/shaders/ui_element/ui_element.frag +11 -11
  225. package/src/shaders/ui_element/ui_element.vert +32 -32
  226. package/src/shaders/unreal_blur/unreal_blur.frag +24 -24
  227. package/src/shaders/unreal_blur/unreal_compose.frag +23 -23
  228. package/src/shaders/write_view_position/write_view_position.frag +6 -6
  229. package/src/shaders/write_view_position/write_view_position.vert +8 -8
  230. package/src/static_batcher/BatchedMesh.js +56 -56
  231. package/src/static_batcher/GeometryBatch.js +308 -308
  232. package/src/static_batcher/GeometryBatcher.js +64 -64
  233. package/src/static_batcher/MeshBatcher.js +58 -58
  234. package/src/ui/ui_element_position/ScreenSpacePosition.js +16 -16
  235. package/src/ui/ui_element_position/WorldSpacePosition.js +23 -23
  236. package/src/ui/ui_element_state/OnIdle.js +24 -24
  237. package/src/ui/ui_element_state/OnMouseEnter.js +39 -39
  238. package/src/ui/ui_element_state/OnMouseExit.js +22 -22
  239. package/src/ui/ui_element_state/OnMouseHover.js +46 -46
  240. package/src/ui/ui_element_state/UIElementState.js +34 -34
  241. package/src/utilities/ArrayUtilities.js +57 -57
  242. package/src/utilities/CameraUtilities.js +283 -283
  243. package/src/utilities/EasingFunctions.js +231 -231
  244. package/src/utilities/FrustumPointFitter.js +257 -257
  245. package/src/utilities/GeometryUtilities.js +76 -76
  246. package/src/utilities/HTMLUtilities.js +76 -76
  247. package/src/utilities/ImageUtilities.js +28 -28
  248. package/src/utilities/MeshSampler.js +206 -206
  249. package/src/utilities/ModelUtilities.js +162 -162
  250. package/src/utilities/OMath.js +158 -158
  251. package/src/utilities/OrthographicFrustumPointFitter.js +49 -49
  252. package/src/utilities/PerspectiveFrustumPointFitter.js +254 -254
  253. package/src/utilities/StringUtilities.js +43 -43
  254. package/src/utilities/TimeUtilities.js +24 -24
  255. package/src/utilities/Validation.js +36 -36
  256. package/src/view_components/ApplicationView.js +73 -73
  257. package/src/view_components/TransitionManager.js +75 -75
  258. package/src/view_components/ViewComponent.js +61 -61
  259. package/src/view_components/ViewComponentManager.js +69 -69
  260. package/src/view_components/ViewManager.js +145 -145
  261. package/src/view_components/ViewState.js +49 -49
  262. package/src/view_components/transition/ActionSequencerBuilder.js +124 -124
  263. package/src/view_components/transition/DrawIOAnimationSheet.js +92 -92
  264. package/src/view_components/transition/TransitionTable.js +54 -54
  265. package/src/view_components/transition/ViewStateTransitionHandler.js +106 -106
@@ -1,117 +1,117 @@
1
- import { ResourceContainer } from 'ohzi-core';
2
-
3
- import { AsyncAudiosLoader } from '../../loaders/AsyncAudiosLoader';
4
- import { AsyncObjectsLoader } from '../../loaders/AsyncObjectsLoader';
5
- import { AsyncTexturesLoader } from '../../loaders/AsyncTexturesLoader';
6
- import { CompilatorManager } from './CompilatorManager';
7
-
8
- export class LoadingState
9
- {
10
- constructor(scene, { SceneCompilator, TexturesCompilator, AudiosCompilator })
11
- {
12
- this.scene = scene;
13
-
14
- this.SceneCompilator = SceneCompilator;
15
- this.TexturesCompilator = TexturesCompilator;
16
- this.AudiosCompilator = AudiosCompilator;
17
-
18
- this.loaders = [];
19
- this.compilators = [];
20
-
21
- this.callback_called = false;
22
- }
23
-
24
- set_assets(scene_objects, scene_textures, scene_sounds, custom_loaders = [], custom_compilators = [], custom_data = [])
25
- {
26
- this.scene_objects = scene_objects;
27
- this.scene_textures = scene_textures;
28
- this.scene_sounds = scene_sounds;
29
-
30
- this.custom_loaders = custom_loaders;
31
- this.custom_compilators = custom_compilators;
32
- this.custom_data = custom_data;
33
- }
34
-
35
- get loading_progress()
36
- {
37
- let progress = 0;
38
-
39
- for (let i = 0; i < this.loaders.length; i++)
40
- {
41
- const loader = this.loaders[i];
42
- progress += loader.get_progress();
43
- }
44
- return progress / this.loaders.length;
45
- }
46
-
47
- load()
48
- {
49
- this.setup_loader();
50
-
51
- // TODO: improve this.
52
- // We call load method to one of the 3 loaders because they share the same worker.
53
- this.loaders[0].load();
54
- }
55
-
56
- on_enter()
57
- {
58
- }
59
-
60
- on_exit()
61
- {
62
- }
63
-
64
- update()
65
- {
66
-
67
- }
68
-
69
- setup_loader()
70
- {
71
- const compilators = [];
72
-
73
- const assets_worker = ResourceContainer.get('assets_worker');
74
- assets_worker.postMessage({ type: 'reset', loader_name: this.scene.name });
75
-
76
- const object_loader = new AsyncObjectsLoader(this.scene.name, this.scene_objects, assets_worker);
77
- this.loaders.push(object_loader);
78
- compilators.push(new this.SceneCompilator(this.scene));
79
-
80
- const textures_loader = new AsyncTexturesLoader(this.scene.name, this.scene_textures, assets_worker);
81
- this.loaders.push(textures_loader);
82
- compilators.push(new this.TexturesCompilator(textures_loader.get_assets_names()));
83
-
84
- const audios_loader = new AsyncAudiosLoader(this.scene.name, this.scene_sounds, assets_worker);
85
- this.loaders.push(audios_loader);
86
- compilators.push(new this.AudiosCompilator(audios_loader.get_assets_names()));
87
-
88
- for (let i = 0; i < this.custom_loaders.length; i++)
89
- {
90
- const loader = new this.custom_loaders[i](this.scene.name, this.custom_data[i], assets_worker);
91
- this.loaders.push(loader);
92
- compilators.push(new this.custom_compilators[i](loader.get_assets_names()));
93
- }
94
-
95
- this.compilator_manager = new CompilatorManager(compilators);
96
- }
97
-
98
- is_loaded()
99
- {
100
- let loaded = true;
101
-
102
- for (let i = 0; i < this.loaders.length; i++)
103
- {
104
- const loader = this.loaders[i];
105
-
106
- loaded = loaded && loader.is_loaded();
107
- }
108
-
109
- return loaded;
110
- }
111
-
112
- is_compiled()
113
- {
114
- this.compilator_manager.update();
115
- return this.compilator_manager.is_finished();
116
- }
117
- }
1
+ import { ResourceContainer } from 'ohzi-core';
2
+
3
+ import { AsyncAudiosLoader } from '../../loaders/AsyncAudiosLoader';
4
+ import { AsyncObjectsLoader } from '../../loaders/AsyncObjectsLoader';
5
+ import { AsyncTexturesLoader } from '../../loaders/AsyncTexturesLoader';
6
+ import { CompilatorManager } from './CompilatorManager';
7
+
8
+ export class LoadingState
9
+ {
10
+ constructor(scene, { SceneCompilator, TexturesCompilator, AudiosCompilator })
11
+ {
12
+ this.scene = scene;
13
+
14
+ this.SceneCompilator = SceneCompilator;
15
+ this.TexturesCompilator = TexturesCompilator;
16
+ this.AudiosCompilator = AudiosCompilator;
17
+
18
+ this.loaders = [];
19
+ this.compilators = [];
20
+
21
+ this.callback_called = false;
22
+ }
23
+
24
+ set_assets(scene_objects, scene_textures, scene_sounds, custom_loaders = [], custom_compilators = [], custom_data = [])
25
+ {
26
+ this.scene_objects = scene_objects;
27
+ this.scene_textures = scene_textures;
28
+ this.scene_sounds = scene_sounds;
29
+
30
+ this.custom_loaders = custom_loaders;
31
+ this.custom_compilators = custom_compilators;
32
+ this.custom_data = custom_data;
33
+ }
34
+
35
+ get loading_progress()
36
+ {
37
+ let progress = 0;
38
+
39
+ for (let i = 0; i < this.loaders.length; i++)
40
+ {
41
+ const loader = this.loaders[i];
42
+ progress += loader.get_progress();
43
+ }
44
+ return progress / this.loaders.length;
45
+ }
46
+
47
+ load()
48
+ {
49
+ this.setup_loader();
50
+
51
+ // TODO: improve this.
52
+ // We call load method to one of the 3 loaders because they share the same worker.
53
+ this.loaders[0].load();
54
+ }
55
+
56
+ on_enter()
57
+ {
58
+ }
59
+
60
+ on_exit()
61
+ {
62
+ }
63
+
64
+ update()
65
+ {
66
+
67
+ }
68
+
69
+ setup_loader()
70
+ {
71
+ const compilators = [];
72
+
73
+ const assets_worker = ResourceContainer.get('assets_worker');
74
+ assets_worker.postMessage({ type: 'reset', loader_name: this.scene.name });
75
+
76
+ const object_loader = new AsyncObjectsLoader(this.scene.name, this.scene_objects, assets_worker);
77
+ this.loaders.push(object_loader);
78
+ compilators.push(new this.SceneCompilator(this.scene));
79
+
80
+ const textures_loader = new AsyncTexturesLoader(this.scene.name, this.scene_textures, assets_worker);
81
+ this.loaders.push(textures_loader);
82
+ compilators.push(new this.TexturesCompilator(textures_loader.get_assets_names()));
83
+
84
+ const audios_loader = new AsyncAudiosLoader(this.scene.name, this.scene_sounds, assets_worker);
85
+ this.loaders.push(audios_loader);
86
+ compilators.push(new this.AudiosCompilator(audios_loader.get_assets_names()));
87
+
88
+ for (let i = 0; i < this.custom_loaders.length; i++)
89
+ {
90
+ const loader = new this.custom_loaders[i](this.scene.name, this.custom_data[i], assets_worker);
91
+ this.loaders.push(loader);
92
+ compilators.push(new this.custom_compilators[i](loader.get_assets_names()));
93
+ }
94
+
95
+ this.compilator_manager = new CompilatorManager(compilators);
96
+ }
97
+
98
+ is_loaded()
99
+ {
100
+ let loaded = true;
101
+
102
+ for (let i = 0; i < this.loaders.length; i++)
103
+ {
104
+ const loader = this.loaders[i];
105
+
106
+ loaded = loaded && loader.is_loaded();
107
+ }
108
+
109
+ return loaded;
110
+ }
111
+
112
+ is_compiled()
113
+ {
114
+ this.compilator_manager.update();
115
+ return this.compilator_manager.is_finished();
116
+ }
117
+ }
@@ -1,41 +1,41 @@
1
- import { LoadingState } from './LoadingState';
2
-
3
- export class RegularLoadingState extends LoadingState
4
- {
5
- constructor(scene, compilators)
6
- {
7
- super(scene, compilators);
8
-
9
- this.on_assets_ready_called = false;
10
- }
11
-
12
- on_enter()
13
- {
14
- super.on_enter();
15
- // this.setup_loader();
16
- }
17
-
18
- on_exit()
19
- {
20
- super.on_exit();
21
- }
22
-
23
- update()
24
- {
25
- super.update();
26
-
27
- if (this.is_loaded())
28
- {
29
- if (!this.on_assets_ready_called)
30
- {
31
- this.scene.on_assets_ready();
32
- this.on_assets_ready_called = true;
33
- }
34
-
35
- if (this.is_compiled())
36
- {
37
- this.scene.on_assets_compiled();
38
- }
39
- }
40
- }
41
- }
1
+ import { LoadingState } from './LoadingState';
2
+
3
+ export class RegularLoadingState extends LoadingState
4
+ {
5
+ constructor(scene, compilators)
6
+ {
7
+ super(scene, compilators);
8
+
9
+ this.on_assets_ready_called = false;
10
+ }
11
+
12
+ on_enter()
13
+ {
14
+ super.on_enter();
15
+ // this.setup_loader();
16
+ }
17
+
18
+ on_exit()
19
+ {
20
+ super.on_exit();
21
+ }
22
+
23
+ update()
24
+ {
25
+ super.update();
26
+
27
+ if (this.is_loaded())
28
+ {
29
+ if (!this.on_assets_ready_called)
30
+ {
31
+ this.scene.on_assets_ready();
32
+ this.on_assets_ready_called = true;
33
+ }
34
+
35
+ if (this.is_compiled())
36
+ {
37
+ this.scene.on_assets_compiled();
38
+ }
39
+ }
40
+ }
41
+ }
@@ -1,28 +1,28 @@
1
- uniform sampler2D _MainTex;
2
- uniform sampler2D _SecondTex;
3
-
4
- varying vec2 vUv;
5
-
6
- vec4 sampleTex(sampler2D tex, vec2 uv)
7
- {
8
- vec4 col = texture2D( tex, uv);
9
-
10
- #ifndef USE_LINEAR_COLOR_SPACE
11
- col.rgb = pow(col.rgb, vec3(2.2));
12
- #endif
13
-
14
- return col;
15
- }
16
- void main()
17
- {
18
- vec4 col0 = sampleTex(_MainTex, vUv);
19
- vec4 col1 = sampleTex(_SecondTex, vUv);
20
-
21
-
22
- gl_FragColor = col0+col1;
23
- // gl_FragColor = texture2D(_SecondTex, vUv);
24
- gl_FragColor.rgb = pow(gl_FragColor.rgb, vec3(0.4545));
25
-
26
- // gl_FragColor = texture2D(_MainTex, vUv)+texture2D(_SecondTex, vUv);
27
-
1
+ uniform sampler2D _MainTex;
2
+ uniform sampler2D _SecondTex;
3
+
4
+ varying vec2 vUv;
5
+
6
+ vec4 sampleTex(sampler2D tex, vec2 uv)
7
+ {
8
+ vec4 col = texture2D( tex, uv);
9
+
10
+ #ifndef USE_LINEAR_COLOR_SPACE
11
+ col.rgb = pow(col.rgb, vec3(2.2));
12
+ #endif
13
+
14
+ return col;
15
+ }
16
+ void main()
17
+ {
18
+ vec4 col0 = sampleTex(_MainTex, vUv);
19
+ vec4 col1 = sampleTex(_SecondTex, vUv);
20
+
21
+
22
+ gl_FragColor = col0+col1;
23
+ // gl_FragColor = texture2D(_SecondTex, vUv);
24
+ gl_FragColor.rgb = pow(gl_FragColor.rgb, vec3(0.4545));
25
+
26
+ // gl_FragColor = texture2D(_MainTex, vUv)+texture2D(_SecondTex, vUv);
27
+
28
28
  }
@@ -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;
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;
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
  }
@@ -1,10 +1,10 @@
1
- varying vec2 vUv;
2
-
3
- void main()
4
- {
5
- vec3 pos = position;
6
- mat4 MVP = projectionMatrix * modelViewMatrix;
7
-
8
- gl_Position = MVP * vec4( pos, 1.0 );
9
- vUv = uv;
1
+ varying vec2 vUv;
2
+
3
+ void main()
4
+ {
5
+ vec3 pos = position;
6
+ mat4 MVP = projectionMatrix * modelViewMatrix;
7
+
8
+ gl_Position = MVP * vec4( pos, 1.0 );
9
+ vUv = uv;
10
10
  }
@@ -1,37 +1,37 @@
1
- uniform float _Length;
2
- uniform float _ElapsedTime;
3
- uniform float _Thickness;
4
- uniform vec3 _Color;
5
-
6
- varying float line_coverage;
7
- varying float uv_u;
8
-
9
-
10
-
11
-
12
- float aastep(float threshold, float value) {
13
- #ifdef GL_OES_standard_derivatives
14
- float afwidth = length(vec2(dFdx(value), dFdy(value))) * 0.70710678118654757;
15
- return smoothstep(threshold-afwidth, threshold+afwidth, value);
16
- #else
17
- return step(threshold, value);
18
- #endif
19
- }
20
-
21
- void main()
22
- {
23
-
24
- // float y = fract(line_coverage /_Thickness - _TrueElapsedTime) ;
25
-
26
- // vec2 uv = vec2(uv_u, y);
27
-
28
-
29
- // vec4 col = texture2D(_ArrowsTex,uv);
30
- // col.rgb *= _ForwardColor;
31
- // col.a = aastep(0.5, col.a);
32
- // gl_FragColor = col;
33
- float u = (1.0 - abs(uv_u * 2.0 - 1.0));
34
- float diffuse = dot(vec2(u, u), vec2(0.0, 1.0)) * 0.5+0.5;
35
- gl_FragColor = vec4(_Color * diffuse, 1.0);
36
-
1
+ uniform float _Length;
2
+ uniform float _ElapsedTime;
3
+ uniform float _Thickness;
4
+ uniform vec3 _Color;
5
+
6
+ varying float line_coverage;
7
+ varying float uv_u;
8
+
9
+
10
+
11
+
12
+ float aastep(float threshold, float value) {
13
+ #ifdef GL_OES_standard_derivatives
14
+ float afwidth = length(vec2(dFdx(value), dFdy(value))) * 0.70710678118654757;
15
+ return smoothstep(threshold-afwidth, threshold+afwidth, value);
16
+ #else
17
+ return step(threshold, value);
18
+ #endif
19
+ }
20
+
21
+ void main()
22
+ {
23
+
24
+ // float y = fract(line_coverage /_Thickness - _TrueElapsedTime) ;
25
+
26
+ // vec2 uv = vec2(uv_u, y);
27
+
28
+
29
+ // vec4 col = texture2D(_ArrowsTex,uv);
30
+ // col.rgb *= _ForwardColor;
31
+ // col.a = aastep(0.5, col.a);
32
+ // gl_FragColor = col;
33
+ float u = (1.0 - abs(uv_u * 2.0 - 1.0));
34
+ float diffuse = dot(vec2(u, u), vec2(0.0, 1.0)) * 0.5+0.5;
35
+ gl_FragColor = vec4(_Color * diffuse, 1.0);
36
+
37
37
  }