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,13 +1,13 @@
1
- varying vec2 vUv;
2
- varying vec4 vProjPos;
3
- varying vec3 vCenter;
4
-
5
- void main()
6
- {
7
- gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
8
-
9
- vProjPos = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
10
- vUv = uv;
11
- vCenter = vec3(modelMatrix[3][0],modelMatrix[3][1],modelMatrix[3][2]);
12
- vCenter = (viewMatrix * vec4(vCenter, 1.0)).xyz;
13
- }
1
+ varying vec2 vUv;
2
+ varying vec4 vProjPos;
3
+ varying vec3 vCenter;
4
+
5
+ void main()
6
+ {
7
+ gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
8
+
9
+ vProjPos = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
10
+ vUv = uv;
11
+ vCenter = vec3(modelMatrix[3][0],modelMatrix[3][1],modelMatrix[3][2]);
12
+ vCenter = (viewMatrix * vec4(vCenter, 1.0)).xyz;
13
+ }
@@ -1,48 +1,48 @@
1
- uniform sampler2D _MainTex;
2
- uniform vec2 _Resolution;
3
- uniform float _FarPlane;
4
-
5
- varying vec2 vUv;
6
- varying vec4 vRay;
7
-
8
- vec3 decode_normal (vec4 enc)
9
- {
10
- float scale = 1.7777;
11
- vec3 nn =
12
- enc.xyz*vec3(2.0*scale,2.0*scale,0.0) +
13
- vec3(-scale,-scale,1.0);
14
- float g = 2.0 / dot(nn.xyz,nn.xyz);
15
- vec3 n;
16
- n.xy = g*nn.xy;
17
- n.z = g-1.0;
18
- return n;
19
- }
20
-
21
- float DecodeFloatRG( vec2 enc )
22
- {
23
- vec2 kDecodeDot = vec2(1.0, 1.0/255.0);
24
- return dot( enc, kDecodeDot );
25
- }
26
-
27
- vec3 DecodeNormal(vec2 uv)
28
- {
29
- vec4 depthNormal = texture2D(_MainTex, uv);
30
- vec3 normalValue = normalize(decode_normal(vec4(depthNormal.zw, 0., 0.)));
31
- return normalize(normalValue);
32
- }
33
- vec3 DecodeViewPos(vec2 uv)
34
- {
35
- vec2 depth = texture2D(_MainTex, uv).xy;
36
- return DecodeFloatRG(depth) * (vRay.xyz/vRay.w);
37
- }
38
-
39
- void main()
40
- {
41
- vec3 viewPos = DecodeViewPos(vUv);
42
- vec3 normalValue = DecodeNormal(vUv);
43
-
44
- float vDepth = clamp(0.0, 1.0, length(viewPos)/_FarPlane);
45
- vDepth = length(viewPos)/_FarPlane;
46
- // gl_FragColor = vec4(normalValue*0.5+0.5, 1.0);
47
- gl_FragColor = vec4(vDepth,vDepth,vDepth, 1.0);
1
+ uniform sampler2D _MainTex;
2
+ uniform vec2 _Resolution;
3
+ uniform float _FarPlane;
4
+
5
+ varying vec2 vUv;
6
+ varying vec4 vRay;
7
+
8
+ vec3 decode_normal (vec4 enc)
9
+ {
10
+ float scale = 1.7777;
11
+ vec3 nn =
12
+ enc.xyz*vec3(2.0*scale,2.0*scale,0.0) +
13
+ vec3(-scale,-scale,1.0);
14
+ float g = 2.0 / dot(nn.xyz,nn.xyz);
15
+ vec3 n;
16
+ n.xy = g*nn.xy;
17
+ n.z = g-1.0;
18
+ return n;
19
+ }
20
+
21
+ float DecodeFloatRG( vec2 enc )
22
+ {
23
+ vec2 kDecodeDot = vec2(1.0, 1.0/255.0);
24
+ return dot( enc, kDecodeDot );
25
+ }
26
+
27
+ vec3 DecodeNormal(vec2 uv)
28
+ {
29
+ vec4 depthNormal = texture2D(_MainTex, uv);
30
+ vec3 normalValue = normalize(decode_normal(vec4(depthNormal.zw, 0., 0.)));
31
+ return normalize(normalValue);
32
+ }
33
+ vec3 DecodeViewPos(vec2 uv)
34
+ {
35
+ vec2 depth = texture2D(_MainTex, uv).xy;
36
+ return DecodeFloatRG(depth) * (vRay.xyz/vRay.w);
37
+ }
38
+
39
+ void main()
40
+ {
41
+ vec3 viewPos = DecodeViewPos(vUv);
42
+ vec3 normalValue = DecodeNormal(vUv);
43
+
44
+ float vDepth = clamp(0.0, 1.0, length(viewPos)/_FarPlane);
45
+ vDepth = length(viewPos)/_FarPlane;
46
+ // gl_FragColor = vec4(normalValue*0.5+0.5, 1.0);
47
+ gl_FragColor = vec4(vDepth,vDepth,vDepth, 1.0);
48
48
  }
@@ -1,30 +1,30 @@
1
- varying vec3 v_normal;
2
- varying vec3 v_pos;
3
-
4
- uniform float _FarPlane;
5
-
6
- vec2 EncodeFloatRG( float v )
7
- {
8
- vec2 kEncodeMul = vec2(1.0, 255.0);
9
- float kEncodeBit = 1.0/255.0;
10
- vec2 enc = kEncodeMul * v;
11
- enc = fract (enc);
12
- enc.x -= enc.y * kEncodeBit;
13
- return enc;
14
- }
15
-
16
- vec2 EncodeNormal (vec3 n)
17
- {
18
- float scale = 1.7777;
19
- vec2 enc = n.xy / (n.z+1.0);
20
- enc /= scale;
21
- enc = enc*0.5+0.5;
22
- return enc;
23
- }
24
-
25
-
26
- void main()
27
- {
28
- gl_FragColor = vec4(EncodeFloatRG(length(v_pos.z)/_FarPlane), EncodeNormal(normalize(v_normal)));
29
- }
30
-
1
+ varying vec3 v_normal;
2
+ varying vec3 v_pos;
3
+
4
+ uniform float _FarPlane;
5
+
6
+ vec2 EncodeFloatRG( float v )
7
+ {
8
+ vec2 kEncodeMul = vec2(1.0, 255.0);
9
+ float kEncodeBit = 1.0/255.0;
10
+ vec2 enc = kEncodeMul * v;
11
+ enc = fract (enc);
12
+ enc.x -= enc.y * kEncodeBit;
13
+ return enc;
14
+ }
15
+
16
+ vec2 EncodeNormal (vec3 n)
17
+ {
18
+ float scale = 1.7777;
19
+ vec2 enc = n.xy / (n.z+1.0);
20
+ enc /= scale;
21
+ enc = enc*0.5+0.5;
22
+ return enc;
23
+ }
24
+
25
+
26
+ void main()
27
+ {
28
+ gl_FragColor = vec4(EncodeFloatRG(length(v_pos.z)/_FarPlane), EncodeNormal(normalize(v_normal)));
29
+ }
30
+
@@ -1,13 +1,13 @@
1
- varying vec3 v_normal;
2
- varying vec3 v_pos;
3
-
4
- void main()
5
- {
6
- vec3 pos = position;
7
- mat4 MVP = projectionMatrix * modelViewMatrix;
8
-
9
- v_normal = (modelViewMatrix * vec4(normal, 0.0)).xyz;
10
- v_pos = (modelViewMatrix * vec4( pos, 1.0 )).xyz;
11
-
12
- gl_Position = MVP * vec4( pos, 1.0 );
1
+ varying vec3 v_normal;
2
+ varying vec3 v_pos;
3
+
4
+ void main()
5
+ {
6
+ vec3 pos = position;
7
+ mat4 MVP = projectionMatrix * modelViewMatrix;
8
+
9
+ v_normal = (modelViewMatrix * vec4(normal, 0.0)).xyz;
10
+ v_pos = (modelViewMatrix * vec4( pos, 1.0 )).xyz;
11
+
12
+ gl_Position = MVP * vec4( pos, 1.0 );
13
13
  }
@@ -1,14 +1,14 @@
1
- uniform sampler2D _MainTex;
2
- uniform vec2 _Resolution;
3
- varying vec2 vUv;
4
-
5
-
6
-
7
- void main()
8
- {
9
-
10
- vec4 col = texture2D( _MainTex, vUv );
11
- gl_FragColor = col;
12
- gl_FragColor.a = col.a;
13
-
14
- }
1
+ uniform sampler2D _MainTex;
2
+ uniform vec2 _Resolution;
3
+ varying vec2 vUv;
4
+
5
+
6
+
7
+ void main()
8
+ {
9
+
10
+ vec4 col = texture2D( _MainTex, vUv );
11
+ gl_FragColor = col;
12
+ gl_FragColor.a = col.a;
13
+
14
+ }
@@ -1,21 +1,21 @@
1
- uniform sampler2D _MainTex;
2
- uniform vec2 _Resolution;
3
- varying vec2 vUv;
4
-
5
-
6
- vec4 downsample(vec2 uv, vec2 halfpixel)
7
- {
8
- vec4 sum = texture2D( _MainTex,uv) * 4.0;
9
- sum += texture2D( _MainTex,uv - halfpixel);
10
- sum += texture2D( _MainTex,uv + halfpixel);
11
- sum += texture2D( _MainTex,uv + vec2(halfpixel.x, -halfpixel.y));
12
- sum += texture2D( _MainTex,uv - vec2(halfpixel.x, -halfpixel.y));
13
- return sum/8.0;
14
- }
15
-
16
- void main()
17
- {
18
- vec2 half_pixel = vec2(0.5/_Resolution.x, 0.5/_Resolution.y);
19
- gl_FragColor = downsample(vUv, half_pixel);
20
-
21
- }
1
+ uniform sampler2D _MainTex;
2
+ uniform vec2 _Resolution;
3
+ varying vec2 vUv;
4
+
5
+
6
+ vec4 downsample(vec2 uv, vec2 halfpixel)
7
+ {
8
+ vec4 sum = texture2D( _MainTex,uv) * 4.0;
9
+ sum += texture2D( _MainTex,uv - halfpixel);
10
+ sum += texture2D( _MainTex,uv + halfpixel);
11
+ sum += texture2D( _MainTex,uv + vec2(halfpixel.x, -halfpixel.y));
12
+ sum += texture2D( _MainTex,uv - vec2(halfpixel.x, -halfpixel.y));
13
+ return sum/8.0;
14
+ }
15
+
16
+ void main()
17
+ {
18
+ vec2 half_pixel = vec2(0.5/_Resolution.x, 0.5/_Resolution.y);
19
+ gl_FragColor = downsample(vUv, half_pixel);
20
+
21
+ }
@@ -1,24 +1,24 @@
1
- uniform sampler2D _MainTex;
2
- uniform vec2 _Resolution;
3
- varying vec2 vUv;
4
-
5
- vec4 upsample(vec2 uv, vec2 halfpixel)
6
- {
7
- vec4 sum = texture2D( _MainTex,uv + vec2(-halfpixel.x * 2.0, 0.0));
8
- sum += texture2D( _MainTex,uv + vec2(-halfpixel.x, halfpixel.y)) * 2.0;
9
- sum += texture2D( _MainTex,uv + vec2(0.0, halfpixel.y * 2.0));
10
- sum += texture2D( _MainTex,uv + vec2(halfpixel.x, halfpixel.y)) * 2.0;
11
- sum += texture2D( _MainTex,uv + vec2(halfpixel.x * 2.0, 0.0));
12
- sum += texture2D( _MainTex,uv + vec2(halfpixel.x, -halfpixel.y)) * 2.0;
13
- sum += texture2D( _MainTex,uv + vec2(0.0, -halfpixel.y * 2.0));
14
- sum += texture2D( _MainTex,uv + vec2(-halfpixel.x, -halfpixel.y)) * 2.0;
15
- return sum / 12.0;
16
- }
17
-
18
- void main()
19
- {
20
- vec2 half_pixel;
21
- half_pixel.x = 0.5/_Resolution.x;
22
- half_pixel.y = 0.5/_Resolution.y;
23
- gl_FragColor = upsample(vUv, half_pixel);
24
- }
1
+ uniform sampler2D _MainTex;
2
+ uniform vec2 _Resolution;
3
+ varying vec2 vUv;
4
+
5
+ vec4 upsample(vec2 uv, vec2 halfpixel)
6
+ {
7
+ vec4 sum = texture2D( _MainTex,uv + vec2(-halfpixel.x * 2.0, 0.0));
8
+ sum += texture2D( _MainTex,uv + vec2(-halfpixel.x, halfpixel.y)) * 2.0;
9
+ sum += texture2D( _MainTex,uv + vec2(0.0, halfpixel.y * 2.0));
10
+ sum += texture2D( _MainTex,uv + vec2(halfpixel.x, halfpixel.y)) * 2.0;
11
+ sum += texture2D( _MainTex,uv + vec2(halfpixel.x * 2.0, 0.0));
12
+ sum += texture2D( _MainTex,uv + vec2(halfpixel.x, -halfpixel.y)) * 2.0;
13
+ sum += texture2D( _MainTex,uv + vec2(0.0, -halfpixel.y * 2.0));
14
+ sum += texture2D( _MainTex,uv + vec2(-halfpixel.x, -halfpixel.y)) * 2.0;
15
+ return sum / 12.0;
16
+ }
17
+
18
+ void main()
19
+ {
20
+ vec2 half_pixel;
21
+ half_pixel.x = 0.5/_Resolution.x;
22
+ half_pixel.y = 0.5/_Resolution.y;
23
+ gl_FragColor = upsample(vUv, half_pixel);
24
+ }
@@ -1,18 +1,18 @@
1
- uniform vec3 _Color;
2
- uniform vec3 _LineColor;
3
- uniform float _Alpha;
4
- uniform float _Thickness;
5
- varying vec3 vBarycentric;
6
-
7
- float edgeFactor(vec3 baryc ){
8
- vec3 d = fwidth(baryc);
9
- vec3 a3 = smoothstep(vec3(0.0), d*_Thickness, baryc);
10
- return min(min(a3.x, a3.y), a3.z);
11
- }
12
-
13
- void main()
14
- {
15
- float alpha = edgeFactor(vBarycentric + vec3(1. , 1., 0.));
16
- gl_FragColor.rgb = mix(_LineColor, _Color, alpha);
17
- gl_FragColor.a = mix(1.0 - alpha, 1.0, _Alpha);
1
+ uniform vec3 _Color;
2
+ uniform vec3 _LineColor;
3
+ uniform float _Alpha;
4
+ uniform float _Thickness;
5
+ varying vec3 vBarycentric;
6
+
7
+ float edgeFactor(vec3 baryc ){
8
+ vec3 d = fwidth(baryc);
9
+ vec3 a3 = smoothstep(vec3(0.0), d*_Thickness, baryc);
10
+ return min(min(a3.x, a3.y), a3.z);
11
+ }
12
+
13
+ void main()
14
+ {
15
+ float alpha = edgeFactor(vBarycentric + vec3(1. , 1., 0.));
16
+ gl_FragColor.rgb = mix(_LineColor, _Color, alpha);
17
+ gl_FragColor.a = mix(1.0 - alpha, 1.0, _Alpha);
18
18
  }
@@ -1,16 +1,16 @@
1
- uniform float _DepthOffset;
2
-
3
- attribute vec3 barycentric;
4
- varying vec3 vBarycentric;
5
- void main()
6
- {
7
-
8
- mat4 VP = projectionMatrix * viewMatrix;
9
- vec3 pos = (modelMatrix * vec4(position, 1.0)).xyz;
10
- gl_Position = VP * vec4(pos, 1.0);
11
-
12
- gl_Position.xy = gl_Position.xy/gl_Position.w;
13
- gl_Position.z = (gl_Position.z-_DepthOffset)/gl_Position.w;
14
- gl_Position.w = 1.0;
15
- vBarycentric = barycentric;
1
+ uniform float _DepthOffset;
2
+
3
+ attribute vec3 barycentric;
4
+ varying vec3 vBarycentric;
5
+ void main()
6
+ {
7
+
8
+ mat4 VP = projectionMatrix * viewMatrix;
9
+ vec3 pos = (modelMatrix * vec4(position, 1.0)).xyz;
10
+ gl_Position = VP * vec4(pos, 1.0);
11
+
12
+ gl_Position.xy = gl_Position.xy/gl_Position.w;
13
+ gl_Position.z = (gl_Position.z-_DepthOffset)/gl_Position.w;
14
+ gl_Position.w = 1.0;
15
+ vBarycentric = barycentric;
16
16
  }
@@ -1,11 +1,11 @@
1
- uniform float _Thickness;
2
- uniform vec3 _Color;
3
- varying vec2 vUv;
4
- void main()
5
- {
6
- vec2 circle_uv = vUv*2.0-1.0;
7
- if(length(circle_uv) > 1.0)
8
- discard;
9
-
10
- gl_FragColor = vec4(_Color, 1.);
1
+ uniform float _Thickness;
2
+ uniform vec3 _Color;
3
+ varying vec2 vUv;
4
+ void main()
5
+ {
6
+ vec2 circle_uv = vUv*2.0-1.0;
7
+ if(length(circle_uv) > 1.0)
8
+ discard;
9
+
10
+ gl_FragColor = vec4(_Color, 1.);
11
11
  }
@@ -1,31 +1,31 @@
1
- attribute vec3 w_pos;
2
- uniform float _Thickness;
3
- varying vec2 vUv;
4
-
5
- vec3 calculate_up(vec3 w_pos)
6
- {
7
- vec3 v_dir = normalize((viewMatrix * vec4(w_pos, 1.0)).xyz);
8
- vec3 right = normalize(cross(v_dir, vec3(0. ,1., 0.)));
9
- return cross(right, v_dir);
10
- }
11
- vec3 calculate_right(vec3 w_pos)
12
- {
13
- vec3 v_dir = normalize((viewMatrix * vec4(w_pos, 1.0)).xyz);
14
- return normalize(cross(v_dir, vec3(0. ,1., 0.)));
15
- }
16
-
17
- void main()
18
- {
19
-
20
-
21
- vec3 up = calculate_up(w_pos) * (uv.y*2.0-1.0);
22
- vec3 right = calculate_right(w_pos) * (uv.x*2.0-1.0);
23
-
24
- vec3 normal = up+right;
25
- vec3 pos = (viewMatrix*(modelMatrix*vec4(w_pos,1.0))).xyz + normal * (_Thickness * 0.5);
26
-
27
- gl_Position = projectionMatrix * vec4(pos, 1.0);
28
- gl_Position.zw -= _Thickness * 0.5;
29
- vUv = uv;
30
-
1
+ attribute vec3 w_pos;
2
+ uniform float _Thickness;
3
+ varying vec2 vUv;
4
+
5
+ vec3 calculate_up(vec3 w_pos)
6
+ {
7
+ vec3 v_dir = normalize((viewMatrix * vec4(w_pos, 1.0)).xyz);
8
+ vec3 right = normalize(cross(v_dir, vec3(0. ,1., 0.)));
9
+ return cross(right, v_dir);
10
+ }
11
+ vec3 calculate_right(vec3 w_pos)
12
+ {
13
+ vec3 v_dir = normalize((viewMatrix * vec4(w_pos, 1.0)).xyz);
14
+ return normalize(cross(v_dir, vec3(0. ,1., 0.)));
15
+ }
16
+
17
+ void main()
18
+ {
19
+
20
+
21
+ vec3 up = calculate_up(w_pos) * (uv.y*2.0-1.0);
22
+ vec3 right = calculate_right(w_pos) * (uv.x*2.0-1.0);
23
+
24
+ vec3 normal = up+right;
25
+ vec3 pos = (viewMatrix*(modelMatrix*vec4(w_pos,1.0))).xyz + normal * (_Thickness * 0.5);
26
+
27
+ gl_Position = projectionMatrix * vec4(pos, 1.0);
28
+ gl_Position.zw -= _Thickness * 0.5;
29
+ vUv = uv;
30
+
31
31
  }
@@ -1,7 +1,7 @@
1
- uniform vec3 _Color;
2
-
3
- void main()
4
- {
5
- // float diffuse = dot(vec3(1., 0., 0.), w_normal)* 0.5+0.5;
6
- gl_FragColor = vec4(_Color, 1.);
1
+ uniform vec3 _Color;
2
+
3
+ void main()
4
+ {
5
+ // float diffuse = dot(vec3(1., 0., 0.), w_normal)* 0.5+0.5;
6
+ gl_FragColor = vec4(_Color, 1.);
7
7
  }
@@ -1,27 +1,27 @@
1
- attribute vec3 tangent;
2
- uniform float _Thickness;
3
-
4
- vec3 calculate_normal(vec3 w_pos, vec3 tangent)
5
- {
6
-
7
- vec3 up = normalize(cross(normalize(cameraPosition - w_pos), tangent));
8
- return up;
9
- // return cross(tangent, up);
10
- }
11
-
12
- void main()
13
- {
14
-
15
- mat4 VP = projectionMatrix * viewMatrix;
16
-
17
- vec3 pos = position;
18
- vec3 w_pos = (modelMatrix * vec4(position, 1.0)).xyz;
19
-
20
- vec3 normal = calculate_normal(w_pos, tangent);
21
- pos = (modelMatrix * vec4(pos, 1.0)).xyz;
22
- pos += normal * (_Thickness * 0.5) * (uv.x*2.0-1.0);
23
-
24
- gl_Position = VP * vec4(pos, 1.0);
25
- gl_Position.zw -= _Thickness * 0.5;
26
-
27
- }
1
+ attribute vec3 tangent;
2
+ uniform float _Thickness;
3
+
4
+ vec3 calculate_normal(vec3 w_pos, vec3 tangent)
5
+ {
6
+
7
+ vec3 up = normalize(cross(normalize(cameraPosition - w_pos), tangent));
8
+ return up;
9
+ // return cross(tangent, up);
10
+ }
11
+
12
+ void main()
13
+ {
14
+
15
+ mat4 VP = projectionMatrix * viewMatrix;
16
+
17
+ vec3 pos = position;
18
+ vec3 w_pos = (modelMatrix * vec4(position, 1.0)).xyz;
19
+
20
+ vec3 normal = calculate_normal(w_pos, tangent);
21
+ pos = (modelMatrix * vec4(pos, 1.0)).xyz;
22
+ pos += normal * (_Thickness * 0.5) * (uv.x*2.0-1.0);
23
+
24
+ gl_Position = VP * vec4(pos, 1.0);
25
+ gl_Position.zw -= _Thickness * 0.5;
26
+
27
+ }
@@ -1,44 +1,44 @@
1
- #include <common>
2
- varying vec2 vUv;
3
- uniform sampler2D _MainTex;
4
- uniform vec2 texSize;
5
- uniform vec2 direction;
6
- uniform float radius;
7
-
8
- float gaussianPdf(in float x, in float sigma) {
9
- return 0.39894 * exp( -0.5 * x * x/( sigma * sigma))/sigma;
10
- }
11
-
12
- vec4 sampleTex(sampler2D tex, vec2 uv)
13
- {
14
- vec4 col = texture2D( tex, uv);
15
-
16
- #ifndef USE_LINEAR_COLOR_SPACE
17
- col.rgb = pow(col.rgb, vec3(2.2));
18
- #endif
19
-
20
- return col;
21
- }
22
-
23
- void main() {
24
- vec2 invSize = 1.0 / texSize;
25
- float fSigma = float(SIGMA);
26
- float weightSum = gaussianPdf(0.0, fSigma);
27
- vec4 diffuseSum = sampleTex( _MainTex, vUv) * weightSum;
28
- for( int i = 1; i < KERNEL_RADIUS; i ++ ) {
29
- float x = float(i);
30
- float w = gaussianPdf(x, fSigma);
31
- vec2 uvOffset = direction * invSize * x * radius;
32
- vec4 sample1 = sampleTex( _MainTex, vUv + uvOffset);
33
- vec4 sample2 = sampleTex( _MainTex, vUv - uvOffset);
34
- diffuseSum += (sample1 + sample2) * w;
35
- weightSum += 2.0 * w;
36
- }
37
- gl_FragColor = vec4(diffuseSum/weightSum);
38
-
39
- #ifndef USE_LINEAR_COLOR_SPACE
40
- gl_FragColor.rgb = pow(gl_FragColor.rgb, vec3(0.4545));
41
- #endif
42
- // #include <colorspace_fragment>
43
-
1
+ #include <common>
2
+ varying vec2 vUv;
3
+ uniform sampler2D _MainTex;
4
+ uniform vec2 texSize;
5
+ uniform vec2 direction;
6
+ uniform float radius;
7
+
8
+ float gaussianPdf(in float x, in float sigma) {
9
+ return 0.39894 * exp( -0.5 * x * x/( sigma * sigma))/sigma;
10
+ }
11
+
12
+ vec4 sampleTex(sampler2D tex, vec2 uv)
13
+ {
14
+ vec4 col = texture2D( tex, uv);
15
+
16
+ #ifndef USE_LINEAR_COLOR_SPACE
17
+ col.rgb = pow(col.rgb, vec3(2.2));
18
+ #endif
19
+
20
+ return col;
21
+ }
22
+
23
+ void main() {
24
+ vec2 invSize = 1.0 / texSize;
25
+ float fSigma = float(SIGMA);
26
+ float weightSum = gaussianPdf(0.0, fSigma);
27
+ vec4 diffuseSum = sampleTex( _MainTex, vUv) * weightSum;
28
+ for( int i = 1; i < KERNEL_RADIUS; i ++ ) {
29
+ float x = float(i);
30
+ float w = gaussianPdf(x, fSigma);
31
+ vec2 uvOffset = direction * invSize * x * radius;
32
+ vec4 sample1 = sampleTex( _MainTex, vUv + uvOffset);
33
+ vec4 sample2 = sampleTex( _MainTex, vUv - uvOffset);
34
+ diffuseSum += (sample1 + sample2) * w;
35
+ weightSum += 2.0 * w;
36
+ }
37
+ gl_FragColor = vec4(diffuseSum/weightSum);
38
+
39
+ #ifndef USE_LINEAR_COLOR_SPACE
40
+ gl_FragColor.rgb = pow(gl_FragColor.rgb, vec3(0.4545));
41
+ #endif
42
+ // #include <colorspace_fragment>
43
+
44
44
  }