ohzi-core 10.6.7 → 11.0.1

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 (71) hide show
  1. package/build/index.module.js +1 -1
  2. package/build/index.module.js.map +1 -1
  3. package/package.json +9 -11
  4. package/src/BaseApplication.js +3 -0
  5. package/src/Browser.js +4 -4
  6. package/src/Graphics.js +17 -19
  7. package/src/Initializer.js +1 -7
  8. package/src/OS.js +2 -2
  9. package/src/RenderLoop.js +16 -13
  10. package/src/action_sequencer/ActionEvent.js +1 -2
  11. package/src/action_sequencer/ActionSequencer.js +3 -7
  12. package/src/data_textures/RGBDataTexture.js +2 -2
  13. package/src/data_textures/RGBFloatDataTexture.js +2 -3
  14. package/src/gpu_particles/ParticleAttribute.js +2 -7
  15. package/src/index.js +41 -141
  16. package/src/materials/SSAOMaterial.js +2 -6
  17. package/src/primitives/Arrow.js +3 -6
  18. package/src/primitives/Sphere.js +2 -4
  19. package/src/render_mode/DeferredRender.js +5 -9
  20. package/src/render_mode/NormalAORender.js +7 -8
  21. package/src/resource_loader/AsyncTextureLoader.js +5 -3
  22. package/src/resource_loader/BasisLoader.js +0 -4
  23. package/src/static_batcher/GeometryBatch.js +2 -8
  24. package/src/view_components/ApplicationView.js +2 -29
  25. package/src/view_components/ApplicationViewController.js +95 -0
  26. package/src/view_components/TransitionManager.js +60 -0
  27. package/src/view_components/VCManager.js +9 -0
  28. package/src/view_components/ViewComponent.js +9 -36
  29. package/src/view_components/ViewComponentController.js +73 -0
  30. package/src/view_components/ViewComponentControllerManager.js +59 -0
  31. package/src/view_components/ViewComponentManager.js +3 -13
  32. package/src/view_components/ViewControllerManager.js +91 -0
  33. package/src/view_components/ViewManager.js +11 -104
  34. package/src/view_components/ViewState.js +0 -7
  35. package/src/view_components/WorkerToMain.js +25 -0
  36. package/src/view_components/transition/ActionSequencerBuilder.js +3 -3
  37. package/src/view_components/transition/TransitionTable.js +9 -2
  38. package/types/BaseApplication.d.ts +1 -0
  39. package/types/Browser.d.ts +1 -1
  40. package/types/CameraManager.d.ts +2 -4
  41. package/types/Graphics.d.ts +8 -3
  42. package/types/Initializer.d.ts +1 -1
  43. package/types/RenderLoop.d.ts +1 -2
  44. package/types/SceneManager.d.ts +1 -3
  45. package/types/action_sequencer/ActionSequencer.d.ts +2 -2
  46. package/types/blitter_index.d.ts +6 -0
  47. package/types/index.d.ts +75 -73
  48. package/types/render_mode/NormalAORender.d.ts +1 -0
  49. package/types/resource_loader/AsyncTextureLoader.d.ts +1 -0
  50. package/types/utilities/FrustumPointFitter.d.ts +1 -3
  51. package/types/utilities/OMath.d.ts +9 -9
  52. package/types/view_components/ApplicationView.d.ts +1 -3
  53. package/types/view_components/ApplicationViewController.d.ts +11 -0
  54. package/types/view_components/TransitionManager.d.ts +17 -0
  55. package/types/view_components/VCManager.d.ts +5 -0
  56. package/types/view_components/ViewComponent.d.ts +1 -5
  57. package/types/view_components/ViewComponentController.d.ts +14 -0
  58. package/types/view_components/ViewComponentControllerManager.d.ts +12 -0
  59. package/types/view_components/ViewComponentManager.d.ts +0 -1
  60. package/types/view_components/ViewControllerManager.d.ts +12 -0
  61. package/types/view_components/ViewManager.d.ts +4 -22
  62. package/types/view_components/ViewState.d.ts +0 -1
  63. package/types/view_components/WorkerToMain.d.ts +8 -0
  64. package/types/view_components/transition/ActionSequencerBuilder.d.ts +1 -1
  65. package/types/view_components/transition/TransitionTable.d.ts +2 -0
  66. package/src/Configuration.js +0 -23
  67. package/src/Screen.js +0 -55
  68. package/src/render_mode/TransparencyMixRender.js +0 -147
  69. package/src/view_components/ViewContext.js +0 -15
  70. package/types/Configuration.d.ts +0 -8
  71. package/types/view_components/ViewContext.d.ts +0 -6
