x_ite 4.2.17 → 4.7.7
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.
- package/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
- package/.vscode/launch.json +15 -0
- package/.vscode/settings.json +12 -0
- package/.vscode/tasks.json +25 -0
- package/Makefile +27 -10
- package/README.md +13 -145
- package/build/bin/dist.pl +65 -8
- package/build/bin/version-number.pl +25 -0
- package/build/bin/version.pl +54 -14
- package/build/components/annotation.build.js +15 -0
- package/build/components/cad-geometry.build.js +15 -0
- package/build/components/cube-map-texturing.build.js +15 -0
- package/build/components/dis.build.js +15 -0
- package/build/components/event-utilities.build.js +15 -0
- package/build/components/geometry2d.build.js +15 -0
- package/build/components/geospatial.build.js +15 -0
- package/build/components/h-anim.build.js +15 -0
- package/build/components/key-device-sensor.build.js +15 -0
- package/build/components/layout.build.js +15 -0
- package/build/components/nurbs.build.js +15 -0
- package/build/components/particle-systems.build.js +15 -0
- package/build/components/picking.build.js +15 -0
- package/build/components/projective-texture-mapping.build.js +15 -0
- package/build/components/rigid-body-physics.build.js +15 -0
- package/build/components/scripting.build.js +15 -0
- package/build/components/texturing-3d.build.js +15 -0
- package/build/components/volume-rendering.build.js +15 -0
- package/build/components/x_ite.build.js +15 -0
- package/build/parts/default.end.frag.js +3 -0
- package/build/parts/default.start.frag.js +15 -0
- package/build/parts/x_ite.end.frag.js +25 -0
- package/build/parts/x_ite.start.frag.js +16 -0
- package/build/x_ite.build.js +5 -2
- package/dist/{components/texturing-3d.js → assets/components/annotation.js} +341 -263
- package/dist/assets/components/annotation.min.js +1 -0
- package/dist/{components → assets/components}/cad-geometry.js +180 -76
- package/dist/assets/components/cad-geometry.min.js +1 -0
- package/dist/assets/components/cube-map-texturing.js +1222 -0
- package/dist/assets/components/cube-map-texturing.min.js +1 -0
- package/dist/assets/components/dis.js +918 -0
- package/dist/assets/components/dis.min.js +1 -0
- package/dist/assets/components/event-utilities.js +1124 -0
- package/dist/assets/components/event-utilities.min.js +1 -0
- package/dist/assets/components/geometry2d.js +2200 -0
- package/dist/assets/components/geometry2d.min.js +1 -0
- package/dist/{components → assets/components}/geospatial.js +364 -269
- package/dist/assets/components/geospatial.min.js +2 -0
- package/dist/{components → assets/components}/h-anim.js +224 -62
- package/dist/assets/components/h-anim.min.js +1 -0
- package/dist/assets/components/key-device-sensor.js +860 -0
- package/dist/assets/components/key-device-sensor.min.js +1 -0
- package/dist/assets/components/layout.js +2018 -0
- package/dist/assets/components/layout.min.js +1 -0
- package/dist/{components → assets/components}/nurbs.js +632 -348
- package/dist/assets/components/nurbs.min.js +2 -0
- package/dist/{components → assets/components}/particle-systems.js +514 -476
- package/dist/assets/components/particle-systems.min.js +2 -0
- package/dist/assets/components/picking.js +2491 -0
- package/dist/assets/components/picking.min.js +1 -0
- package/dist/assets/components/projective-texture-mapping.js +823 -0
- package/dist/assets/components/projective-texture-mapping.min.js +1 -0
- package/dist/assets/components/rigid-body-physics.js +4579 -0
- package/dist/assets/components/rigid-body-physics.min.js +59 -0
- package/dist/assets/components/scripting.js +816 -0
- package/dist/assets/components/scripting.min.js +1 -0
- package/dist/assets/components/texturing-3d.js +10064 -0
- package/dist/assets/components/texturing-3d.min.js +48 -0
- package/dist/assets/components/volume-rendering.js +3976 -0
- package/dist/assets/components/volume-rendering.min.js +3 -0
- package/dist/assets/components/x_ite.js +295 -0
- package/dist/assets/components/x_ite.min.js +1 -0
- package/{fonts → dist/assets/fonts}/DroidSerif-Bold.ttf +0 -0
- package/{fonts → dist/assets/fonts}/DroidSerif-BoldItalic.ttf +0 -0
- package/{fonts → dist/assets/fonts}/DroidSerif-Italic.ttf +0 -0
- package/{fonts → dist/assets/fonts}/DroidSerif-Regular.ttf +0 -0
- package/{fonts → dist/assets/fonts}/Ubuntu-B.ttf +0 -0
- package/{fonts → dist/assets/fonts}/Ubuntu-BI.ttf +0 -0
- package/{fonts → dist/assets/fonts}/Ubuntu-R.ttf +0 -0
- package/{fonts → dist/assets/fonts}/Ubuntu-RI.ttf +0 -0
- package/{fonts → dist/assets/fonts}/UbuntuMono-B.ttf +0 -0
- package/{fonts → dist/assets/fonts}/UbuntuMono-BI.ttf +0 -0
- package/{fonts → dist/assets/fonts}/UbuntuMono-R.ttf +0 -0
- package/{fonts → dist/assets/fonts}/UbuntuMono-RI.ttf +0 -0
- package/dist/assets/hatching/0.png +0 -0
- package/dist/assets/hatching/1.png +0 -0
- package/dist/assets/hatching/10.png +0 -0
- package/dist/assets/hatching/11.png +0 -0
- package/dist/assets/hatching/12.png +0 -0
- package/dist/assets/hatching/13.png +0 -0
- package/dist/assets/hatching/14.png +0 -0
- package/dist/assets/hatching/15.png +0 -0
- package/dist/assets/hatching/16.png +0 -0
- package/dist/assets/hatching/17.png +0 -0
- package/dist/assets/hatching/18.png +0 -0
- package/dist/assets/hatching/19.png +0 -0
- package/dist/assets/hatching/2.png +0 -0
- package/dist/assets/hatching/3.png +0 -0
- package/dist/assets/hatching/4.png +0 -0
- package/dist/assets/hatching/5.png +0 -0
- package/dist/assets/hatching/6.png +0 -0
- package/dist/assets/hatching/7.png +0 -0
- package/dist/assets/hatching/8.png +0 -0
- package/dist/assets/hatching/9.png +0 -0
- package/dist/{images → assets/images}/ExamineViewer.png +0 -0
- package/dist/{images → assets/images}/FlyViewer.png +0 -0
- package/dist/{images → assets/images}/NoneViewer.png +0 -0
- package/dist/{images → assets/images}/PlaneViewer.png +0 -0
- package/dist/{images → assets/images}/PrimitiveQuality.png +0 -0
- package/dist/{images → assets/images}/TextureQuality.png +0 -0
- package/dist/{images → assets/images}/Time.png +0 -0
- package/dist/{images → assets/images}/Viewpoint.png +0 -0
- package/dist/{images → assets/images}/WalkViewer.png +0 -0
- package/dist/assets/images/go-next.png +0 -0
- package/dist/{images → assets/images}/gtk-fullscreen.png +0 -0
- package/dist/{images → assets/images}/gtk-leave-fullscreen.png +0 -0
- package/dist/{images → assets/images}/gtk-zoom-fit.png +0 -0
- package/dist/{images → assets/images}/gtk-zoom-in.png +0 -0
- package/dist/{images → assets/images}/help-about.png +0 -0
- package/dist/{images → assets/images}/icon.bw.png +0 -0
- package/dist/{images → assets/images}/icon.png +0 -0
- package/dist/assets/images/logo.128.png +0 -0
- package/dist/{images → assets/images}/logo.bw.png +0 -0
- package/dist/{images → assets/images}/logo.png +0 -0
- package/dist/assets/linetype/0.png +0 -0
- package/dist/assets/linetype/1.png +0 -0
- package/dist/assets/linetype/10.png +0 -0
- package/dist/assets/linetype/11.png +0 -0
- package/dist/assets/linetype/12.png +0 -0
- package/dist/assets/linetype/13.png +0 -0
- package/dist/assets/linetype/14.png +0 -0
- package/dist/assets/linetype/15.png +0 -0
- package/dist/assets/linetype/16.png +0 -0
- package/dist/assets/linetype/2.png +0 -0
- package/dist/assets/linetype/3.png +0 -0
- package/dist/assets/linetype/4.png +0 -0
- package/dist/assets/linetype/5.png +0 -0
- package/dist/assets/linetype/6.png +0 -0
- package/dist/assets/linetype/7.png +0 -0
- package/dist/assets/linetype/8.png +0 -0
- package/dist/assets/linetype/9.png +0 -0
- package/dist/assets/shaders/webgl1/Background.fs +23 -0
- package/dist/assets/shaders/webgl1/Background.vs +16 -0
- package/dist/assets/shaders/webgl1/Depth.fs +60 -0
- package/dist/assets/shaders/webgl1/Depth.vs +13 -0
- package/dist/assets/shaders/webgl1/Fallback.fs +28 -0
- package/dist/assets/shaders/webgl1/Fallback.vs +24 -0
- package/dist/assets/shaders/webgl1/FallbackUnlit.fs +15 -0
- package/dist/assets/shaders/webgl1/FallbackUnlit.vs +18 -0
- package/dist/assets/shaders/webgl1/Gouraud.fs +529 -0
- package/dist/assets/shaders/webgl1/Gouraud.vs +107 -0
- package/dist/assets/shaders/webgl1/Phong.fs +837 -0
- package/dist/assets/shaders/webgl1/Phong.vs +52 -0
- package/dist/assets/shaders/webgl1/PointSet.fs +541 -0
- package/dist/assets/shaders/webgl1/PointSet.vs +48 -0
- package/dist/assets/shaders/webgl1/Unlit.fs +538 -0
- package/dist/assets/shaders/webgl1/Unlit.vs +52 -0
- package/dist/assets/shaders/webgl1/Wireframe.fs +93 -0
- package/dist/assets/shaders/webgl1/Wireframe.vs +47 -0
- package/dist/assets/shaders/webgl2/Background.fs +25 -0
- package/dist/assets/shaders/webgl2/Background.vs +17 -0
- package/dist/assets/shaders/webgl2/Depth.fs +62 -0
- package/dist/assets/shaders/webgl2/Depth.vs +14 -0
- package/dist/assets/shaders/webgl2/Gouraud.fs +684 -0
- package/dist/assets/shaders/webgl2/Gouraud.vs +108 -0
- package/dist/assets/shaders/webgl2/Phong.fs +1013 -0
- package/dist/assets/shaders/webgl2/Phong.vs +53 -0
- package/dist/assets/shaders/webgl2/PointSet.fs +696 -0
- package/dist/assets/shaders/webgl2/PointSet.vs +49 -0
- package/dist/assets/shaders/webgl2/Unlit.fs +693 -0
- package/dist/assets/shaders/webgl2/Unlit.vs +53 -0
- package/dist/assets/shaders/webgl2/Wireframe.fs +102 -0
- package/dist/assets/shaders/webgl2/Wireframe.vs +48 -0
- package/dist/example.html +8 -7
- package/dist/x_ite.css +167 -49
- package/dist/x_ite.js +66263 -60020
- package/dist/x_ite.min.js +41 -41
- package/dist/x_ite.zip +0 -0
- package/docs/404.md +5 -0
- package/docs/Accessing-the-External-Browser.md +319 -0
- package/docs/Browser-Support.md +47 -0
- package/docs/Custom-Shaders.md +896 -0
- package/docs/Features.md +49 -0
- package/docs/Glossary.md +339 -0
- package/docs/How-To-Configure-Your-Web-Server.md +56 -0
- package/docs/Supported-Nodes.md +370 -0
- package/docs/What's-New.md +1295 -0
- package/docs/XHTML-DOM-Integration.md +82 -0
- package/docs/_config.yml +140 -0
- package/docs/_data/navigation.yml +137 -0
- package/docs/assets/css/main.scss +100 -0
- package/docs/assets/images/logo.png +0 -0
- package/docs/google3696ee938394d7b6.html +1 -0
- package/docs/index.md +1033 -0
- package/docs/reference/Browser-Services.md +361 -0
- package/docs/reference/Constants-Services.md +376 -0
- package/docs/reference/ECMAScript-Object-and-Function-Definitions.md +128 -0
- package/docs/reference/Field-Services-and-Objects.md +1006 -0
- package/docs/reference/Prototype-Services.md +121 -0
- package/docs/reference/Route-Services.md +49 -0
- package/docs/reference/Scene-Services.md +360 -0
- package/docs/reference/Script-Node-Authoring-Interface.md +342 -0
- package/docs/tutorials/Adding-backgrounds.md +268 -0
- package/docs/tutorials/Adding-fog.md +67 -0
- package/docs/tutorials/Adding-sound.md +326 -0
- package/docs/tutorials/Animating-transforms.md +385 -0
- package/docs/tutorials/Basic-Nodes.md +317 -0
- package/docs/tutorials/Building-a-X3D-world.md +152 -0
- package/docs/tutorials/Building-elevation-grids.md +170 -0
- package/docs/tutorials/Building-extruded-shapes.md +145 -0
- package/docs/tutorials/Building-primitive-shapes.md +204 -0
- package/docs/tutorials/Building-shapes-out-of-points,-lines,-and-faces.md +311 -0
- package/docs/tutorials/Controlling-appearance-with-materials.md +186 -0
- package/docs/tutorials/Controlling-color-on-coordinate-based-geometry.md +208 -0
- package/docs/tutorials/Controlling-detail.md +130 -0
- package/docs/tutorials/Controlling-how-textures-are-mapped.md +277 -0
- package/docs/tutorials/Controlling-navigation.md +70 -0
- package/docs/tutorials/Controlling-shading-on-coordinate-based-geometry.md +180 -0
- package/docs/tutorials/Controlling-the-viewpoint.md +49 -0
- package/docs/tutorials/Creating-new-node-types.md +313 -0
- package/docs/tutorials/Grouping-nodes.md +237 -0
- package/docs/tutorials/Hello,-World!.md +204 -0
- package/docs/tutorials/Improving-Performance.md +227 -0
- package/docs/tutorials/Increasing-Rendering-Speed.md +110 -0
- package/docs/tutorials/Introducing-X3D.md +94 -0
- package/docs/tutorials/Introducing-animation.md +211 -0
- package/docs/tutorials/Introducing-script-use.md +127 -0
- package/docs/tutorials/Lighting-your-world.md +139 -0
- package/docs/tutorials/Mapping-textures.md +212 -0
- package/docs/tutorials/Naming-nodes.md +161 -0
- package/docs/tutorials/Providing-information-about-your-world.md +30 -0
- package/docs/tutorials/Sensing-the-viewer.md +205 -0
- package/docs/tutorials/Sensing-viewer-actions.md +214 -0
- package/docs/tutorials/Transforming-Shapes.md +270 -0
- package/docs/tutorials/Writing-program-scripts-with-ECMAScript.md +631 -0
- package/docs/tutorials/index.md +78 -0
- package/meta/logo/logo.png +0 -0
- package/meta/logo/logo.svg +216 -217
- package/meta/web3d.html +3 -3
- package/package.json +43 -28
- package/src/assets/components/annotation.js +87 -0
- package/src/{components → assets/components}/cad-geometry.js +0 -0
- package/src/{x_ite/Components/CubeMapTexturing.js → assets/components/cube-map-texturing.js} +15 -21
- package/src/assets/components/dis.js +84 -0
- package/src/{x_ite/Components/EventUtilities.js → assets/components/event-utilities.js} +20 -26
- package/src/{x_ite/Components/Geometry2D.js → assets/components/geometry2d.js} +22 -25
- package/src/{components → assets/components}/geospatial.js +0 -0
- package/src/{components → assets/components}/h-anim.js +9 -7
- package/src/{x_ite/Components/KeyDeviceSensor.js → assets/components/key-device-sensor.js} +17 -20
- package/src/{x_ite/Components/Layout.js → assets/components/layout.js} +20 -23
- package/src/{components → assets/components}/nurbs.js +0 -0
- package/src/{components → assets/components}/particle-systems.js +1 -1
- package/src/assets/components/picking.js +87 -0
- package/src/assets/components/projective-texture-mapping.js +75 -0
- package/src/{components → assets/components}/rigid-body-physics.js +7 -2
- package/src/{x_ite/Components/Scripting.js → assets/components/scripting.js} +13 -19
- package/src/{components → assets/components}/texturing-3d.js +12 -13
- package/src/assets/components/volume-rendering.js +118 -0
- package/src/{x_ite/Components/X_ITE.js → assets/components/x_ite.js} +12 -30
- package/src/assets/fonts/DroidSerif-Bold.ttf +0 -0
- package/src/assets/fonts/DroidSerif-BoldItalic.ttf +0 -0
- package/src/assets/fonts/DroidSerif-Italic.ttf +0 -0
- package/src/assets/fonts/DroidSerif-Regular.ttf +0 -0
- package/src/assets/fonts/Ubuntu-B.ttf +0 -0
- package/src/assets/fonts/Ubuntu-BI.ttf +0 -0
- package/src/assets/fonts/Ubuntu-R.ttf +0 -0
- package/src/assets/fonts/Ubuntu-RI.ttf +0 -0
- package/src/assets/fonts/UbuntuMono-B.ttf +0 -0
- package/src/assets/fonts/UbuntuMono-BI.ttf +0 -0
- package/src/assets/fonts/UbuntuMono-R.ttf +0 -0
- package/src/assets/fonts/UbuntuMono-RI.ttf +0 -0
- package/src/assets/hatching/0.png +0 -0
- package/src/assets/hatching/1.png +0 -0
- package/src/assets/hatching/10.png +0 -0
- package/src/assets/hatching/11.png +0 -0
- package/src/assets/hatching/12.png +0 -0
- package/src/assets/hatching/13.png +0 -0
- package/src/assets/hatching/14.png +0 -0
- package/src/assets/hatching/15.png +0 -0
- package/src/assets/hatching/16.png +0 -0
- package/src/assets/hatching/17.png +0 -0
- package/src/assets/hatching/18.png +0 -0
- package/src/assets/hatching/19.png +0 -0
- package/src/assets/hatching/2.png +0 -0
- package/src/assets/hatching/3.png +0 -0
- package/src/assets/hatching/4.png +0 -0
- package/src/assets/hatching/5.png +0 -0
- package/src/assets/hatching/6.png +0 -0
- package/src/assets/hatching/7.png +0 -0
- package/src/assets/hatching/8.png +0 -0
- package/src/assets/hatching/9.png +0 -0
- package/src/{images → assets/images}/ExamineViewer.png +0 -0
- package/src/{images → assets/images}/FlyViewer.png +0 -0
- package/src/{images → assets/images}/NoneViewer.png +0 -0
- package/src/{images → assets/images}/PlaneViewer.png +0 -0
- package/src/{images → assets/images}/PrimitiveQuality.png +0 -0
- package/src/{images → assets/images}/TextureQuality.png +0 -0
- package/src/{images → assets/images}/Time.png +0 -0
- package/src/{images → assets/images}/Viewpoint.png +0 -0
- package/src/{images → assets/images}/WalkViewer.png +0 -0
- package/src/assets/images/go-next.png +0 -0
- package/src/{images → assets/images}/gtk-fullscreen.png +0 -0
- package/src/{images → assets/images}/gtk-leave-fullscreen.png +0 -0
- package/src/{images → assets/images}/gtk-zoom-fit.png +0 -0
- package/src/{images → assets/images}/gtk-zoom-in.png +0 -0
- package/src/{images → assets/images}/help-about.png +0 -0
- package/src/{images → assets/images}/icon.bw.png +0 -0
- package/src/{images → assets/images}/icon.png +0 -0
- package/src/assets/images/logo.128.png +0 -0
- package/src/{images → assets/images}/logo.bw.png +0 -0
- package/src/{images → assets/images}/logo.png +0 -0
- package/src/assets/linetype/0.png +0 -0
- package/src/assets/linetype/1.png +0 -0
- package/src/assets/linetype/10.png +0 -0
- package/src/assets/linetype/11.png +0 -0
- package/src/assets/linetype/12.png +0 -0
- package/src/assets/linetype/13.png +0 -0
- package/src/assets/linetype/14.png +0 -0
- package/src/assets/linetype/15.png +0 -0
- package/src/assets/linetype/16.png +0 -0
- package/src/assets/linetype/2.png +0 -0
- package/src/assets/linetype/3.png +0 -0
- package/src/assets/linetype/4.png +0 -0
- package/src/assets/linetype/5.png +0 -0
- package/src/assets/linetype/6.png +0 -0
- package/src/assets/linetype/7.png +0 -0
- package/src/assets/linetype/8.png +0 -0
- package/src/assets/linetype/9.png +0 -0
- package/src/assets/shaders/Types.glsl +102 -0
- package/src/assets/shaders/webgl1/Background.fs +16 -0
- package/src/assets/shaders/webgl1/Background.vs +22 -0
- package/src/assets/shaders/webgl1/Depth.fs +16 -0
- package/src/assets/shaders/webgl1/Depth.vs +20 -0
- package/src/assets/shaders/webgl1/Fallback.fs +38 -0
- package/src/assets/shaders/webgl1/Fallback.vs +30 -0
- package/src/assets/shaders/webgl1/FallbackUnlit.fs +21 -0
- package/src/assets/shaders/webgl1/FallbackUnlit.vs +24 -0
- package/src/assets/shaders/webgl1/Gouraud.fs +66 -0
- package/src/assets/shaders/webgl1/Gouraud.vs +147 -0
- package/src/assets/shaders/webgl1/Phong.fs +172 -0
- package/src/assets/shaders/webgl1/Phong.vs +67 -0
- package/src/assets/shaders/webgl1/PointSet.fs +100 -0
- package/src/assets/shaders/webgl1/PointSet.vs +70 -0
- package/src/assets/shaders/webgl1/Unlit.fs +86 -0
- package/src/assets/shaders/webgl1/Unlit.vs +67 -0
- package/src/assets/shaders/webgl1/Wireframe.fs +74 -0
- package/src/assets/shaders/webgl1/Wireframe.vs +63 -0
- package/src/assets/shaders/webgl1/include/ClipPlanes.glsl +16 -0
- package/src/assets/shaders/webgl1/include/Fog.glsl +38 -0
- package/src/assets/shaders/webgl1/include/Hatch.glsl +18 -0
- package/src/{x_ite/Browser/Shaders/Include/Pack.h → assets/shaders/webgl1/include/Pack.glsl} +0 -1
- package/src/assets/shaders/webgl1/include/Perlin.glsl +40 -0
- package/src/{x_ite/Browser/Shaders/Include/Shadow.h → assets/shaders/webgl1/include/Shadow.glsl} +33 -33
- package/src/assets/shaders/webgl1/include/Texture.glsl +488 -0
- package/src/assets/shaders/webgl2/Background.fs +19 -0
- package/src/assets/shaders/webgl2/Background.vs +23 -0
- package/src/assets/shaders/webgl2/Depth.fs +19 -0
- package/src/assets/shaders/webgl2/Depth.vs +21 -0
- package/src/assets/shaders/webgl2/Gouraud.fs +64 -0
- package/src/assets/shaders/webgl2/Gouraud.vs +148 -0
- package/src/assets/shaders/webgl2/Phong.fs +170 -0
- package/src/assets/shaders/webgl2/Phong.vs +68 -0
- package/src/assets/shaders/webgl2/PointSet.fs +99 -0
- package/src/assets/shaders/webgl2/PointSet.vs +71 -0
- package/src/assets/shaders/webgl2/Unlit.fs +85 -0
- package/src/assets/shaders/webgl2/Unlit.vs +68 -0
- package/src/assets/shaders/webgl2/Wireframe.fs +73 -0
- package/src/assets/shaders/webgl2/Wireframe.vs +64 -0
- package/src/assets/shaders/webgl2/include/ClipPlanes.glsl +16 -0
- package/src/assets/shaders/webgl2/include/Fog.glsl +46 -0
- package/src/assets/shaders/webgl2/include/Hatch.glsl +18 -0
- package/src/assets/shaders/webgl2/include/Pack.glsl +51 -0
- package/src/assets/shaders/webgl2/include/Perlin.glsl +40 -0
- package/src/assets/shaders/webgl2/include/Shadow.glsl +324 -0
- package/src/assets/shaders/webgl2/include/Texture.glsl +623 -0
- package/src/bookmarks.js +33 -12
- package/src/dummy.js +1 -0
- package/src/example.html +8 -7
- package/src/examples.js +21 -3
- package/src/lib/ammojs/AmmoJS.js +58 -0
- package/src/lib/ammojs/Makefile +4 -0
- package/src/lib/ammojs/ammo.idl +72 -1
- package/src/lib/ammojs/ammo.js +25 -21
- package/src/lib/jpeg/jpeg.js +1019 -0
- package/src/lib/nurbs/extras/sample.js +137 -80
- package/src/locale/de.po +18 -73
- package/src/locale/fr.po +18 -74
- package/src/spinner.css +18 -6
- package/src/standard/Geospatial/Geodetic.js +43 -43
- package/src/standard/Geospatial/ReferenceEllipsoids.js +1 -1
- package/src/standard/Geospatial/UniversalTransverseMercator.js +42 -42
- package/src/standard/Math/Algorithm.js +22 -39
- package/src/standard/Math/Algorithms/Bezier.js +147 -0
- package/src/standard/Math/Algorithms/MergeSort.js +2 -2
- package/src/standard/Math/Algorithms/PartialSort.js +6 -6
- package/src/standard/Math/Algorithms/QuickSort.js +8 -6
- package/src/standard/Math/Algorithms/SAT.js +4 -8
- package/src/standard/Math/Algorithms/eigendecomposition.js +37 -33
- package/src/standard/Math/Geometry/Box2.js +84 -56
- package/src/standard/Math/Geometry/Box3.js +400 -358
- package/src/standard/Math/Geometry/Camera.js +19 -16
- package/src/standard/Math/Geometry/Cylinder3.js +13 -13
- package/src/standard/Math/Geometry/Line3.js +34 -34
- package/src/standard/Math/Geometry/Plane3.js +15 -15
- package/src/standard/Math/Geometry/Sphere3.js +122 -105
- package/src/standard/Math/Geometry/Spheroid3.js +1 -1
- package/src/standard/Math/Geometry/Triangle2.js +5 -5
- package/src/standard/Math/Geometry/Triangle3.js +12 -14
- package/src/standard/Math/Geometry/ViewVolume.js +303 -106
- package/src/standard/Math/Numbers/Color3.js +26 -23
- package/src/standard/Math/Numbers/Color4.js +9 -9
- package/src/standard/Math/Numbers/Complex.js +13 -17
- package/src/standard/Math/Numbers/Matrix2.js +20 -13
- package/src/standard/Math/Numbers/Matrix3.js +129 -205
- package/src/standard/Math/Numbers/Matrix4.js +136 -257
- package/src/standard/Math/Numbers/Quaternion.js +49 -138
- package/src/standard/Math/Numbers/Rotation4.js +42 -55
- package/src/standard/Math/Numbers/Vector2.js +32 -115
- package/src/standard/Math/Numbers/Vector3.js +46 -151
- package/src/standard/Math/Numbers/Vector4.js +44 -163
- package/src/standard/Math/Utility/BVH.js +21 -20
- package/src/standard/Math/Utility/MatrixStack.js +4 -4
- package/src/standard/Networking/BinaryTransport.js +8 -8
- package/src/standard/Time/MicroTime.js +81 -0
- package/src/standard/Utility/DataStorage.js +11 -14
- package/src/standard/Utility/MapUtilities.js +69 -0
- package/src/standard/Utility/ObjectCache.js +2 -3
- package/src/standard/Utility/Shuffle.js +5 -6
- package/src/tests.js +84 -5
- package/src/x_ite/Base/Events.js +9 -10
- package/src/x_ite/Base/X3DChildObject.js +20 -16
- package/src/x_ite/Base/X3DEventObject.js +3 -7
- package/src/x_ite/Base/X3DObject.js +44 -27
- package/src/x_ite/Basic/FieldDefinitionArray.js +11 -4
- package/src/x_ite/Basic/X3DBaseNode.js +427 -246
- package/src/x_ite/Basic/X3DField.js +48 -69
- package/src/x_ite/Basic/X3DFieldDefinition.js +0 -4
- package/src/x_ite/Basic/X3DObjectArrayField.js +102 -108
- package/src/x_ite/Basic/X3DTypedArrayField.js +194 -163
- package/src/x_ite/Bits/TraverseType.js +2 -5
- package/src/x_ite/Bits/X3DConstants.js +11 -2
- package/src/x_ite/Browser/Core/BrowserOptions.js +89 -68
- package/src/x_ite/Browser/Core/BrowserTimings.js +21 -29
- package/src/x_ite/Browser/Core/ContextMenu.js +139 -60
- package/src/x_ite/Browser/Core/Notification.js +3 -3
- package/src/x_ite/Browser/Core/PrimitiveQuality.js +3 -7
- package/src/x_ite/Browser/Core/Shading.js +3 -7
- package/src/x_ite/Browser/Core/TextureQuality.js +3 -7
- package/src/x_ite/Browser/Core/X3DCoreContext.js +398 -58
- package/src/x_ite/Browser/Core/X3DCoreContext.js.~1~ +714 -0
- package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +17 -28
- package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +5 -14
- package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +81 -28
- package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +53 -44
- package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +51 -12
- package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +8 -9
- package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +98 -0
- package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +14 -206
- package/src/x_ite/Browser/Layout/ScreenText.js +226 -254
- package/src/x_ite/Browser/Layout/X3DLayoutContext.js +13 -11
- package/src/x_ite/Browser/Lighting/X3DLightingContext.js +15 -9
- package/src/x_ite/Browser/NURBS/NURBS.js +84 -72
- package/src/x_ite/Browser/Navigation/ExamineViewer.js +125 -83
- package/src/x_ite/Browser/Navigation/FlyViewer.js +14 -9
- package/src/x_ite/Browser/Navigation/LookAtViewer.js +60 -40
- package/src/x_ite/Browser/Navigation/NoneViewer.js +12 -1
- package/src/x_ite/Browser/Navigation/PlaneViewer.js +39 -20
- package/src/x_ite/Browser/Navigation/WalkViewer.js +21 -6
- package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +110 -85
- package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +11 -6
- package/src/x_ite/Browser/Navigation/X3DViewer.js +73 -48
- package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +18 -24
- package/src/x_ite/Browser/Networking/urls.js +31 -16
- package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +5 -6
- package/src/x_ite/Browser/Picking/IntersectionType.js +63 -0
- package/src/x_ite/Browser/Picking/MatchCriterion.js +64 -0
- package/src/x_ite/Browser/Picking/SortOrder.js +65 -0
- package/src/x_ite/Browser/Picking/VolumePicker.js +197 -0
- package/src/x_ite/Browser/Picking/X3DPickingContext.js +130 -0
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +26 -20
- package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +17 -10
- package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +38 -27
- package/src/x_ite/Browser/RigidBodyPhysics/AppliedParametersType.js +70 -0
- package/src/x_ite/Browser/Shaders/Shader.js +112 -92
- package/src/x_ite/Browser/Shaders/ShaderSource.js +140 -0
- package/src/x_ite/Browser/Shaders/ShaderTest.js +92 -77
- package/src/x_ite/Browser/Shaders/X3DShadersContext.js +134 -74
- package/src/x_ite/Browser/Shape/AlphaMode.js +65 -0
- package/src/x_ite/Browser/Shape/LineStipples.xcf +0 -0
- package/src/x_ite/Browser/Shape/X3DShapeContext.js +108 -4
- package/src/x_ite/Browser/Text/PolygonText.js +153 -170
- package/src/x_ite/Browser/Text/TextAlignment.js +3 -7
- package/src/x_ite/Browser/Text/X3DTextContext.js +38 -30
- package/src/x_ite/Browser/Text/X3DTextGeometry.js +49 -74
- package/src/x_ite/Browser/Texturing/MultiTextureFunctionType.js +64 -0
- package/src/x_ite/Browser/Texturing/MultiTextureModeType.js +81 -0
- package/src/x_ite/Browser/Texturing/MultiTextureSourceType.js +65 -0
- package/src/x_ite/Browser/Texturing/TextureCoordinateGeneratorModeType.js +73 -0
- package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +147 -45
- package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1126 -0
- package/src/x_ite/Browser/Texturing3D/NRRDParser.js +686 -0
- package/src/x_ite/Browser/Time/X3DTimeContext.js +20 -17
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Browser/VolumeRendering/VolumeStyle.fs +120 -0
- package/src/x_ite/Browser/VolumeRendering/VolumeStyle.vs +28 -0
- package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +114 -0
- package/src/x_ite/Browser/X3DBrowser.js +282 -224
- package/src/x_ite/Browser/X3DBrowserContext.js +60 -27
- package/src/x_ite/Components/Annotation/AnnotationLayer.js +108 -0
- package/src/x_ite/Components/Annotation/AnnotationTarget.js +101 -0
- package/src/x_ite/Components/Annotation/GroupAnnotation.js +112 -0
- package/src/x_ite/Components/Annotation/IconAnnotation.js +110 -0
- package/src/x_ite/Components/Annotation/TextAnnotation.js +102 -0
- package/src/x_ite/Components/Annotation/URLAnnotation.js +101 -0
- package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +76 -0
- package/src/x_ite/Components/CADGeometry/CADAssembly.js +4 -4
- package/src/x_ite/Components/CADGeometry/CADFace.js +135 -30
- package/src/x_ite/Components/CADGeometry/CADLayer.js +3 -18
- package/src/x_ite/Components/CADGeometry/CADPart.js +4 -8
- package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +18 -10
- package/src/x_ite/Components/Core/WorldInfo.js +16 -6
- package/src/x_ite/Components/Core/X3DBindableNode.js +4 -33
- package/src/x_ite/Components/Core/X3DChildNode.js +14 -1
- package/src/x_ite/Components/Core/X3DNode.js +0 -63
- package/src/x_ite/Components/Core/X3DPrototypeInstance.js +128 -168
- package/src/x_ite/Components/Core.js +6 -9
- package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +38 -46
- package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +31 -30
- package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +42 -57
- package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +36 -48
- package/src/x_ite/Components/DIS/EspduTransform.js +12 -6
- package/src/x_ite/Components/DIS/ReceiverPdu.js +12 -6
- package/src/x_ite/Components/DIS/SignalPdu.js +12 -6
- package/src/x_ite/Components/DIS/TransmitterPdu.js +12 -6
- package/src/x_ite/Components/EnvironmentalEffects/Fog.js +5 -16
- package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +55 -3
- package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +3 -5
- package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +116 -116
- package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +5 -6
- package/src/x_ite/Components/EnvironmentalEffects.js +6 -9
- package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +116 -117
- package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +169 -49
- package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +31 -27
- package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +12 -5
- package/src/x_ite/Components/EnvironmentalSensor.js +6 -9
- package/src/x_ite/Components/Followers/ColorChaser.js +1 -3
- package/src/x_ite/Components/Followers/ColorDamper.js +1 -3
- package/src/x_ite/Components/Followers/CoordinateChaser.js +1 -7
- package/src/x_ite/Components/Followers/CoordinateDamper.js +0 -6
- package/src/x_ite/Components/Followers/OrientationChaser.js +7 -3
- package/src/x_ite/Components/Followers/OrientationDamper.js +7 -3
- package/src/x_ite/Components/Followers/PositionChaser.js +1 -3
- package/src/x_ite/Components/Followers/PositionChaser2D.js +1 -3
- package/src/x_ite/Components/Followers/PositionDamper.js +1 -3
- package/src/x_ite/Components/Followers/PositionDamper2D.js +1 -3
- package/src/x_ite/Components/Followers/ScalarChaser.js +1 -3
- package/src/x_ite/Components/Followers/ScalarDamper.js +1 -3
- package/src/x_ite/Components/Followers/TexCoordChaser2D.js +1 -7
- package/src/x_ite/Components/Followers/TexCoordDamper2D.js +1 -7
- package/src/x_ite/Components/Followers/X3DChaserNode.js +20 -18
- package/src/x_ite/Components/Followers/X3DDamperNode.js +5 -7
- package/src/x_ite/Components/Followers/X3DFollowerNode.js +5 -7
- package/src/x_ite/Components/Followers.js +6 -9
- package/src/x_ite/Components/Geometry2D/Arc2D.js +10 -14
- package/src/x_ite/Components/Geometry2D/ArcClose2D.js +87 -86
- package/src/x_ite/Components/Geometry2D/Circle2D.js +1 -3
- package/src/x_ite/Components/Geometry2D/Disk2D.js +43 -58
- package/src/x_ite/Components/Geometry2D/Polyline2D.js +4 -8
- package/src/x_ite/Components/Geometry2D/Polypoint2D.js +3 -5
- package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +20 -16
- package/src/x_ite/Components/Geometry3D/Cone.js +1 -3
- package/src/x_ite/Components/Geometry3D/Cylinder.js +3 -5
- package/src/x_ite/Components/Geometry3D/ElevationGrid.js +35 -17
- package/src/x_ite/Components/Geometry3D/Extrusion.js +125 -107
- package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +164 -142
- package/src/x_ite/Components/Geometry3D/Sphere.js +3 -5
- package/src/x_ite/Components/Geometry3D.js +6 -9
- package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +7 -7
- package/src/x_ite/Components/Geospatial/GeoLOD.js +207 -124
- package/src/x_ite/Components/Geospatial/GeoLocation.js +6 -6
- package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +5 -3
- package/src/x_ite/Components/Geospatial/GeoTransform.js +9 -9
- package/src/x_ite/Components/Geospatial/GeoViewpoint.js +27 -27
- package/src/x_ite/Components/Grouping/Group.js +3 -3
- package/src/x_ite/Components/Grouping/StaticGroup.js +49 -56
- package/src/x_ite/Components/Grouping/Switch.js +171 -21
- package/src/x_ite/Components/Grouping/Transform.js +3 -3
- package/src/x_ite/Components/Grouping/X3DBoundedObject.js +68 -15
- package/src/x_ite/Components/Grouping/X3DGroupingNode.js +339 -180
- package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +51 -25
- package/src/x_ite/Components/Grouping/X3DTransformNode.js +2 -4
- package/src/x_ite/Components/Grouping.js +6 -9
- package/src/x_ite/Components/{H-Anim → HAnim}/HAnimDisplacer.js +4 -4
- package/src/x_ite/Components/{H-Anim → HAnim}/HAnimHumanoid.js +24 -14
- package/src/x_ite/Components/{H-Anim → HAnim}/HAnimJoint.js +44 -20
- package/src/x_ite/Components/HAnim/HAnimMotion.js +113 -0
- package/src/x_ite/Components/{H-Anim → HAnim}/HAnimSegment.js +6 -4
- package/src/x_ite/Components/{H-Anim → HAnim}/HAnimSite.js +4 -4
- package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +8 -7
- package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +4 -3
- package/src/x_ite/Components/Interpolation.js +6 -9
- package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +1 -3
- package/src/x_ite/Components/Layering/Layer.js +12 -2
- package/src/x_ite/Components/Layering/LayerSet.js +4 -6
- package/src/x_ite/Components/Layering/Viewport.js +8 -8
- package/src/x_ite/Components/Layering/X3DLayerNode.js +67 -62
- package/src/x_ite/Components/Layering.js +6 -9
- package/src/x_ite/Components/Layout/LayoutGroup.js +18 -15
- package/src/x_ite/Components/Layout/LayoutLayer.js +10 -5
- package/src/x_ite/Components/Layout/ScreenFontStyle.js +12 -14
- package/src/x_ite/Components/Layout/ScreenGroup.js +25 -31
- package/src/x_ite/Components/Lighting/DirectionalLight.js +27 -22
- package/src/x_ite/Components/Lighting/PointLight.js +26 -29
- package/src/x_ite/Components/Lighting/SpotLight.js +29 -24
- package/src/x_ite/Components/Lighting/X3DLightNode.js +85 -66
- package/src/x_ite/Components/Lighting.js +6 -9
- package/src/x_ite/Components/NURBS/Contour2D.js +45 -1
- package/src/x_ite/Components/NURBS/ContourPolyline2D.js +53 -25
- package/src/x_ite/Components/NURBS/NurbsCurve.js +21 -24
- package/src/x_ite/Components/NURBS/NurbsCurve2D.js +44 -25
- package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +19 -21
- package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +18 -20
- package/src/x_ite/Components/NURBS/NurbsSet.js +17 -6
- package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +2 -2
- package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +2 -2
- package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +15 -16
- package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +38 -1
- package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +116 -43
- package/src/x_ite/Components/Navigation/Billboard.js +12 -11
- package/src/x_ite/Components/Navigation/Collision.js +10 -8
- package/src/x_ite/Components/Navigation/LOD.js +207 -59
- package/src/x_ite/Components/Navigation/NavigationInfo.js +29 -43
- package/src/x_ite/Components/Navigation/OrthoViewpoint.js +99 -18
- package/src/x_ite/Components/Navigation/Viewpoint.js +15 -15
- package/src/x_ite/Components/Navigation/ViewpointGroup.js +12 -5
- package/src/x_ite/Components/Navigation/X3DViewpointNode.js +137 -148
- package/src/x_ite/Components/Navigation.js +6 -9
- package/src/x_ite/Components/Networking/Anchor.js +22 -24
- package/src/x_ite/Components/Networking/Inline.js +63 -44
- package/src/x_ite/Components/Networking/X3DUrlObject.js +88 -8
- package/src/x_ite/Components/Networking.js +6 -9
- package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +2 -2
- package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +215 -199
- package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +44 -39
- package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +48 -46
- package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +121 -117
- package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +21 -18
- package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +20 -22
- package/src/x_ite/Components/Picking/LinePickSensor.js +251 -6
- package/src/x_ite/Components/Picking/PickableGroup.js +120 -7
- package/src/x_ite/Components/Picking/PointPickSensor.js +260 -8
- package/src/x_ite/Components/Picking/PrimitivePickSensor.js +174 -4
- package/src/x_ite/Components/Picking/VolumePickSensor.js +150 -4
- package/src/x_ite/Components/Picking/X3DPickSensorNode.js +377 -4
- package/src/x_ite/Components/Picking/X3DPickableObject.js +21 -1
- package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +26 -11
- package/src/x_ite/Components/PointingDeviceSensor.js +6 -9
- package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +282 -0
- package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorPerspective.js +227 -0
- package/src/x_ite/Components/ProjectiveTextureMapping/X3DTextureProjectorNode.js +217 -0
- package/src/x_ite/Components/Rendering/ClipPlane.js +8 -10
- package/src/x_ite/Components/Rendering/Color.js +22 -13
- package/src/x_ite/Components/Rendering/ColorRGBA.js +28 -16
- package/src/x_ite/Components/Rendering/IndexedLineSet.js +52 -33
- package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +17 -14
- package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +9 -4
- package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +17 -17
- package/src/x_ite/Components/Rendering/LineSet.js +44 -27
- package/src/x_ite/Components/Rendering/Normal.js +20 -4
- package/src/x_ite/Components/Rendering/PointSet.js +38 -16
- package/src/x_ite/Components/Rendering/TriangleFanSet.js +7 -9
- package/src/x_ite/Components/Rendering/TriangleStripSet.js +6 -8
- package/src/x_ite/Components/Rendering/X3DColorNode.js +16 -1
- package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +80 -55
- package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +11 -13
- package/src/x_ite/Components/Rendering/X3DGeometryNode.js +622 -477
- package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +159 -90
- package/src/x_ite/Components/Rendering.js +6 -9
- package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +8 -10
- package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +142 -26
- package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +312 -128
- package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +91 -7
- package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +189 -4
- package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +82 -4
- package/src/x_ite/Components/RigidBodyPhysics/Contact.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +49 -37
- package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +45 -39
- package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +41 -34
- package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +25 -20
- package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +8 -10
- package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +15 -16
- package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +2 -4
- package/src/x_ite/Components/Scripting/Script.js +147 -101
- package/src/x_ite/Components/Scripting/X3DScriptNode.js +2 -4
- package/src/x_ite/Components/Shaders/ComposedShader.js +17 -19
- package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +9 -3
- package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +10 -3
- package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +10 -3
- package/src/x_ite/Components/Shaders/PackagedShader.js +18 -14
- package/src/x_ite/Components/Shaders/ShaderPart.js +30 -18
- package/src/x_ite/Components/Shaders/ShaderProgram.js +15 -11
- package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +681 -558
- package/src/x_ite/Components/Shaders/X3DShaderNode.js +48 -12
- package/src/x_ite/Components/Shaders.js +15 -18
- package/src/x_ite/Components/Shape/Appearance.js +153 -77
- package/src/x_ite/Components/Shape/FillProperties.js +63 -4
- package/src/x_ite/Components/Shape/LineProperties.js +27 -5
- package/src/x_ite/Components/Shape/Material.js +48 -62
- package/src/x_ite/Components/Shape/PointProperties.js +162 -0
- package/src/x_ite/Components/Shape/Shape.js +86 -39
- package/src/x_ite/Components/Shape/TwoSidedMaterial.js +53 -59
- package/src/x_ite/Components/Shape/UnlitMaterial.js +109 -0
- package/src/x_ite/Components/Shape/X3DAppearanceNode.js +9 -6
- package/src/x_ite/Components/Shape/X3DMaterialNode.js +16 -3
- package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +111 -0
- package/src/x_ite/Components/Shape/X3DShapeNode.js +41 -17
- package/src/x_ite/Components/Shape.js +22 -16
- package/src/x_ite/Components/Sound/AudioClip.js +36 -50
- package/src/x_ite/Components/Sound/Sound.js +36 -36
- package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +18 -6
- package/src/x_ite/Components/Sound.js +6 -9
- package/src/x_ite/Components/Text/FontStyle.js +10 -12
- package/src/x_ite/Components/Text/Text.js +6 -6
- package/src/x_ite/Components/Text/X3DFontStyleNode.js +56 -87
- package/src/x_ite/Components/Text.js +6 -9
- package/src/x_ite/Components/Texturing/ImageTexture.js +48 -63
- package/src/x_ite/Components/Texturing/MovieTexture.js +42 -56
- package/src/x_ite/Components/Texturing/MultiTexture.js +236 -11
- package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +73 -6
- package/src/x_ite/Components/Texturing/MultiTextureTransform.js +45 -4
- package/src/x_ite/Components/Texturing/PixelTexture.js +45 -11
- package/src/x_ite/Components/Texturing/TextureCoordinate.js +32 -17
- package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +68 -8
- package/src/x_ite/Components/Texturing/TextureProperties.js +96 -65
- package/src/x_ite/Components/Texturing/TextureTransform.js +55 -47
- package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +91 -0
- package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +183 -0
- package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +77 -0
- package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +42 -95
- package/src/x_ite/Components/Texturing/X3DTexture2DNode.js.~1~ +209 -0
- package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +3 -17
- package/src/x_ite/Components/Texturing/X3DTextureNode.js +6 -67
- package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +4 -11
- package/src/x_ite/Components/Texturing.js +31 -25
- package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +88 -4
- package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +105 -13
- package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +124 -4
- package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +35 -18
- package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +35 -18
- package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +41 -31
- package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +18 -11
- package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +110 -6
- package/src/x_ite/Components/Time/TimeSensor.js +23 -19
- package/src/x_ite/Components/Time/X3DTimeDependentNode.js +11 -7
- package/src/x_ite/Components/Time.js +6 -9
- package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +309 -8
- package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +58 -4
- package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +217 -6
- package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +132 -3
- package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +86 -5
- package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +309 -11
- package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +85 -3
- package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +134 -2
- package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +222 -9
- package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +191 -8
- package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +85 -6
- package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +95 -5
- package/src/x_ite/Components/VolumeRendering/VolumeData.js +153 -8
- package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +155 -3
- package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +62 -0
- package/src/x_ite/Components/X_ITE/BlendMode.js +51 -51
- package/src/x_ite/Components.js +11 -16
- package/src/x_ite/Configuration/ComponentInfo.js +12 -6
- package/src/x_ite/Configuration/ComponentInfoArray.js +4 -7
- package/src/x_ite/Configuration/ProfileInfo.js +10 -6
- package/src/x_ite/Configuration/SupportedComponents.js +66 -40
- package/src/x_ite/Configuration/SupportedNodes.js +22 -6
- package/src/x_ite/Configuration/SupportedProfiles.js +91 -89
- package/src/x_ite/Configuration/UnitInfo.js +12 -2
- package/src/x_ite/Configuration/X3DInfoArray.js +37 -18
- package/src/x_ite/Execution/BindableList.js +63 -38
- package/src/x_ite/Execution/BindableStack.js +63 -71
- package/src/x_ite/Execution/ExportedNode.js +25 -2
- package/src/x_ite/Execution/ImportedNode.js +122 -39
- package/src/x_ite/Execution/Scene.js +22 -14
- package/src/x_ite/Execution/World.js +22 -19
- package/src/x_ite/Execution/X3DExecutionContext.js +381 -221
- package/src/x_ite/Execution/X3DScene.js +213 -53
- package/src/x_ite/{Error.js → Fallback.js} +26 -29
- package/src/x_ite/Fields/ArrayFields.js +176 -57
- package/src/x_ite/Fields/SFBool.js +6 -5
- package/src/x_ite/Fields/SFColor.js +24 -21
- package/src/x_ite/Fields/SFColorRGBA.js +23 -23
- package/src/x_ite/Fields/SFDouble.js +6 -5
- package/src/x_ite/Fields/SFFloat.js +7 -6
- package/src/x_ite/Fields/SFImage.js +37 -36
- package/src/x_ite/Fields/SFInt32.js +5 -4
- package/src/x_ite/Fields/SFMatrix3.js +19 -15
- package/src/x_ite/Fields/SFMatrix4.js +19 -15
- package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +10 -2
- package/src/x_ite/Fields/SFNode.js +105 -53
- package/src/x_ite/Fields/SFNodeCache.js +93 -0
- package/src/x_ite/Fields/SFRotation.js +31 -27
- package/src/x_ite/Fields/SFString.js +9 -8
- package/src/x_ite/Fields/SFTime.js +6 -5
- package/src/x_ite/Fields/SFVec2.js +17 -13
- package/src/x_ite/Fields/SFVec3.js +21 -17
- package/src/x_ite/Fields/SFVec4.js +24 -20
- package/src/x_ite/Fields/SFVecPrototypeTemplate.js +8 -4
- package/src/x_ite/Fields.js +2 -6
- package/src/x_ite/InputOutput/FileLoader.js +174 -190
- package/src/x_ite/InputOutput/Generator.js +133 -104
- package/src/x_ite/Parser/HTMLSupport.js +3 -596
- package/src/x_ite/Parser/JSONParser.js +348 -245
- package/src/x_ite/Parser/Parser.js +314 -303
- package/src/x_ite/Parser/X3DParser.js +41 -20
- package/src/x_ite/Parser/XMLParser.js +178 -60
- package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +17 -0
- package/src/x_ite/Prototype/ProtoDeclarationArray.js +17 -0
- package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +104 -44
- package/src/x_ite/Prototype/X3DProtoDeclaration.js +111 -42
- package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +16 -14
- package/src/x_ite/Rendering/DependentRenderer.js +7 -9
- package/src/x_ite/Rendering/TextureBuffer.js +24 -19
- package/src/x_ite/Rendering/X3DRenderObject.js +455 -428
- package/src/x_ite/Routing/RouteArray.js +34 -11
- package/src/x_ite/Routing/X3DRoute.js +60 -60
- package/src/x_ite/Routing/X3DRoutingContext.js +6 -6
- package/src/x_ite/X3D.js +30 -37
- package/src/x_ite.config.js +40 -5
- package/src/x_ite.css +165 -45
- package/src/x_ite.html +49 -29
- package/src/x_ite.js +86 -25
- package/x_ite.min.html +49 -22
- package/.bzrignore +0 -3
- package/AUTHORS.md +0 -6
- package/STYLE_GUIDE.md +0 -51
- package/X_ITE.sln +0 -54
- package/X_ITE.userprefs +0 -14
- package/build/build.mdproj +0 -47
- package/build/cad-geometry.build.js +0 -15
- package/build/geospatial.build.js +0 -15
- package/build/h-anim.build.js +0 -15
- package/build/nurbs.build.js +0 -15
- package/build/particle-systems.build.js +0 -15
- package/build/parts/cad-geometry.end.frag +0 -2
- package/build/parts/cad-geometry.start.frag +0 -6
- package/build/parts/geospatial.end.frag +0 -2
- package/build/parts/geospatial.start.frag +0 -6
- package/build/parts/h-anim.end.frag +0 -2
- package/build/parts/h-anim.start.frag +0 -6
- package/build/parts/nurbs.end.frag +0 -2
- package/build/parts/nurbs.start.frag +0 -6
- package/build/parts/particle-systems.end.frag +0 -2
- package/build/parts/particle-systems.start.frag +0 -6
- package/build/parts/rigid-body-physics.end.frag +0 -2
- package/build/parts/rigid-body-physics.start.frag +0 -6
- package/build/parts/texturing-3d.end.frag +0 -2
- package/build/parts/texturing-3d.start.frag +0 -6
- package/build/parts/x_ite.end.frag +0 -9
- package/build/parts/x_ite.start.frag +0 -6
- package/build/rigid-body-physics.build.js +0 -15
- package/build/texturing-3d.build.js +0 -15
- package/dist/components/README +0 -3
- package/dist/components/cad-geometry.min.js +0 -1
- package/dist/components/geospatial.min.js +0 -2
- package/dist/components/h-anim.min.js +0 -1
- package/dist/components/nurbs.min.js +0 -2
- package/dist/components/particle-systems.min.js +0 -2
- package/dist/components/rigid-body-physics.js +0 -3761
- package/dist/components/rigid-body-physics.min.js +0 -56
- package/dist/components/texturing-3d.min.js +0 -1
- package/dist/dist.mdproj +0 -61
- package/dist/images/logo.128.png +0 -0
- package/fonts/fonts.mdproj +0 -29
- package/meta/meta.mdproj +0 -35
- package/src/components/cad-geometry.config.js +0 -56
- package/src/components/geospatial.config.js +0 -56
- package/src/components/h-anim.config.js +0 -56
- package/src/components/nurbs.config.js +0 -61
- package/src/components/particle-systems.config.js +0 -56
- package/src/components/rigid-body-physics.config.js +0 -61
- package/src/components/texturing-3d.config.js +0 -56
- package/src/images/logo.128.png +0 -0
- package/src/locale/de.mo +0 -0
- package/src/locale/fr.mo +0 -0
- package/src/src.mdproj +0 -698
- package/src/standard/Networking/URI.js +0 -785
- package/src/test.x3d +0 -225
- package/src/x_ite/Browser/Shaders/Background.fs +0 -31
- package/src/x_ite/Browser/Shaders/Background.vs +0 -23
- package/src/x_ite/Browser/Shaders/Depth.fs +0 -32
- package/src/x_ite/Browser/Shaders/Depth.vs +0 -21
- package/src/x_ite/Browser/Shaders/Gouraud.fs +0 -135
- package/src/x_ite/Browser/Shaders/Gouraud.vs +0 -145
- package/src/x_ite/Browser/Shaders/Phong.fs +0 -269
- package/src/x_ite/Browser/Shaders/Phong.vs +0 -47
- package/src/x_ite/Browser/Shaders/PointSet.fs +0 -86
- package/src/x_ite/Browser/Shaders/Types.h +0 -55
- package/src/x_ite/Browser/Shaders/Wireframe.fs +0 -82
- package/src/x_ite/Browser/Shaders/Wireframe.vs +0 -61
- package/src/x_ite/Components/DIS.js +0 -91
- package/src/x_ite/Components/Picking.js +0 -94
- package/src/x_ite/Components/VolumeRendering.js +0 -121
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
|
|
2
|
+
struct x3d_FogParameters {
|
|
3
|
+
mediump int type;
|
|
4
|
+
mediump vec3 color;
|
|
5
|
+
mediump float visibilityRange;
|
|
6
|
+
mediump mat3 matrix;
|
|
7
|
+
bool fogCoord;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
//uniform x3d_FogParameters x3d_Fog;
|
|
11
|
+
|
|
12
|
+
struct x3d_LightSourceParameters {
|
|
13
|
+
mediump int type;
|
|
14
|
+
mediump vec3 color;
|
|
15
|
+
mediump float intensity;
|
|
16
|
+
mediump float ambientIntensity;
|
|
17
|
+
mediump vec3 attenuation;
|
|
18
|
+
mediump vec3 location;
|
|
19
|
+
mediump vec3 direction;
|
|
20
|
+
mediump float radius;
|
|
21
|
+
mediump float beamWidth;
|
|
22
|
+
mediump float cutOffAngle;
|
|
23
|
+
mediump mat3 matrix;
|
|
24
|
+
#ifdef X3D_SHADOWS
|
|
25
|
+
mediump vec3 shadowColor;
|
|
26
|
+
mediump float shadowIntensity;
|
|
27
|
+
mediump float shadowBias;
|
|
28
|
+
mediump mat4 shadowMatrix;
|
|
29
|
+
mediump int shadowMapSize;
|
|
30
|
+
#endif
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
//uniform x3d_LightSourceParameters x3d_LightSource [x3d_MaxLights];
|
|
34
|
+
|
|
35
|
+
struct x3d_PointPropertiesParameters
|
|
36
|
+
{
|
|
37
|
+
mediump float pointSizeScaleFactor;
|
|
38
|
+
mediump float pointSizeMinValue;
|
|
39
|
+
mediump float pointSizeMaxValue;
|
|
40
|
+
mediump vec3 pointSizeAttenuation;
|
|
41
|
+
mediump int colorMode;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
//uniform x3d_PointPropertiesParameters x3d_PointProperties;
|
|
45
|
+
|
|
46
|
+
struct x3d_LinePropertiesParameters
|
|
47
|
+
{
|
|
48
|
+
bool applied;
|
|
49
|
+
mediump float linewidthScaleFactor;
|
|
50
|
+
sampler2D linetype;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
//uniform x3d_LinePropertiesParameters x3d_LineProperties;
|
|
54
|
+
|
|
55
|
+
struct x3d_FillPropertiesParameters
|
|
56
|
+
{
|
|
57
|
+
bool filled;
|
|
58
|
+
bool hatched;
|
|
59
|
+
mediump vec3 hatchColor;
|
|
60
|
+
sampler2D hatchStyle;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
//uniform x3d_FillPropertiesParameters x3d_FillProperties;
|
|
64
|
+
|
|
65
|
+
struct x3d_MaterialParameters
|
|
66
|
+
{
|
|
67
|
+
mediump float ambientIntensity;
|
|
68
|
+
mediump vec3 diffuseColor;
|
|
69
|
+
mediump vec3 specularColor;
|
|
70
|
+
mediump vec3 emissiveColor;
|
|
71
|
+
mediump float shininess;
|
|
72
|
+
mediump float transparency;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
//uniform x3d_MaterialParameters x3d_Material;
|
|
76
|
+
|
|
77
|
+
struct x3d_MultiTextureParameters
|
|
78
|
+
{
|
|
79
|
+
mediump int mode;
|
|
80
|
+
mediump int alphaMode;
|
|
81
|
+
mediump int source;
|
|
82
|
+
mediump int function;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
//uniform x3d_MultiTextureParameters x3d_MultiTexture [x3d_MaxTextures];
|
|
86
|
+
|
|
87
|
+
struct x3d_TextureCoordinateGeneratorParameters
|
|
88
|
+
{
|
|
89
|
+
mediump int mode;
|
|
90
|
+
mediump float parameter [6];
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
//uniform x3d_TextureCoordinateGeneratorParameters x3d_TextureCoordinateGenerator [x3d_MaxTextures];
|
|
94
|
+
|
|
95
|
+
struct x3d_ParticleParameters
|
|
96
|
+
{
|
|
97
|
+
mediump int id;
|
|
98
|
+
mediump int life;
|
|
99
|
+
mediump float elapsedTime;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
//uniform x3d_ParticleParameters x3d_Particle;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
|
|
2
|
+
precision highp float;
|
|
3
|
+
precision highp int;
|
|
4
|
+
|
|
5
|
+
uniform mat4 x3d_ProjectionMatrix;
|
|
6
|
+
uniform mat4 x3d_ModelViewMatrix;
|
|
7
|
+
|
|
8
|
+
attribute vec4 x3d_Color;
|
|
9
|
+
attribute vec4 x3d_Vertex;
|
|
10
|
+
|
|
11
|
+
varying vec4 color; // color
|
|
12
|
+
varying vec3 vertex; // point on geometry
|
|
13
|
+
|
|
14
|
+
void
|
|
15
|
+
main ()
|
|
16
|
+
{
|
|
17
|
+
vec4 position = x3d_ModelViewMatrix * x3d_Vertex;
|
|
18
|
+
|
|
19
|
+
color = x3d_Color;
|
|
20
|
+
vertex = position .xyz;
|
|
21
|
+
gl_Position = x3d_ProjectionMatrix * position;
|
|
22
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
precision highp float;
|
|
3
|
+
precision highp int;
|
|
4
|
+
|
|
5
|
+
varying vec3 vertex; // point on geometry
|
|
6
|
+
|
|
7
|
+
#pragma X3D include "include/Pack.glsl"
|
|
8
|
+
#pragma X3D include "include/ClipPlanes.glsl"
|
|
9
|
+
|
|
10
|
+
void
|
|
11
|
+
main ()
|
|
12
|
+
{
|
|
13
|
+
clip ();
|
|
14
|
+
|
|
15
|
+
gl_FragColor = pack (gl_FragCoord .z);
|
|
16
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
precision highp float;
|
|
3
|
+
precision highp int;
|
|
4
|
+
|
|
5
|
+
uniform mat4 x3d_ProjectionMatrix;
|
|
6
|
+
uniform mat4 x3d_ModelViewMatrix;
|
|
7
|
+
|
|
8
|
+
attribute vec4 x3d_Vertex;
|
|
9
|
+
|
|
10
|
+
varying vec3 vertex; // point on geometry
|
|
11
|
+
|
|
12
|
+
void
|
|
13
|
+
main ()
|
|
14
|
+
{
|
|
15
|
+
vec4 position = x3d_ModelViewMatrix * x3d_Vertex;
|
|
16
|
+
|
|
17
|
+
vertex = position .xyz;
|
|
18
|
+
|
|
19
|
+
gl_Position = x3d_ProjectionMatrix * position;
|
|
20
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
precision highp float;
|
|
2
|
+
precision highp int;
|
|
3
|
+
|
|
4
|
+
uniform x3d_MaterialParameters x3d_Material;
|
|
5
|
+
|
|
6
|
+
uniform int x3d_NumTextures;
|
|
7
|
+
uniform sampler2D x3d_Texture2D [1];
|
|
8
|
+
|
|
9
|
+
varying vec3 vertex;
|
|
10
|
+
varying vec3 normal;
|
|
11
|
+
varying vec4 texCoord;
|
|
12
|
+
varying vec4 color;
|
|
13
|
+
|
|
14
|
+
void
|
|
15
|
+
main ()
|
|
16
|
+
{
|
|
17
|
+
vec4 textureColor = x3d_NumTextures > 0 ? texture2D (x3d_Texture2D [0], texCoord .st) : vec4 (1.0);
|
|
18
|
+
vec4 finalColor = vec4 (0.0);
|
|
19
|
+
|
|
20
|
+
vec3 N = normalize (gl_FrontFacing ? normal : -normal);
|
|
21
|
+
vec3 V = normalize (-vertex); // normalized vector from point on geometry to viewer's position
|
|
22
|
+
|
|
23
|
+
vec3 d = vec3 (0.0, 0.0, -1.0); // light direction
|
|
24
|
+
vec3 L = -d;
|
|
25
|
+
vec3 H = normalize (L + V); // specular term
|
|
26
|
+
|
|
27
|
+
vec3 diffuseColor = textureColor .rgb * color .rgb * x3d_Material .diffuseColor;
|
|
28
|
+
vec3 diffuseTerm = diffuseColor * max (dot (N, L), 0.0);
|
|
29
|
+
float specularFactor = bool (x3d_Material .shininess) ? pow (max (dot (N, H), 0.0), x3d_Material .shininess * 128.0) : 1.0;
|
|
30
|
+
vec3 specularTerm = x3d_Material .specularColor * specularFactor;
|
|
31
|
+
|
|
32
|
+
finalColor .rgb += diffuseTerm + specularTerm;
|
|
33
|
+
finalColor .rgb += x3d_Material .emissiveColor;
|
|
34
|
+
|
|
35
|
+
finalColor .a = textureColor .a * color .a * (1.0 - x3d_Material .transparency);
|
|
36
|
+
|
|
37
|
+
gl_FragColor = finalColor;
|
|
38
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
precision highp float;
|
|
2
|
+
precision highp int;
|
|
3
|
+
|
|
4
|
+
uniform mat4 x3d_ProjectionMatrix;
|
|
5
|
+
uniform mat4 x3d_ModelViewMatrix;
|
|
6
|
+
uniform mat3 x3d_NormalMatrix;
|
|
7
|
+
uniform mat4 x3d_TextureMatrix [1];
|
|
8
|
+
|
|
9
|
+
uniform bool x3d_ColorMaterial;
|
|
10
|
+
|
|
11
|
+
attribute vec4 x3d_Vertex;
|
|
12
|
+
attribute vec3 x3d_Normal;
|
|
13
|
+
attribute vec4 x3d_TexCoord0;
|
|
14
|
+
attribute vec4 x3d_Color;
|
|
15
|
+
|
|
16
|
+
varying vec3 vertex;
|
|
17
|
+
varying vec3 normal;
|
|
18
|
+
varying vec4 texCoord;
|
|
19
|
+
varying vec4 color;
|
|
20
|
+
|
|
21
|
+
void
|
|
22
|
+
main ()
|
|
23
|
+
{
|
|
24
|
+
vertex = vec3 (x3d_ModelViewMatrix * x3d_Vertex);
|
|
25
|
+
normal = normalize (x3d_NormalMatrix * x3d_Normal);
|
|
26
|
+
texCoord = x3d_TextureMatrix [0] * x3d_TexCoord0;
|
|
27
|
+
color = x3d_ColorMaterial ? x3d_Color : vec4 (1.0);
|
|
28
|
+
|
|
29
|
+
gl_Position = x3d_ProjectionMatrix * x3d_ModelViewMatrix * x3d_Vertex;
|
|
30
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
precision highp float;
|
|
2
|
+
precision highp int;
|
|
3
|
+
|
|
4
|
+
uniform x3d_MaterialParameters x3d_Material;
|
|
5
|
+
|
|
6
|
+
uniform int x3d_NumTextures;
|
|
7
|
+
uniform sampler2D x3d_Texture2D [1];
|
|
8
|
+
|
|
9
|
+
varying vec4 texCoord;
|
|
10
|
+
varying vec4 color;
|
|
11
|
+
|
|
12
|
+
void
|
|
13
|
+
main ()
|
|
14
|
+
{
|
|
15
|
+
vec4 finalColor = x3d_NumTextures > 0 ? texture2D (x3d_Texture2D [0], texCoord .st) : vec4 (1.0);
|
|
16
|
+
|
|
17
|
+
finalColor .rgb *= x3d_Material .emissiveColor;
|
|
18
|
+
finalColor .a *= color .a * (1.0 - x3d_Material .transparency);
|
|
19
|
+
|
|
20
|
+
gl_FragColor = finalColor;
|
|
21
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
precision highp float;
|
|
2
|
+
precision highp int;
|
|
3
|
+
|
|
4
|
+
uniform mat4 x3d_ProjectionMatrix;
|
|
5
|
+
uniform mat4 x3d_ModelViewMatrix;
|
|
6
|
+
uniform mat4 x3d_TextureMatrix [1];
|
|
7
|
+
|
|
8
|
+
uniform bool x3d_ColorMaterial;
|
|
9
|
+
|
|
10
|
+
attribute vec4 x3d_Vertex;
|
|
11
|
+
attribute vec4 x3d_TexCoord0;
|
|
12
|
+
attribute vec4 x3d_Color;
|
|
13
|
+
|
|
14
|
+
varying vec4 texCoord;
|
|
15
|
+
varying vec4 color;
|
|
16
|
+
|
|
17
|
+
void
|
|
18
|
+
main ()
|
|
19
|
+
{
|
|
20
|
+
texCoord = x3d_TextureMatrix [0] * x3d_TexCoord0;
|
|
21
|
+
color = x3d_ColorMaterial ? x3d_Color : vec4 (1.0);
|
|
22
|
+
|
|
23
|
+
gl_Position = x3d_ProjectionMatrix * x3d_ModelViewMatrix * x3d_Vertex;
|
|
24
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
|
|
2
|
+
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
3
|
+
#extension GL_EXT_frag_depth : enable
|
|
4
|
+
#endif
|
|
5
|
+
|
|
6
|
+
precision highp float;
|
|
7
|
+
precision highp int;
|
|
8
|
+
|
|
9
|
+
uniform int x3d_GeometryType;
|
|
10
|
+
|
|
11
|
+
uniform bool x3d_ColorMaterial; // true if a X3DColorNode is attached, otherwise false
|
|
12
|
+
uniform float x3d_AlphaCutoff;
|
|
13
|
+
|
|
14
|
+
varying float fogDepth; // fog depth
|
|
15
|
+
varying vec4 frontColor; // color
|
|
16
|
+
varying vec4 backColor; // color
|
|
17
|
+
varying vec3 normal; // normal vector at this point on geometry
|
|
18
|
+
varying vec3 vertex; // point on geometry
|
|
19
|
+
varying vec3 localNormal; // normal vector at this point on geometry in local coordinates
|
|
20
|
+
varying vec3 localVertex; // point on geometry in local coordinates
|
|
21
|
+
|
|
22
|
+
#if x3d_MaxTextures > 0
|
|
23
|
+
varying vec4 texCoord0; // texCoord0
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
#if x3d_MaxTextures > 1
|
|
27
|
+
varying vec4 texCoord1; // texCoord1
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
31
|
+
uniform float x3d_LogarithmicFarFactor1_2;
|
|
32
|
+
varying float depth;
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
#pragma X3D include "include/Texture.glsl"
|
|
36
|
+
#pragma X3D include "include/Hatch.glsl"
|
|
37
|
+
#pragma X3D include "include/Fog.glsl"
|
|
38
|
+
#pragma X3D include "include/ClipPlanes.glsl"
|
|
39
|
+
|
|
40
|
+
void
|
|
41
|
+
main ()
|
|
42
|
+
{
|
|
43
|
+
clip ();
|
|
44
|
+
|
|
45
|
+
vec4 finalColor = gl_FrontFacing ? frontColor : backColor;
|
|
46
|
+
|
|
47
|
+
finalColor = getTextureColor (finalColor, vec4 (1.0));
|
|
48
|
+
finalColor = getProjectiveTextureColor (finalColor);
|
|
49
|
+
finalColor = getHatchColor (finalColor);
|
|
50
|
+
finalColor .rgb = getFogColor (finalColor .rgb);
|
|
51
|
+
|
|
52
|
+
if (finalColor .a < x3d_AlphaCutoff)
|
|
53
|
+
{
|
|
54
|
+
discard;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
gl_FragColor = finalColor;
|
|
58
|
+
|
|
59
|
+
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
60
|
+
//http://outerra.blogspot.com/2013/07/logarithmic-depth-buffer-optimizations.html
|
|
61
|
+
if (x3d_LogarithmicFarFactor1_2 > 0.0)
|
|
62
|
+
gl_FragDepthEXT = log2 (depth) * x3d_LogarithmicFarFactor1_2;
|
|
63
|
+
else
|
|
64
|
+
gl_FragDepthEXT = gl_FragCoord .z;
|
|
65
|
+
#endif
|
|
66
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
|
|
2
|
+
precision highp float;
|
|
3
|
+
precision highp int;
|
|
4
|
+
|
|
5
|
+
uniform mat4 x3d_TextureMatrix [x3d_MaxTextures];
|
|
6
|
+
uniform mat3 x3d_NormalMatrix;
|
|
7
|
+
uniform mat4 x3d_ProjectionMatrix;
|
|
8
|
+
uniform mat4 x3d_ModelViewMatrix;
|
|
9
|
+
|
|
10
|
+
uniform bool x3d_ColorMaterial; // true if a X3DColorNode is attached, otherwise false
|
|
11
|
+
|
|
12
|
+
uniform int x3d_NumLights;
|
|
13
|
+
uniform x3d_LightSourceParameters x3d_LightSource [x3d_MaxLights];
|
|
14
|
+
uniform x3d_MaterialParameters x3d_Material;
|
|
15
|
+
|
|
16
|
+
attribute float x3d_FogDepth;
|
|
17
|
+
attribute vec4 x3d_Color;
|
|
18
|
+
attribute vec3 x3d_Normal;
|
|
19
|
+
attribute vec4 x3d_Vertex;
|
|
20
|
+
|
|
21
|
+
#if x3d_MaxTextures > 0
|
|
22
|
+
attribute vec4 x3d_TexCoord0;
|
|
23
|
+
#endif
|
|
24
|
+
|
|
25
|
+
#if x3d_MaxTextures > 1
|
|
26
|
+
attribute vec4 x3d_TexCoord1;
|
|
27
|
+
#endif
|
|
28
|
+
|
|
29
|
+
varying float fogDepth; // fog depth
|
|
30
|
+
varying vec4 frontColor; // color
|
|
31
|
+
varying vec4 backColor; // color
|
|
32
|
+
varying vec3 normal; // normal vector at this point on geometry
|
|
33
|
+
varying vec3 vertex; // point on geometry
|
|
34
|
+
varying vec3 localNormal; // normal vector at this point on geometry in local coordinates
|
|
35
|
+
varying vec3 localVertex; // point on geometry in local coordinates
|
|
36
|
+
|
|
37
|
+
#if x3d_MaxTextures > 0
|
|
38
|
+
varying vec4 texCoord0; // texCoord0
|
|
39
|
+
#endif
|
|
40
|
+
|
|
41
|
+
#if x3d_MaxTextures > 1
|
|
42
|
+
varying vec4 texCoord1; // texCoord1
|
|
43
|
+
#endif
|
|
44
|
+
|
|
45
|
+
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
46
|
+
varying float depth;
|
|
47
|
+
#endif
|
|
48
|
+
|
|
49
|
+
float
|
|
50
|
+
getSpotFactor (const in float cutOffAngle, const in float beamWidth, const in vec3 L, const in vec3 d)
|
|
51
|
+
{
|
|
52
|
+
float spotAngle = acos (clamp (dot (-L, d), -1.0, 1.0));
|
|
53
|
+
|
|
54
|
+
if (spotAngle >= cutOffAngle)
|
|
55
|
+
return 0.0;
|
|
56
|
+
else if (spotAngle <= beamWidth)
|
|
57
|
+
return 1.0;
|
|
58
|
+
|
|
59
|
+
return (spotAngle - cutOffAngle) / (beamWidth - cutOffAngle);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
vec4
|
|
63
|
+
getMaterialColor (const in vec3 N,
|
|
64
|
+
const in vec3 vertex,
|
|
65
|
+
const in x3d_MaterialParameters material)
|
|
66
|
+
{
|
|
67
|
+
vec3 V = normalize (-vertex); // normalized vector from point on geometry to viewer's position
|
|
68
|
+
|
|
69
|
+
// Calculate diffuseFactor & alpha
|
|
70
|
+
|
|
71
|
+
vec3 diffuseFactor = x3d_ColorMaterial ? x3d_Color .rgb : material .diffuseColor;
|
|
72
|
+
float alpha = (1.0 - material .transparency) * (x3d_ColorMaterial ? x3d_Color .a : 1.0);
|
|
73
|
+
|
|
74
|
+
// Ambient intensity
|
|
75
|
+
|
|
76
|
+
vec3 ambientTerm = diffuseFactor * material .ambientIntensity;
|
|
77
|
+
|
|
78
|
+
// Apply light sources
|
|
79
|
+
|
|
80
|
+
vec3 finalColor = vec3 (0.0);
|
|
81
|
+
|
|
82
|
+
for (int i = 0; i < x3d_MaxLights; ++ i)
|
|
83
|
+
{
|
|
84
|
+
if (i == x3d_NumLights)
|
|
85
|
+
break;
|
|
86
|
+
|
|
87
|
+
x3d_LightSourceParameters light = x3d_LightSource [i];
|
|
88
|
+
|
|
89
|
+
vec3 vL = light .location - vertex;
|
|
90
|
+
float dL = length (light .matrix * vL);
|
|
91
|
+
bool di = light .type == x3d_DirectionalLight;
|
|
92
|
+
|
|
93
|
+
if (di || dL <= light .radius)
|
|
94
|
+
{
|
|
95
|
+
vec3 d = light .direction;
|
|
96
|
+
vec3 c = light .attenuation;
|
|
97
|
+
vec3 L = di ? -d : normalize (vL); // Normalized vector from point on geometry to light source i position.
|
|
98
|
+
vec3 H = normalize (L + V); // Specular term
|
|
99
|
+
|
|
100
|
+
float lightAngle = max (dot (N, L), 0.0); // Angle between normal and light ray.
|
|
101
|
+
vec3 diffuseTerm = diffuseFactor * lightAngle;
|
|
102
|
+
float specularFactor = material .shininess > 0.0 ? pow (max (dot (N, H), 0.0), material .shininess * 128.0) : 1.0;
|
|
103
|
+
vec3 specularTerm = material .specularColor * specularFactor;
|
|
104
|
+
|
|
105
|
+
float attenuationFactor = di ? 1.0 : 1.0 / max (c [0] + c [1] * dL + c [2] * (dL * dL), 1.0);
|
|
106
|
+
float spotFactor = light .type == x3d_SpotLight ? getSpotFactor (light .cutOffAngle, light .beamWidth, L, d) : 1.0;
|
|
107
|
+
float attenuationSpotFactor = attenuationFactor * spotFactor;
|
|
108
|
+
vec3 ambientColor = light .ambientIntensity * ambientTerm;
|
|
109
|
+
vec3 diffuseSpecularColor = light .intensity * (diffuseTerm + specularTerm);
|
|
110
|
+
|
|
111
|
+
finalColor += attenuationSpotFactor * light .color * (ambientColor + diffuseSpecularColor);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
finalColor += material .emissiveColor;
|
|
116
|
+
|
|
117
|
+
return vec4 (clamp (finalColor, 0.0, 1.0), alpha);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
void
|
|
121
|
+
main ()
|
|
122
|
+
{
|
|
123
|
+
vec4 position = x3d_ModelViewMatrix * x3d_Vertex;
|
|
124
|
+
|
|
125
|
+
fogDepth = x3d_FogDepth;
|
|
126
|
+
vertex = position .xyz;
|
|
127
|
+
normal = normalize (x3d_NormalMatrix * x3d_Normal);
|
|
128
|
+
localNormal = x3d_Normal;
|
|
129
|
+
localVertex = x3d_Vertex .xyz;
|
|
130
|
+
|
|
131
|
+
#if x3d_MaxTextures > 0
|
|
132
|
+
texCoord0 = x3d_TextureMatrix [0] * x3d_TexCoord0;
|
|
133
|
+
#endif
|
|
134
|
+
|
|
135
|
+
#if x3d_MaxTextures > 1
|
|
136
|
+
texCoord1 = x3d_TextureMatrix [1] * x3d_TexCoord1;
|
|
137
|
+
#endif
|
|
138
|
+
|
|
139
|
+
gl_Position = x3d_ProjectionMatrix * position;
|
|
140
|
+
|
|
141
|
+
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
142
|
+
depth = 1.0 + gl_Position .w;
|
|
143
|
+
#endif
|
|
144
|
+
|
|
145
|
+
frontColor = getMaterialColor ( normal, vertex, x3d_Material);
|
|
146
|
+
backColor = getMaterialColor (-normal, vertex, x3d_Material);
|
|
147
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
|
|
2
|
+
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
3
|
+
#extension GL_EXT_frag_depth : enable
|
|
4
|
+
#endif
|
|
5
|
+
|
|
6
|
+
precision highp float;
|
|
7
|
+
precision highp int;
|
|
8
|
+
|
|
9
|
+
uniform int x3d_GeometryType;
|
|
10
|
+
uniform bool x3d_ColorMaterial; // true if a X3DColorNode is attached, otherwise false
|
|
11
|
+
uniform float x3d_AlphaCutoff;
|
|
12
|
+
|
|
13
|
+
uniform int x3d_NumLights;
|
|
14
|
+
uniform x3d_LightSourceParameters x3d_LightSource [x3d_MaxLights];
|
|
15
|
+
uniform x3d_MaterialParameters x3d_Material;
|
|
16
|
+
|
|
17
|
+
varying float fogDepth; // fog depth
|
|
18
|
+
varying vec4 color; // color
|
|
19
|
+
varying vec3 normal; // normal vector at this point on geometry
|
|
20
|
+
varying vec3 vertex; // point on geometry
|
|
21
|
+
varying vec3 localNormal; // normal vector at this point on geometry in local coordinates
|
|
22
|
+
varying vec3 localVertex; // point on geometry in local coordinates
|
|
23
|
+
|
|
24
|
+
#if x3d_MaxTextures > 0
|
|
25
|
+
varying vec4 texCoord0; // texCoord0
|
|
26
|
+
#endif
|
|
27
|
+
|
|
28
|
+
#if x3d_MaxTextures > 1
|
|
29
|
+
varying vec4 texCoord1; // texCoord1
|
|
30
|
+
#endif
|
|
31
|
+
|
|
32
|
+
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
33
|
+
uniform float x3d_LogarithmicFarFactor1_2;
|
|
34
|
+
varying float depth;
|
|
35
|
+
#endif
|
|
36
|
+
|
|
37
|
+
#pragma X3D include "include/Shadow.glsl"
|
|
38
|
+
#pragma X3D include "include/Texture.glsl"
|
|
39
|
+
#pragma X3D include "include/Hatch.glsl"
|
|
40
|
+
#pragma X3D include "include/Fog.glsl"
|
|
41
|
+
#pragma X3D include "include/ClipPlanes.glsl"
|
|
42
|
+
|
|
43
|
+
float
|
|
44
|
+
getSpotFactor (const in float cutOffAngle, const in float beamWidth, const in vec3 L, const in vec3 d)
|
|
45
|
+
{
|
|
46
|
+
float spotAngle = acos (clamp (dot (-L, d), -1.0, 1.0));
|
|
47
|
+
|
|
48
|
+
if (spotAngle >= cutOffAngle)
|
|
49
|
+
return 0.0;
|
|
50
|
+
else if (spotAngle <= beamWidth)
|
|
51
|
+
return 1.0;
|
|
52
|
+
|
|
53
|
+
return (spotAngle - cutOffAngle) / (beamWidth - cutOffAngle);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
vec4
|
|
57
|
+
getMaterialColor ()
|
|
58
|
+
{
|
|
59
|
+
vec3 N = normalize (gl_FrontFacing ? normal : -normal);
|
|
60
|
+
vec3 V = normalize (-vertex); // normalized vector from point on geometry to viewer's position
|
|
61
|
+
float dV = length (vertex);
|
|
62
|
+
|
|
63
|
+
// Calculate diffuseFactor & alpha
|
|
64
|
+
|
|
65
|
+
vec3 diffuseFactor = vec3 (1.0);
|
|
66
|
+
float alpha = 1.0 - x3d_Material .transparency;
|
|
67
|
+
|
|
68
|
+
// Texture
|
|
69
|
+
|
|
70
|
+
vec4 D = x3d_ColorMaterial ? vec4 (color .rgb, color .a * alpha) : vec4 (x3d_Material .diffuseColor, alpha);
|
|
71
|
+
vec4 T = getTextureColor (D, vec4 (x3d_Material .specularColor, alpha));
|
|
72
|
+
|
|
73
|
+
diffuseFactor = T .rgb;
|
|
74
|
+
alpha = T .a;
|
|
75
|
+
|
|
76
|
+
// Projective texture
|
|
77
|
+
|
|
78
|
+
vec4 P = getProjectiveTextureColor (vec4 (1.0));
|
|
79
|
+
|
|
80
|
+
diffuseFactor *= P .rgb;
|
|
81
|
+
alpha *= P .a;
|
|
82
|
+
|
|
83
|
+
// Ambient intensity
|
|
84
|
+
|
|
85
|
+
vec3 ambientTerm = diffuseFactor * x3d_Material .ambientIntensity;
|
|
86
|
+
|
|
87
|
+
// Apply light sources
|
|
88
|
+
|
|
89
|
+
vec3 finalColor = vec3 (0.0);
|
|
90
|
+
|
|
91
|
+
for (int i = 0; i < x3d_MaxLights; i ++)
|
|
92
|
+
{
|
|
93
|
+
if (i == x3d_NumLights)
|
|
94
|
+
break;
|
|
95
|
+
|
|
96
|
+
x3d_LightSourceParameters light = x3d_LightSource [i];
|
|
97
|
+
|
|
98
|
+
vec3 vL = light .location - vertex; // Light to fragment
|
|
99
|
+
float dL = length (light .matrix * vL);
|
|
100
|
+
bool di = light .type == x3d_DirectionalLight;
|
|
101
|
+
|
|
102
|
+
if (di || dL <= light .radius)
|
|
103
|
+
{
|
|
104
|
+
vec3 d = light .direction;
|
|
105
|
+
vec3 c = light .attenuation;
|
|
106
|
+
vec3 L = di ? -d : normalize (vL); // Normalized vector from point on geometry to light source i position.
|
|
107
|
+
vec3 H = normalize (L + V); // Specular term
|
|
108
|
+
|
|
109
|
+
float lightAngle = max (dot (N, L), 0.0); // Angle between normal and light ray.
|
|
110
|
+
vec3 diffuseTerm = diffuseFactor * lightAngle;
|
|
111
|
+
float specularFactor = x3d_Material .shininess > 0.0 ? pow (max (dot (N, H), 0.0), x3d_Material .shininess * 128.0) : 1.0;
|
|
112
|
+
vec3 specularTerm = x3d_Material .specularColor * specularFactor;
|
|
113
|
+
|
|
114
|
+
float attenuationFactor = di ? 1.0 : 1.0 / max (c [0] + c [1] * dL + c [2] * (dL * dL), 1.0);
|
|
115
|
+
float spotFactor = light .type == x3d_SpotLight ? getSpotFactor (light .cutOffAngle, light .beamWidth, L, d) : 1.0;
|
|
116
|
+
float attenuationSpotFactor = attenuationFactor * spotFactor;
|
|
117
|
+
vec3 ambientColor = light .ambientIntensity * ambientTerm;
|
|
118
|
+
vec3 diffuseSpecularColor = light .intensity * (diffuseTerm + specularTerm);
|
|
119
|
+
|
|
120
|
+
#ifdef X3D_SHADOWS
|
|
121
|
+
if (lightAngle > 0.0)
|
|
122
|
+
diffuseSpecularColor = mix (diffuseSpecularColor, light .shadowColor, getShadowIntensity (i, light));
|
|
123
|
+
#endif
|
|
124
|
+
|
|
125
|
+
finalColor += attenuationSpotFactor * light .color * (ambientColor + diffuseSpecularColor);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
finalColor += x3d_Material .emissiveColor;
|
|
130
|
+
|
|
131
|
+
return vec4 (finalColor, alpha);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// DEBUG
|
|
135
|
+
//uniform ivec4 x3d_Viewport;
|
|
136
|
+
|
|
137
|
+
void
|
|
138
|
+
main ()
|
|
139
|
+
{
|
|
140
|
+
clip ();
|
|
141
|
+
|
|
142
|
+
vec4 finalColor = vec4 (0.0);
|
|
143
|
+
|
|
144
|
+
finalColor = getMaterialColor ();
|
|
145
|
+
finalColor = getHatchColor (finalColor);
|
|
146
|
+
finalColor .rgb = getFogColor (finalColor .rgb);
|
|
147
|
+
|
|
148
|
+
if (finalColor .a < x3d_AlphaCutoff)
|
|
149
|
+
{
|
|
150
|
+
discard;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
gl_FragColor = finalColor;
|
|
154
|
+
|
|
155
|
+
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
156
|
+
//http://outerra.blogspot.com/2013/07/logarithmic-depth-buffer-optimizations.html
|
|
157
|
+
if (x3d_LogarithmicFarFactor1_2 > 0.0)
|
|
158
|
+
gl_FragDepthEXT = log2 (depth) * x3d_LogarithmicFarFactor1_2;
|
|
159
|
+
else
|
|
160
|
+
gl_FragDepthEXT = gl_FragCoord .z;
|
|
161
|
+
#endif
|
|
162
|
+
|
|
163
|
+
// DEBUG
|
|
164
|
+
#ifdef X3D_SHADOWS
|
|
165
|
+
//gl_FragColor .rgb = texture2D (x3d_ShadowMap [0], gl_FragCoord .xy / vec2 (x3d_Viewport .zw)) .rgb;
|
|
166
|
+
//gl_FragColor .rgb = mix (tex .rgb, gl_FragColor .rgb, 0.5);
|
|
167
|
+
#endif
|
|
168
|
+
|
|
169
|
+
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
170
|
+
//gl_FragColor .rgb = mix (vec3 (1.0, 0.0, 0.0), gl_FragColor .rgb, 0.5);
|
|
171
|
+
#endif
|
|
172
|
+
}
|