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,37 +1,37 @@
1
- uniform float _Thickness;
2
-
3
-
4
- attribute vec3 next_position;
5
- attribute vec3 previous_position;
6
- attribute float orientation;
7
- attribute float coverage;
8
-
9
- varying float line_coverage;
10
- varying float uv_u;
11
-
12
- vec3 w_space_normal(vec3 from, vec3 to)
13
- {
14
- vec3 w_from = (modelMatrix * vec4(from, 1.0)).xyz;
15
- vec3 w_to = (modelMatrix * vec4(to, 1.0)).xyz;
16
-
17
- vec3 z = normalize(w_to - w_from);
18
- return normalize(cross(z , normalize(cameraPosition - w_from)));
19
-
20
- }
21
-
22
- void main()
23
- {
24
-
25
- mat4 VP = projectionMatrix * viewMatrix;
26
-
27
- vec3 pos = position;
28
- vec3 normal = w_space_normal(next_position ,previous_position);
29
- pos = (modelMatrix * vec4(pos, 1.0)).xyz;
30
- pos += normal * (_Thickness * 0.5) * orientation;
31
-
32
- gl_Position = VP * vec4(pos, 1.0);
33
-
34
- line_coverage = coverage;
35
- uv_u = orientation * 0.5 + 0.5;
36
-
37
- }
1
+ uniform float _Thickness;
2
+
3
+
4
+ attribute vec3 next_position;
5
+ attribute vec3 previous_position;
6
+ attribute float orientation;
7
+ attribute float coverage;
8
+
9
+ varying float line_coverage;
10
+ varying float uv_u;
11
+
12
+ vec3 w_space_normal(vec3 from, vec3 to)
13
+ {
14
+ vec3 w_from = (modelMatrix * vec4(from, 1.0)).xyz;
15
+ vec3 w_to = (modelMatrix * vec4(to, 1.0)).xyz;
16
+
17
+ vec3 z = normalize(w_to - w_from);
18
+ return normalize(cross(z , normalize(cameraPosition - w_from)));
19
+
20
+ }
21
+
22
+ void main()
23
+ {
24
+
25
+ mat4 VP = projectionMatrix * viewMatrix;
26
+
27
+ vec3 pos = position;
28
+ vec3 normal = w_space_normal(next_position ,previous_position);
29
+ pos = (modelMatrix * vec4(pos, 1.0)).xyz;
30
+ pos += normal * (_Thickness * 0.5) * orientation;
31
+
32
+ gl_Position = VP * vec4(pos, 1.0);
33
+
34
+ line_coverage = coverage;
35
+ uv_u = orientation * 0.5 + 0.5;
36
+
37
+ }
@@ -1,10 +1,10 @@
1
- uniform sampler2D _MainTex;
2
- varying vec2 vUv;
3
- uniform float _Opacity;
4
-
5
- void main()
6
- {
7
- gl_FragColor = texture2D(_MainTex, vUv);
8
- gl_FragColor.a *= _Opacity;
9
- //gl_FragColor.r = 1.0;
1
+ uniform sampler2D _MainTex;
2
+ varying vec2 vUv;
3
+ uniform float _Opacity;
4
+
5
+ void main()
6
+ {
7
+ gl_FragColor = texture2D(_MainTex, vUv);
8
+ gl_FragColor.a *= _Opacity;
9
+ //gl_FragColor.r = 1.0;
10
10
  }
@@ -1,17 +1,17 @@
1
- varying vec2 vUv;
2
- uniform float _ScreenAligned;
3
- uniform float _Scale;
4
- void main()
5
- {
6
- vec3 pos = position;
7
-
8
- mat4 local_to_camera = modelViewMatrix;
9
- // float scale = length(vec3(modelMatrix[0][0], modelMatrix[1][1], modelMatrix[2][2]))/2.0;
10
- float scale = _Scale;
11
- local_to_camera[0] = mix(modelViewMatrix[0], vec4(1.0 * scale, 0.0, 0.0, 0.0), _ScreenAligned);
12
- local_to_camera[1] = mix(modelViewMatrix[1], vec4(0.0, 1.0 * scale, 0.0, 0.0), _ScreenAligned);
13
- local_to_camera[2] = mix(modelViewMatrix[2], vec4(0.0, 0.0, 1.0 * scale, 0.0), _ScreenAligned);
14
-
15
- gl_Position = projectionMatrix * local_to_camera * vec4( pos, 1.0 );
16
- vUv = uv;
1
+ varying vec2 vUv;
2
+ uniform float _ScreenAligned;
3
+ uniform float _Scale;
4
+ void main()
5
+ {
6
+ vec3 pos = position;
7
+
8
+ mat4 local_to_camera = modelViewMatrix;
9
+ // float scale = length(vec3(modelMatrix[0][0], modelMatrix[1][1], modelMatrix[2][2]))/2.0;
10
+ float scale = _Scale;
11
+ local_to_camera[0] = mix(modelViewMatrix[0], vec4(1.0 * scale, 0.0, 0.0, 0.0), _ScreenAligned);
12
+ local_to_camera[1] = mix(modelViewMatrix[1], vec4(0.0, 1.0 * scale, 0.0, 0.0), _ScreenAligned);
13
+ local_to_camera[2] = mix(modelViewMatrix[2], vec4(0.0, 0.0, 1.0 * scale, 0.0), _ScreenAligned);
14
+
15
+ gl_Position = projectionMatrix * local_to_camera * vec4( pos, 1.0 );
16
+ vUv = uv;
17
17
  }
@@ -1,22 +1,22 @@
1
- uniform sampler2D _MainTex;
2
- uniform sampler2D _BlurredTex;
3
- uniform vec2 _Resolution;
4
- uniform float _BloomStrength;
5
- varying vec2 vUv;
6
-
7
- vec4 pow_v4(vec4 vec, float p)
8
- {
9
- vec4 v = vec;
10
- v.r = pow(abs(v.r), p);
11
- v.g = pow(abs(v.g), p);
12
- v.b = pow(abs(v.b), p);
13
- v.a = pow(abs(v.a), p);
14
- return v;
15
- }
16
-
17
- void main()
18
- {
19
- vec4 col = texture2D( _MainTex, vUv);
20
- vec4 blur = texture2D( _BlurredTex, vUv);
21
- gl_FragColor = col + blur * _BloomStrength;
22
- }
1
+ uniform sampler2D _MainTex;
2
+ uniform sampler2D _BlurredTex;
3
+ uniform vec2 _Resolution;
4
+ uniform float _BloomStrength;
5
+ varying vec2 vUv;
6
+
7
+ vec4 pow_v4(vec4 vec, float p)
8
+ {
9
+ vec4 v = vec;
10
+ v.r = pow(abs(v.r), p);
11
+ v.g = pow(abs(v.g), p);
12
+ v.b = pow(abs(v.b), p);
13
+ v.a = pow(abs(v.a), p);
14
+ return v;
15
+ }
16
+
17
+ void main()
18
+ {
19
+ vec4 col = texture2D( _MainTex, vUv);
20
+ vec4 blur = texture2D( _BlurredTex, vUv);
21
+ gl_FragColor = col + blur * _BloomStrength;
22
+ }
@@ -1,13 +1,13 @@
1
- uniform sampler2D _MainTex;
2
- uniform sampler2D _BlurredTex;
3
- uniform vec2 _Resolution;
4
- uniform float _BloomStrength;
5
- varying vec2 vUv;
6
-
7
- void main()
8
- {
9
- // vec4 col = texture2D( _MainTex, vUv);
10
- vec4 blur = texture2D( _BlurredTex, vUv);
11
- gl_FragColor = blur;
12
- // gl_FragColor = col + blur * _BloomStrength;
13
- }
1
+ uniform sampler2D _MainTex;
2
+ uniform sampler2D _BlurredTex;
3
+ uniform vec2 _Resolution;
4
+ uniform float _BloomStrength;
5
+ varying vec2 vUv;
6
+
7
+ void main()
8
+ {
9
+ // vec4 col = texture2D( _MainTex, vUv);
10
+ vec4 blur = texture2D( _BlurredTex, vUv);
11
+ gl_FragColor = blur;
12
+ // gl_FragColor = col + blur * _BloomStrength;
13
+ }
@@ -1,24 +1,24 @@
1
- uniform sampler2D _MainTex;
2
- uniform vec2 _Resolution;
3
- uniform vec2 _SampleDir;
4
- varying vec2 vUv;
5
-
6
- void main()
7
- {
8
-
9
- vec4 sum = vec4(0.,0.,0.,0.);
10
- vec2 dir = (0.5/_Resolution) * _SampleDir;
11
- float _Distance = 2.0;
12
- sum += texture2D( _MainTex, vUv + dir * -4. * _Distance ) * 0.0525;
13
- sum += texture2D( _MainTex, vUv + dir * -3. * _Distance ) * 0.075;
14
- sum += texture2D( _MainTex, vUv + dir * -2. * _Distance ) * 0.110;
15
- sum += texture2D( _MainTex, vUv + dir * -1. * _Distance ) * 0.150;
16
- sum += texture2D( _MainTex, vUv + dir * 0. * _Distance ) * 0.225;
17
- sum += texture2D( _MainTex, vUv + dir * 1. * _Distance ) * 0.150;
18
- sum += texture2D( _MainTex, vUv + dir * 2. * _Distance ) * 0.110;
19
- sum += texture2D( _MainTex, vUv + dir * 3. * _Distance ) * 0.075;
20
- sum += texture2D( _MainTex, vUv + dir * 4. * _Distance ) * 0.0525;
21
- gl_FragColor = vec4(sum);
22
-
23
-
24
- }
1
+ uniform sampler2D _MainTex;
2
+ uniform vec2 _Resolution;
3
+ uniform vec2 _SampleDir;
4
+ varying vec2 vUv;
5
+
6
+ void main()
7
+ {
8
+
9
+ vec4 sum = vec4(0.,0.,0.,0.);
10
+ vec2 dir = (0.5/_Resolution) * _SampleDir;
11
+ float _Distance = 2.0;
12
+ sum += texture2D( _MainTex, vUv + dir * -4. * _Distance ) * 0.0525;
13
+ sum += texture2D( _MainTex, vUv + dir * -3. * _Distance ) * 0.075;
14
+ sum += texture2D( _MainTex, vUv + dir * -2. * _Distance ) * 0.110;
15
+ sum += texture2D( _MainTex, vUv + dir * -1. * _Distance ) * 0.150;
16
+ sum += texture2D( _MainTex, vUv + dir * 0. * _Distance ) * 0.225;
17
+ sum += texture2D( _MainTex, vUv + dir * 1. * _Distance ) * 0.150;
18
+ sum += texture2D( _MainTex, vUv + dir * 2. * _Distance ) * 0.110;
19
+ sum += texture2D( _MainTex, vUv + dir * 3. * _Distance ) * 0.075;
20
+ sum += texture2D( _MainTex, vUv + dir * 4. * _Distance ) * 0.0525;
21
+ gl_FragColor = vec4(sum);
22
+
23
+
24
+ }
@@ -1,31 +1,31 @@
1
- uniform sampler2D _MainTex;
2
- uniform sampler2D _Blur;
3
- uniform vec2 _Screen;
4
- varying vec2 vUv;
5
-
6
-
7
- float aastep(float threshold, float value) {
8
- #ifdef GL_OES_standard_derivatives
9
- float afwidth = length(vec2(dFdx(value), dFdy(value))) * 0.70710678118654757;
10
- return smoothstep(threshold-afwidth, threshold+afwidth, value);
11
- #else
12
- return step(threshold, value);
13
- #endif
14
- }
15
-
16
-
17
- void main()
18
- {
19
- vec2 pixel_size = 1.0/_Screen;
20
-
21
- vec4 color = texture2D( _MainTex, vUv);
22
- float mask = 1.0 - color.a;
23
-
24
- float blur = texture2D( _Blur, vUv).a;
25
-
26
- // gl_FragColor = vec4(mask,mask,mask,0.0);
27
- // gl_FragColor = color;
28
-
29
- gl_FragColor = vec4(mix(color.rgb, mix(color.rgb, vec3(1.,0.,0.),aastep(0.076, blur)), mask), 1.0);
30
- }
31
-
1
+ uniform sampler2D _MainTex;
2
+ uniform sampler2D _Blur;
3
+ uniform vec2 _Screen;
4
+ varying vec2 vUv;
5
+
6
+
7
+ float aastep(float threshold, float value) {
8
+ #ifdef GL_OES_standard_derivatives
9
+ float afwidth = length(vec2(dFdx(value), dFdy(value))) * 0.70710678118654757;
10
+ return smoothstep(threshold-afwidth, threshold+afwidth, value);
11
+ #else
12
+ return step(threshold, value);
13
+ #endif
14
+ }
15
+
16
+
17
+ void main()
18
+ {
19
+ vec2 pixel_size = 1.0/_Screen;
20
+
21
+ vec4 color = texture2D( _MainTex, vUv);
22
+ float mask = 1.0 - color.a;
23
+
24
+ float blur = texture2D( _Blur, vUv).a;
25
+
26
+ // gl_FragColor = vec4(mask,mask,mask,0.0);
27
+ // gl_FragColor = color;
28
+
29
+ gl_FragColor = vec4(mix(color.rgb, mix(color.rgb, vec3(1.,0.,0.),aastep(0.076, blur)), mask), 1.0);
30
+ }
31
+
@@ -1,25 +1,25 @@
1
- uniform vec4 _DepthNormal;
2
- vec2 EncodeFloatRG( float v )
3
- {
4
- vec2 kEncodeMul = vec2(1.0, 255.0);
5
- float kEncodeBit = 1.0/255.0;
6
- vec2 enc = kEncodeMul * v;
7
- enc = fract (enc);
8
- enc.x -= enc.y * kEncodeBit;
9
- return enc;
10
- }
11
-
12
- vec2 EncodeNormal (vec3 n)
13
- {
14
- float scale = 1.7777;
15
- vec2 enc = n.xy / (n.z+1.0);
16
- enc /= scale;
17
- enc = enc*0.5+0.5;
18
- return enc;
19
- }
20
-
21
-
22
- void main()
23
- {
24
- gl_FragColor = vec4(EncodeFloatRG(_DepthNormal.x), EncodeNormal(normalize(_DepthNormal.yzw)));
1
+ uniform vec4 _DepthNormal;
2
+ vec2 EncodeFloatRG( float v )
3
+ {
4
+ vec2 kEncodeMul = vec2(1.0, 255.0);
5
+ float kEncodeBit = 1.0/255.0;
6
+ vec2 enc = kEncodeMul * v;
7
+ enc = fract (enc);
8
+ enc.x -= enc.y * kEncodeBit;
9
+ return enc;
10
+ }
11
+
12
+ vec2 EncodeNormal (vec3 n)
13
+ {
14
+ float scale = 1.7777;
15
+ vec2 enc = n.xy / (n.z+1.0);
16
+ enc /= scale;
17
+ enc = enc*0.5+0.5;
18
+ return enc;
19
+ }
20
+
21
+
22
+ void main()
23
+ {
24
+ gl_FragColor = vec4(EncodeFloatRG(_DepthNormal.x), EncodeNormal(normalize(_DepthNormal.yzw)));
25
25
  }
@@ -1,7 +1,7 @@
1
- uniform sampler2D _MainTex;
2
-
3
- varying vec2 vUv;
4
- void main()
5
- {
6
- gl_FragColor = texture2D(_MainTex, vUv);
1
+ uniform sampler2D _MainTex;
2
+
3
+ varying vec2 vUv;
4
+ void main()
5
+ {
6
+ gl_FragColor = texture2D(_MainTex, vUv);
7
7
  }
@@ -1,6 +1,6 @@
1
- varying vec2 vUv;
2
- void main()
3
- {
4
- gl_Position = vec4(uv * 2.0 - 1.0, 1.0, 1.0);
5
- vUv = uv;
1
+ varying vec2 vUv;
2
+ void main()
3
+ {
4
+ gl_Position = vec4(uv * 2.0 - 1.0, 1.0, 1.0);
5
+ vUv = uv;
6
6
  }
@@ -1,11 +1,11 @@
1
- varying vec2 vUv;
2
- varying vec4 vRay;
3
-
4
- uniform mat4 _InverseProjMatrix;
5
-
6
- void main()
7
- {
8
- gl_Position = vec4(uv * 2.0 - 1.0, 1.0, 1.0);
9
- vRay = _InverseProjMatrix * vec4(uv * 2.0 - 1.0, 1.0, 1.0);
10
- vUv = uv;
11
- }
1
+ varying vec2 vUv;
2
+ varying vec4 vRay;
3
+
4
+ uniform mat4 _InverseProjMatrix;
5
+
6
+ void main()
7
+ {
8
+ gl_Position = vec4(uv * 2.0 - 1.0, 1.0, 1.0);
9
+ vRay = _InverseProjMatrix * vec4(uv * 2.0 - 1.0, 1.0, 1.0);
10
+ vUv = uv;
11
+ }
@@ -1,59 +1,59 @@
1
- uniform sampler2D _MainTex; //albedo
2
- uniform sampler2D _NormalDepthRT;
3
- uniform mat4 _InverseProjMatrix;
4
- uniform vec2 _Resolution;
5
- varying vec2 vUv;
6
- varying vec4 vRay;
7
-
8
-
9
- vec3 decode_normal (vec4 enc)
10
- {
11
- float scale = 1.7777;
12
- vec3 nn =
13
- enc.xyz*vec3(2.0*scale,2.0*scale,0.0) +
14
- vec3(-scale,-scale,1.0);
15
- float g = 2.0 / dot(nn.xyz,nn.xyz);
16
- vec3 n;
17
- n.xy = g*nn.xy;
18
- n.z = g-1.0;
19
- return n;
20
- }
21
-
22
- float DecodeFloatRG( vec2 enc )
23
- {
24
- vec2 kDecodeDot = vec2(1.0, 1.0/255.0);
25
- return dot( enc, kDecodeDot );
26
- }
27
-
28
- vec3 DecodeNormal(vec2 uv)
29
- {
30
- vec2 encoded_normal = texture2D(_NormalDepthRT, uv).zw;
31
- vec3 normalValue = normalize(decode_normal(vec4(encoded_normal, 0., 0.)));
32
- return normalize(normalValue);
33
- }
34
- vec3 DecodeViewPos(vec2 uv)
35
- {
36
- vec2 depth = texture2D(_NormalDepthRT, uv).xy;
37
- vec4 inv_proj = _InverseProjMatrix * vec4(vUv * 2.0 - 1.0, 1.0, 1.0);
38
- return DecodeFloatRG(depth) * (vRay.xyz/vRay.w);
39
- }
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
- void main()
48
- {
49
-
50
- vec3 fragPos = DecodeViewPos(vUv);
51
- vec3 normal = DecodeNormal(vUv);
52
-
53
- vec3 dir_to_light = normalize(fragPos) * -1.0;
54
-
55
- float diffuse = dot(normal, dir_to_light);
56
-
57
-
58
- gl_FragColor = vec4(diffuse, diffuse, diffuse, 1.0);
59
- }
1
+ uniform sampler2D _MainTex; //albedo
2
+ uniform sampler2D _NormalDepthRT;
3
+ uniform mat4 _InverseProjMatrix;
4
+ uniform vec2 _Resolution;
5
+ varying vec2 vUv;
6
+ varying vec4 vRay;
7
+
8
+
9
+ vec3 decode_normal (vec4 enc)
10
+ {
11
+ float scale = 1.7777;
12
+ vec3 nn =
13
+ enc.xyz*vec3(2.0*scale,2.0*scale,0.0) +
14
+ vec3(-scale,-scale,1.0);
15
+ float g = 2.0 / dot(nn.xyz,nn.xyz);
16
+ vec3 n;
17
+ n.xy = g*nn.xy;
18
+ n.z = g-1.0;
19
+ return n;
20
+ }
21
+
22
+ float DecodeFloatRG( vec2 enc )
23
+ {
24
+ vec2 kDecodeDot = vec2(1.0, 1.0/255.0);
25
+ return dot( enc, kDecodeDot );
26
+ }
27
+
28
+ vec3 DecodeNormal(vec2 uv)
29
+ {
30
+ vec2 encoded_normal = texture2D(_NormalDepthRT, uv).zw;
31
+ vec3 normalValue = normalize(decode_normal(vec4(encoded_normal, 0., 0.)));
32
+ return normalize(normalValue);
33
+ }
34
+ vec3 DecodeViewPos(vec2 uv)
35
+ {
36
+ vec2 depth = texture2D(_NormalDepthRT, uv).xy;
37
+ vec4 inv_proj = _InverseProjMatrix * vec4(vUv * 2.0 - 1.0, 1.0, 1.0);
38
+ return DecodeFloatRG(depth) * (vRay.xyz/vRay.w);
39
+ }
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+ void main()
48
+ {
49
+
50
+ vec3 fragPos = DecodeViewPos(vUv);
51
+ vec3 normal = DecodeNormal(vUv);
52
+
53
+ vec3 dir_to_light = normalize(fragPos) * -1.0;
54
+
55
+ float diffuse = dot(normal, dir_to_light);
56
+
57
+
58
+ gl_FragColor = vec4(diffuse, diffuse, diffuse, 1.0);
59
+ }
@@ -1,66 +1,66 @@
1
- uniform sampler2D _AlbedoTex; //albedo
2
- uniform sampler2D _NormalDepthTex;
3
- uniform mat4 _InverseProjMatrix;
4
- varying vec2 vUv;
5
- varying vec4 vProjPos;
6
- varying vec3 vCenter;
7
-
8
- uniform float _Intensity;
9
-
10
-
11
- vec3 decode_normal (vec4 enc)
12
- {
13
- float scale = 1.7777;
14
- vec3 nn =
15
- enc.xyz*vec3(2.0*scale,2.0*scale,0.0) +
16
- vec3(-scale,-scale,1.0);
17
- float g = 2.0 / dot(nn.xyz,nn.xyz);
18
- vec3 n;
19
- n.xy = g*nn.xy;
20
- n.z = g-1.0;
21
- return n;
22
- }
23
-
24
- float DecodeFloatRG( vec2 enc )
25
- {
26
- vec2 kDecodeDot = vec2(1.0, 1.0/255.0);
27
- return dot( enc, kDecodeDot );
28
- }
29
-
30
- vec3 DecodeNormal(vec2 uv)
31
- {
32
- vec2 encoded_normal = texture2D(_NormalDepthTex, uv).zw;
33
- vec3 normalValue = normalize(decode_normal(vec4(encoded_normal, 0., 0.)));
34
- return normalize(normalValue);
35
- }
36
- vec3 DecodeViewPos(vec2 uv, vec4 ray)
37
- {
38
- vec2 depth = texture2D(_NormalDepthTex, uv).xy;
39
- vec4 inv_proj = _InverseProjMatrix * vec4(uv * 2.0 - 1.0, 1.0, 1.0);
40
- return DecodeFloatRG(depth) * (ray.xyz/ray.w);
41
- }
42
-
43
-
44
-
45
-
46
- float saturate(float x)
47
- {
48
- return clamp(x, 0.0, 1.0);
49
- }
50
-
51
-
52
- void main()
53
- {
54
- vec2 uv = (vProjPos.xy/vProjPos.w)*0.5+vec2(0.5);
55
- vec4 ray = _InverseProjMatrix * vec4(uv * 2.0 - 1.0, 1.0, 1.0);
56
-
57
- vec3 fragPos = DecodeViewPos(uv, ray);
58
- vec3 normal = DecodeNormal(uv);
59
- vec3 albedo = texture2D(_AlbedoTex, uv).rgb;
60
-
61
-
62
- vec3 dir_to_light = normalize(vCenter - fragPos);
63
- float diffuse = saturate(dot(normal, dir_to_light));
64
- float attenuation = _Intensity/pow(length(vCenter - fragPos), 2.0);
65
- gl_FragColor = vec4(albedo * diffuse * attenuation, 1.0);
66
- }
1
+ uniform sampler2D _AlbedoTex; //albedo
2
+ uniform sampler2D _NormalDepthTex;
3
+ uniform mat4 _InverseProjMatrix;
4
+ varying vec2 vUv;
5
+ varying vec4 vProjPos;
6
+ varying vec3 vCenter;
7
+
8
+ uniform float _Intensity;
9
+
10
+
11
+ vec3 decode_normal (vec4 enc)
12
+ {
13
+ float scale = 1.7777;
14
+ vec3 nn =
15
+ enc.xyz*vec3(2.0*scale,2.0*scale,0.0) +
16
+ vec3(-scale,-scale,1.0);
17
+ float g = 2.0 / dot(nn.xyz,nn.xyz);
18
+ vec3 n;
19
+ n.xy = g*nn.xy;
20
+ n.z = g-1.0;
21
+ return n;
22
+ }
23
+
24
+ float DecodeFloatRG( vec2 enc )
25
+ {
26
+ vec2 kDecodeDot = vec2(1.0, 1.0/255.0);
27
+ return dot( enc, kDecodeDot );
28
+ }
29
+
30
+ vec3 DecodeNormal(vec2 uv)
31
+ {
32
+ vec2 encoded_normal = texture2D(_NormalDepthTex, uv).zw;
33
+ vec3 normalValue = normalize(decode_normal(vec4(encoded_normal, 0., 0.)));
34
+ return normalize(normalValue);
35
+ }
36
+ vec3 DecodeViewPos(vec2 uv, vec4 ray)
37
+ {
38
+ vec2 depth = texture2D(_NormalDepthTex, uv).xy;
39
+ vec4 inv_proj = _InverseProjMatrix * vec4(uv * 2.0 - 1.0, 1.0, 1.0);
40
+ return DecodeFloatRG(depth) * (ray.xyz/ray.w);
41
+ }
42
+
43
+
44
+
45
+
46
+ float saturate(float x)
47
+ {
48
+ return clamp(x, 0.0, 1.0);
49
+ }
50
+
51
+
52
+ void main()
53
+ {
54
+ vec2 uv = (vProjPos.xy/vProjPos.w)*0.5+vec2(0.5);
55
+ vec4 ray = _InverseProjMatrix * vec4(uv * 2.0 - 1.0, 1.0, 1.0);
56
+
57
+ vec3 fragPos = DecodeViewPos(uv, ray);
58
+ vec3 normal = DecodeNormal(uv);
59
+ vec3 albedo = texture2D(_AlbedoTex, uv).rgb;
60
+
61
+
62
+ vec3 dir_to_light = normalize(vCenter - fragPos);
63
+ float diffuse = saturate(dot(normal, dir_to_light));
64
+ float attenuation = _Intensity/pow(length(vCenter - fragPos), 2.0);
65
+ gl_FragColor = vec4(albedo * diffuse * attenuation, 1.0);
66
+ }