@@ -1,147 +0,0 @@
1
- import { OScreen } from '../OScreen';
2
- import { RenderLayers } from '../RenderLayers';
3
-
4
- import transparent_mix_vert from '../shaders/transparent_mix/transparent_mix.vert';
5
- import transparent_mix_frag from '../shaders/transparent_mix/transparent_mix.frag';
6
- import copy_frag from '../shaders/transparent_mix/copy.frag';
7
- import fxaa from '../shaders/anti_aliasing/fxaa.frag';
8
-
9
- import { Configuration } from '../Configuration';
10
-
11
- import { Mesh } from 'three';
12
- import { WebGLRenderTarget } from 'three';
13
- import { ShaderMaterial } from 'three';
14
- import { Vector2 } from 'three';
15
- import { PlaneGeometry } from 'three';
16
- import { Scene } from 'three';
17
-
18
- class TransparencyMixRender
19
- {
20
- constructor(webgl)
21
- {
22
- this.SSAA = Configuration.use_ssaa ? 2 : 1;
23
- this.main_rt = new WebGLRenderTarget(OScreen.width * this.SSAA, OScreen.height * this.SSAA);
24
- this.opaque_rt = new WebGLRenderTarget(OScreen.width * this.SSAA, OScreen.height * this.SSAA);
25
- this.fxaa_rt = new WebGLRenderTarget(OScreen.width * this.SSAA, OScreen.height * this.SSAA);
26
-
27
- this.mix_material = new ShaderMaterial({
28
- uniforms: {
29
- _OpaqueTex: { value: this.opaque_rt.texture },
30
- _TransparentTex: { value: this.main_rt.texture },
31
- _Resolution: { value: new Vector2(OScreen.width, OScreen.height) },
32
- _Opacity: { value: Configuration.transparency_amount }
33
- },
34
- vertexShader: transparent_mix_vert,
35
- fragmentShader: transparent_mix_frag,
36
- depthTest: false,
37
- depthWrite: false
38
- });
39
-
40
- this.copy_material = new ShaderMaterial({
41
- uniforms: {
42
- _MainTex: { value: this.main_rt.texture }
43
- },
44
- vertexShader: transparent_mix_vert,
45
- fragmentShader: copy_frag,
46
- depthTest: false,
47
- depthWrite: false
48
- });
49
-
50
- this.fxaa_material = this.__get_fxaa_material();
51
-
52
- const geometry = new PlaneGeometry(1, 1);
53
- this.render_plane = new Mesh(geometry, this.mix_material);
54
- this.render_plane.frustumCulled = false;
55
-
56
- this.copy_plane = new Mesh(geometry, this.copy_material);
57
- this.copy_plane.frustumCulled = false;
58
-
59
- this.mix_scene = new Scene();
60
- this.mix_scene.add(this.render_plane);
61
- this.copy_scene = new Scene();
62
- this.copy_scene.add(this.copy_plane);
63
- }
64
-
65
- resize()
66
- {
67
- this.main_rt.setSize(OScreen.width * this.SSAA, OScreen.height * this.SSAA);
68
- this.opaque_rt.setSize(OScreen.width * this.SSAA, OScreen.height * this.SSAA);
69
- this.fxaa_rt.setSize(OScreen.width * this.SSAA, OScreen.height * this.SSAA);
70
- this.fxaa_material.uniforms._Resolution.value.set(OScreen.width * this.SSAA, OScreen.height * this.SSAA);
71
- this.mix_material.uniforms._Resolution.value.set(OScreen.width * this.SSAA, OScreen.height * this.SSAA);
72
- }
73
-
74
- __get_fxaa_material()
75
- {
76
- return new ShaderMaterial({
77
- uniforms: {
78
- _MainTex: { value: this.fxaa_rt.texture },
79
- _Resolution: { value: new Vector2(OScreen.width * this.SSAA, OScreen.height * this.SSAA) }
80
- },
81
- vertexShader: transparent_mix_vert,
82
- fragmentShader: fxaa,
83
- depthTest: false,
84
- depthWrite: false
85
- });
86
- }
87
-
88
- render(webgl)
89
- {
90
- webgl.camera.updateMatrix();
91
- webgl.camera.updateMatrixWorld();
92
-
93
- this.__render_opaque(webgl);
94
- this.__render_transparent(webgl);
95
-
96
- webgl.camera.layers.disable(RenderLayers.transparent);
97
- webgl.camera.layers.enable(RenderLayers.opaque);
98
-
99
- if (Configuration.use_fxaa)
100
- {
101
- webgl._renderer.render(this.mix_scene, webgl.camera, this.fxaa_rt, false);
102
- this.mix_scene.overrideMaterial = this.fxaa_material;
103
- webgl._renderer.render(this.mix_scene, webgl.camera, undefined, false);
104
- this.mix_scene.overrideMaterial = undefined;
105
- }
106
- else
107
- {
108
- webgl._renderer.render(this.mix_scene, webgl.camera, undefined, false);
109
- }
110
- }
111
-
112
- __render_opaque(webgl)
113
- {
114
- webgl._renderer.setClearColor(webgl.clear_color);
115
- webgl._renderer.setClearAlpha(1);
116
-
117
- webgl.camera.layers.disable(RenderLayers.transparent);
118
- webgl.camera.layers.enable(RenderLayers.opaque);
119
- webgl._renderer.clearTarget(this.main_rt, true, true, false);
120
- webgl._renderer.render(webgl.scene, webgl.camera, this.main_rt, false);
121
- webgl._renderer.render(this.copy_scene, webgl.camera, this.opaque_rt, false);
122
- }
123
-
124
- __render_transparent(webgl)
125
- {
126
- webgl._renderer.setClearColor(0x000000);
127
- webgl._renderer.setClearAlpha(0);
128
-
129
- webgl.camera.layers.disable(RenderLayers.opaque);
130
- webgl.camera.layers.enable(RenderLayers.transparent);
131
-
132
- webgl._renderer.clearTarget(this.main_rt, true, false, false);
133
- webgl._renderer.render(webgl.scene, webgl.camera, this.main_rt, false);
134
- }
135
-
136
- on_enter(webgl)
137
- {
138
- webgl._renderer.autoClear = false;
139
- }
140
-
141
- on_exit(webgl)
142
- {
143
- webgl._renderer.autoClear = true;
144
- }
145
- }
146
-
147
- export { TransparencyMixRender };
@@ -1,15 +0,0 @@
1
- class ViewContext
2
- {
3
- constructor()
4
- {
5
- this.app = undefined;
6
- }
7
-
8
- set_app(app)
9
- {
10
- this.app = app;
11
- }
12
- }
13
-
14
- const view_context = new ViewContext();
15
- export { view_context as ViewContext };
@@ -1,8 +0,0 @@
1
- export { configuration as Configuration };
2
- declare const configuration: Configuration;
3
- declare class Configuration {
4
- init(parameters?: {}): void;
5
- dpr: number;
6
- app: {};
7
- from_json(json: any): void;
8
- }
@@ -1,6 +0,0 @@
1
- export { view_context as ViewContext };
2
- declare const view_context: ViewContext;
3
- declare class ViewContext {
4
- app: any;
5
- set_app(app: any): void;
6
- }