cesium 0.13.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.
- data/LICENSE.md +259 -0
- data/README.rdoc +90 -0
- data/Rakefile +40 -0
- data/app/assets/javascripts/Assets/Assets.profile.js +8 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_0.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_1.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_10.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_11.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_12.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_13.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_14.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_15.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_16.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_17.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_18.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_19.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_2.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_20.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_21.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_22.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_23.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_24.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_25.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_26.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_27.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_3.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_4.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_5.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_6.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_7.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_8.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_9.json +1 -0
- data/app/assets/javascripts/Assets/Textures/NE2_LR_LC_SR_W_DR_2048.jpg +0 -0
- data/app/assets/javascripts/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
- data/app/assets/javascripts/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
- data/app/assets/javascripts/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
- data/app/assets/javascripts/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
- data/app/assets/javascripts/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
- data/app/assets/javascripts/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
- data/app/assets/javascripts/Assets/Textures/waterNormals.jpg +0 -0
- data/app/assets/javascripts/Assets/package.json +6 -0
- data/app/assets/javascripts/Cesium.js +320 -0
- data/app/assets/javascripts/Core/AnimationController.js +148 -0
- data/app/assets/javascripts/Core/AxisAlignedBoundingBox.js +243 -0
- data/app/assets/javascripts/Core/BoundingRectangle.js +364 -0
- data/app/assets/javascripts/Core/BoundingSphere.js +819 -0
- data/app/assets/javascripts/Core/BoxTessellator.js +93 -0
- data/app/assets/javascripts/Core/Cartesian2.js +762 -0
- data/app/assets/javascripts/Core/Cartesian3.js +861 -0
- data/app/assets/javascripts/Core/Cartesian4.js +762 -0
- data/app/assets/javascripts/Core/Cartographic.js +211 -0
- data/app/assets/javascripts/Core/CatmullRomSpline.js +232 -0
- data/app/assets/javascripts/Core/Clock.js +195 -0
- data/app/assets/javascripts/Core/ClockRange.js +37 -0
- data/app/assets/javascripts/Core/ClockStep.js +32 -0
- data/app/assets/javascripts/Core/Color.js +1629 -0
- data/app/assets/javascripts/Core/ComponentDatatype.js +119 -0
- data/app/assets/javascripts/Core/Core.profile.js +8 -0
- data/app/assets/javascripts/Core/CubeMapEllipsoidTessellator.js +198 -0
- data/app/assets/javascripts/Core/CubicRealPolynomial.js +251 -0
- data/app/assets/javascripts/Core/DefaultProxy.js +30 -0
- data/app/assets/javascripts/Core/DeveloperError.js +60 -0
- data/app/assets/javascripts/Core/EarthOrientationParameters.js +383 -0
- data/app/assets/javascripts/Core/EarthOrientationParametersSample.js +50 -0
- data/app/assets/javascripts/Core/Ellipsoid.js +539 -0
- data/app/assets/javascripts/Core/EllipsoidTangentPlane.js +207 -0
- data/app/assets/javascripts/Core/EllipsoidalOccluder.js +151 -0
- data/app/assets/javascripts/Core/EncodedCartesian3.js +197 -0
- data/app/assets/javascripts/Core/Enumeration.js +67 -0
- data/app/assets/javascripts/Core/Event.js +122 -0
- data/app/assets/javascripts/Core/Extent.js +383 -0
- data/app/assets/javascripts/Core/ExtentTessellator.js +384 -0
- data/app/assets/javascripts/Core/FAR.js +13 -0
- data/app/assets/javascripts/Core/FeatureDetection.js +126 -0
- data/app/assets/javascripts/Core/Fullscreen.js +235 -0
- data/app/assets/javascripts/Core/GeographicProjection.js +107 -0
- data/app/assets/javascripts/Core/HermitePolynomialApproximation.js +176 -0
- data/app/assets/javascripts/Core/HermiteSpline.js +234 -0
- data/app/assets/javascripts/Core/Iau2006XysData.js +259 -0
- data/app/assets/javascripts/Core/Iau2006XysSample.js +36 -0
- data/app/assets/javascripts/Core/IndexDatatype.js +28 -0
- data/app/assets/javascripts/Core/Intersect.js +40 -0
- data/app/assets/javascripts/Core/IntersectionTests.js +359 -0
- data/app/assets/javascripts/Core/Interval.js +27 -0
- data/app/assets/javascripts/Core/Iso8601.js +46 -0
- data/app/assets/javascripts/Core/JulianDate.js +1228 -0
- data/app/assets/javascripts/Core/KeyboardEventModifier.js +38 -0
- data/app/assets/javascripts/Core/LagrangePolynomialApproximation.js +96 -0
- data/app/assets/javascripts/Core/LeapSecond.js +158 -0
- data/app/assets/javascripts/Core/LinearApproximation.js +98 -0
- data/app/assets/javascripts/Core/Math.js +532 -0
- data/app/assets/javascripts/Core/Matrix2.js +833 -0
- data/app/assets/javascripts/Core/Matrix3.js +1099 -0
- data/app/assets/javascripts/Core/Matrix4.js +2164 -0
- data/app/assets/javascripts/Core/MeshFilters.js +568 -0
- data/app/assets/javascripts/Core/Occluder.js +474 -0
- data/app/assets/javascripts/Core/OrientationInterpolator.js +109 -0
- data/app/assets/javascripts/Core/PlaneTessellator.js +74 -0
- data/app/assets/javascripts/Core/PolygonPipeline.js +792 -0
- data/app/assets/javascripts/Core/PolylinePipeline.js +90 -0
- data/app/assets/javascripts/Core/PrimitiveType.js +80 -0
- data/app/assets/javascripts/Core/QuadraticRealPolynomial.js +146 -0
- data/app/assets/javascripts/Core/QuarticRealPolynomial.js +339 -0
- data/app/assets/javascripts/Core/Quaternion.js +947 -0
- data/app/assets/javascripts/Core/Queue.js +95 -0
- data/app/assets/javascripts/Core/Ray.js +64 -0
- data/app/assets/javascripts/Core/ReferenceFrame.js +25 -0
- data/app/assets/javascripts/Core/RequestErrorEvent.js +35 -0
- data/app/assets/javascripts/Core/RuntimeError.js +59 -0
- data/app/assets/javascripts/Core/ScreenSpaceEventHandler.js +658 -0
- data/app/assets/javascripts/Core/ScreenSpaceEventType.js +149 -0
- data/app/assets/javascripts/Core/Shapes.js +230 -0
- data/app/assets/javascripts/Core/Spherical.js +192 -0
- data/app/assets/javascripts/Core/TaskProcessor.js +131 -0
- data/app/assets/javascripts/Core/TimeConstants.js +85 -0
- data/app/assets/javascripts/Core/TimeInterval.js +305 -0
- data/app/assets/javascripts/Core/TimeIntervalCollection.js +543 -0
- data/app/assets/javascripts/Core/TimeStandard.js +31 -0
- data/app/assets/javascripts/Core/Tipsify.js +285 -0
- data/app/assets/javascripts/Core/Transforms.js +614 -0
- data/app/assets/javascripts/Core/TridiagonalSystemSolver.js +102 -0
- data/app/assets/javascripts/Core/Visibility.js +38 -0
- data/app/assets/javascripts/Core/WebMercatorProjection.js +154 -0
- data/app/assets/javascripts/Core/WindingOrder.js +40 -0
- data/app/assets/javascripts/Core/binarySearch.js +69 -0
- data/app/assets/javascripts/Core/buildModuleUrl.js +77 -0
- data/app/assets/javascripts/Core/clone.js +21 -0
- data/app/assets/javascripts/Core/combine.js +81 -0
- data/app/assets/javascripts/Core/computeSunPosition.js +116 -0
- data/app/assets/javascripts/Core/createGuid.js +25 -0
- data/app/assets/javascripts/Core/defaultValue.js +22 -0
- data/app/assets/javascripts/Core/destroyObject.js +61 -0
- data/app/assets/javascripts/Core/freezeObject.js +20 -0
- data/app/assets/javascripts/Core/getImagePixels.js +46 -0
- data/app/assets/javascripts/Core/isLeapYear.js +30 -0
- data/app/assets/javascripts/Core/jsonp.js +116 -0
- data/app/assets/javascripts/Core/loadArrayBuffer.js +76 -0
- data/app/assets/javascripts/Core/loadImage.js +85 -0
- data/app/assets/javascripts/Core/loadJson.js +54 -0
- data/app/assets/javascripts/Core/loadText.js +78 -0
- data/app/assets/javascripts/Core/loadXML.js +76 -0
- data/app/assets/javascripts/Core/package.json +6 -0
- data/app/assets/javascripts/Core/pointInsideTriangle2D.js +41 -0
- data/app/assets/javascripts/Core/requestAnimationFrame.js +61 -0
- data/app/assets/javascripts/Core/throttleRequestByServer.js +74 -0
- data/app/assets/javascripts/Core/writeTextToCanvas.js +92 -0
- data/app/assets/javascripts/DynamicScene/CompositeDynamicObjectCollection.js +254 -0
- data/app/assets/javascripts/DynamicScene/CzmlBoolean.js +57 -0
- data/app/assets/javascripts/DynamicScene/CzmlCartesian2.js +96 -0
- data/app/assets/javascripts/DynamicScene/CzmlCartesian3.js +99 -0
- data/app/assets/javascripts/DynamicScene/CzmlCartographic.js +125 -0
- data/app/assets/javascripts/DynamicScene/CzmlColor.js +127 -0
- data/app/assets/javascripts/DynamicScene/CzmlDefaults.js +135 -0
- data/app/assets/javascripts/DynamicScene/CzmlHorizontalOrigin.js +59 -0
- data/app/assets/javascripts/DynamicScene/CzmlImage.js +61 -0
- data/app/assets/javascripts/DynamicScene/CzmlLabelStyle.js +59 -0
- data/app/assets/javascripts/DynamicScene/CzmlNumber.js +82 -0
- data/app/assets/javascripts/DynamicScene/CzmlString.js +56 -0
- data/app/assets/javascripts/DynamicScene/CzmlUnitCartesian3.js +99 -0
- data/app/assets/javascripts/DynamicScene/CzmlUnitQuaternion.js +172 -0
- data/app/assets/javascripts/DynamicScene/CzmlUnitSpherical.js +98 -0
- data/app/assets/javascripts/DynamicScene/CzmlVerticalOrigin.js +59 -0
- data/app/assets/javascripts/DynamicScene/DynamicBillboard.js +245 -0
- data/app/assets/javascripts/DynamicScene/DynamicBillboardVisualizer.js +347 -0
- data/app/assets/javascripts/DynamicScene/DynamicColorMaterial.js +78 -0
- data/app/assets/javascripts/DynamicScene/DynamicCone.js +291 -0
- data/app/assets/javascripts/DynamicScene/DynamicConeVisualizer.js +350 -0
- data/app/assets/javascripts/DynamicScene/DynamicConeVisualizerUsingCustomSensor.js +389 -0
- data/app/assets/javascripts/DynamicScene/DynamicDirectionsProperty.js +163 -0
- data/app/assets/javascripts/DynamicScene/DynamicEllipsoid.js +158 -0
- data/app/assets/javascripts/DynamicScene/DynamicEllipsoidVisualizer.js +277 -0
- data/app/assets/javascripts/DynamicScene/DynamicImageMaterial.js +136 -0
- data/app/assets/javascripts/DynamicScene/DynamicLabel.js +286 -0
- data/app/assets/javascripts/DynamicScene/DynamicLabelVisualizer.js +341 -0
- data/app/assets/javascripts/DynamicScene/DynamicMaterialProperty.js +125 -0
- data/app/assets/javascripts/DynamicScene/DynamicObject.js +364 -0
- data/app/assets/javascripts/DynamicScene/DynamicObjectCollection.js +137 -0
- data/app/assets/javascripts/DynamicScene/DynamicObjectView.js +299 -0
- data/app/assets/javascripts/DynamicScene/DynamicPath.js +214 -0
- data/app/assets/javascripts/DynamicScene/DynamicPathVisualizer.js +402 -0
- data/app/assets/javascripts/DynamicScene/DynamicPoint.js +184 -0
- data/app/assets/javascripts/DynamicScene/DynamicPointVisualizer.js +323 -0
- data/app/assets/javascripts/DynamicScene/DynamicPolygon.js +138 -0
- data/app/assets/javascripts/DynamicScene/DynamicPolygonVisualizer.js +251 -0
- data/app/assets/javascripts/DynamicScene/DynamicPolyline.js +183 -0
- data/app/assets/javascripts/DynamicScene/DynamicPolylineVisualizer.js +268 -0
- data/app/assets/javascripts/DynamicScene/DynamicPositionProperty.js +525 -0
- data/app/assets/javascripts/DynamicScene/DynamicProperty.js +352 -0
- data/app/assets/javascripts/DynamicScene/DynamicPyramid.js +204 -0
- data/app/assets/javascripts/DynamicScene/DynamicPyramidVisualizer.js +302 -0
- data/app/assets/javascripts/DynamicScene/DynamicScene.profile.js +8 -0
- data/app/assets/javascripts/DynamicScene/DynamicVertexPositionsProperty.js +199 -0
- data/app/assets/javascripts/DynamicScene/ReferenceProperty.js +155 -0
- data/app/assets/javascripts/DynamicScene/VisualizerCollection.js +181 -0
- data/app/assets/javascripts/DynamicScene/package.json +6 -0
- data/app/assets/javascripts/DynamicScene/processCzml.js +77 -0
- data/app/assets/javascripts/Renderer/BlendEquation.js +52 -0
- data/app/assets/javascripts/Renderer/BlendFunction.js +158 -0
- data/app/assets/javascripts/Renderer/BlendingState.js +64 -0
- data/app/assets/javascripts/Renderer/Buffer.js +141 -0
- data/app/assets/javascripts/Renderer/BufferUsage.js +48 -0
- data/app/assets/javascripts/Renderer/ClearCommand.js +40 -0
- data/app/assets/javascripts/Renderer/CommandLists.js +42 -0
- data/app/assets/javascripts/Renderer/Context.js +2805 -0
- data/app/assets/javascripts/Renderer/CubeMap.js +358 -0
- data/app/assets/javascripts/Renderer/CubeMapFace.js +202 -0
- data/app/assets/javascripts/Renderer/CullFace.js +50 -0
- data/app/assets/javascripts/Renderer/DepthFunction.js +95 -0
- data/app/assets/javascripts/Renderer/DrawCommand.js +96 -0
- data/app/assets/javascripts/Renderer/Framebuffer.js +435 -0
- data/app/assets/javascripts/Renderer/MipmapHint.js +50 -0
- data/app/assets/javascripts/Renderer/PickFramebuffer.js +178 -0
- data/app/assets/javascripts/Renderer/PixelDatatype.js +86 -0
- data/app/assets/javascripts/Renderer/PixelFormat.js +113 -0
- data/app/assets/javascripts/Renderer/Renderbuffer.js +102 -0
- data/app/assets/javascripts/Renderer/RenderbufferFormat.js +77 -0
- data/app/assets/javascripts/Renderer/Renderer.profile.js +8 -0
- data/app/assets/javascripts/Renderer/ShaderCache.js +121 -0
- data/app/assets/javascripts/Renderer/ShaderProgram.js +2402 -0
- data/app/assets/javascripts/Renderer/StencilFunction.js +95 -0
- data/app/assets/javascripts/Renderer/StencilOperation.js +95 -0
- data/app/assets/javascripts/Renderer/Texture.js +395 -0
- data/app/assets/javascripts/Renderer/TextureAtlas.js +472 -0
- data/app/assets/javascripts/Renderer/TextureAtlasBuilder.js +133 -0
- data/app/assets/javascripts/Renderer/TextureMagnificationFilter.js +41 -0
- data/app/assets/javascripts/Renderer/TextureMinificationFilter.js +77 -0
- data/app/assets/javascripts/Renderer/TextureWrap.js +50 -0
- data/app/assets/javascripts/Renderer/UniformDatatype.js +218 -0
- data/app/assets/javascripts/Renderer/UniformState.js +799 -0
- data/app/assets/javascripts/Renderer/VertexArray.js +365 -0
- data/app/assets/javascripts/Renderer/VertexArrayFacade.js +574 -0
- data/app/assets/javascripts/Renderer/VertexLayout.js +49 -0
- data/app/assets/javascripts/Renderer/loadCubeMap.js +92 -0
- data/app/assets/javascripts/Renderer/package.json +6 -0
- data/app/assets/javascripts/Scene/AnimationCollection.js +249 -0
- data/app/assets/javascripts/Scene/ArcGisMapServerImageryProvider.js +384 -0
- data/app/assets/javascripts/Scene/Billboard.js +680 -0
- data/app/assets/javascripts/Scene/BillboardCollection.js +1209 -0
- data/app/assets/javascripts/Scene/BingMapsImageryProvider.js +460 -0
- data/app/assets/javascripts/Scene/BingMapsStyle.js +55 -0
- data/app/assets/javascripts/Scene/Camera.js +358 -0
- data/app/assets/javascripts/Scene/CameraColumbusViewMode.js +30 -0
- data/app/assets/javascripts/Scene/CameraController.js +1258 -0
- data/app/assets/javascripts/Scene/CameraEventAggregator.js +270 -0
- data/app/assets/javascripts/Scene/CameraEventType.js +53 -0
- data/app/assets/javascripts/Scene/CameraFlightPath.js +495 -0
- data/app/assets/javascripts/Scene/CentralBody.js +817 -0
- data/app/assets/javascripts/Scene/CentralBodySurface.js +1120 -0
- data/app/assets/javascripts/Scene/CentralBodySurfaceShaderSet.js +107 -0
- data/app/assets/javascripts/Scene/ComplexConicSensorVolume.js +511 -0
- data/app/assets/javascripts/Scene/CompositePrimitive.js +454 -0
- data/app/assets/javascripts/Scene/CullingVolume.js +59 -0
- data/app/assets/javascripts/Scene/CustomSensorVolume.js +440 -0
- data/app/assets/javascripts/Scene/DiscardMissingTileImagePolicy.js +134 -0
- data/app/assets/javascripts/Scene/EllipsoidPrimitive.js +412 -0
- data/app/assets/javascripts/Scene/EllipsoidTerrainProvider.js +182 -0
- data/app/assets/javascripts/Scene/FrameState.js +86 -0
- data/app/assets/javascripts/Scene/FrustumCommands.js +32 -0
- data/app/assets/javascripts/Scene/GeographicTilingScheme.js +265 -0
- data/app/assets/javascripts/Scene/HorizontalOrigin.js +39 -0
- data/app/assets/javascripts/Scene/Imagery.js +85 -0
- data/app/assets/javascripts/Scene/ImageryLayer.js +876 -0
- data/app/assets/javascripts/Scene/ImageryLayerCollection.js +403 -0
- data/app/assets/javascripts/Scene/ImageryProvider.js +185 -0
- data/app/assets/javascripts/Scene/ImageryProviderError.js +149 -0
- data/app/assets/javascripts/Scene/ImageryState.js +20 -0
- data/app/assets/javascripts/Scene/Label.js +706 -0
- data/app/assets/javascripts/Scene/LabelCollection.js +697 -0
- data/app/assets/javascripts/Scene/LabelStyle.js +39 -0
- data/app/assets/javascripts/Scene/Material.js +1177 -0
- data/app/assets/javascripts/Scene/NeverTileDiscardPolicy.js +38 -0
- data/app/assets/javascripts/Scene/OpenStreetMapImageryProvider.js +282 -0
- data/app/assets/javascripts/Scene/OrthographicFrustum.js +345 -0
- data/app/assets/javascripts/Scene/PerformanceDisplay.js +183 -0
- data/app/assets/javascripts/Scene/PerspectiveFrustum.js +239 -0
- data/app/assets/javascripts/Scene/PerspectiveOffCenterFrustum.js +394 -0
- data/app/assets/javascripts/Scene/Polygon.js +886 -0
- data/app/assets/javascripts/Scene/Polyline.js +441 -0
- data/app/assets/javascripts/Scene/PolylineCollection.js +1532 -0
- data/app/assets/javascripts/Scene/Projections.js +93 -0
- data/app/assets/javascripts/Scene/RectangularPyramidSensorVolume.js +224 -0
- data/app/assets/javascripts/Scene/Scene.js +632 -0
- data/app/assets/javascripts/Scene/Scene.profile.js +8 -0
- data/app/assets/javascripts/Scene/SceneMode.js +51 -0
- data/app/assets/javascripts/Scene/SceneTransitioner.js +776 -0
- data/app/assets/javascripts/Scene/ScreenSpaceCameraController.js +1063 -0
- data/app/assets/javascripts/Scene/SensorVolumeCollection.js +192 -0
- data/app/assets/javascripts/Scene/SingleTileImageryProvider.js +295 -0
- data/app/assets/javascripts/Scene/SkyAtmosphere.js +239 -0
- data/app/assets/javascripts/Scene/SkyBox.js +231 -0
- data/app/assets/javascripts/Scene/TerrainProvider.js +229 -0
- data/app/assets/javascripts/Scene/TexturePool.js +154 -0
- data/app/assets/javascripts/Scene/Tile.js +322 -0
- data/app/assets/javascripts/Scene/TileDiscardPolicy.js +42 -0
- data/app/assets/javascripts/Scene/TileImagery.js +36 -0
- data/app/assets/javascripts/Scene/TileLoadQueue.js +123 -0
- data/app/assets/javascripts/Scene/TileMapServiceImageryProvider.js +337 -0
- data/app/assets/javascripts/Scene/TileReplacementQueue.js +139 -0
- data/app/assets/javascripts/Scene/TileState.js +19 -0
- data/app/assets/javascripts/Scene/TilingScheme.js +213 -0
- data/app/assets/javascripts/Scene/VerticalOrigin.js +39 -0
- data/app/assets/javascripts/Scene/ViewportQuad.js +256 -0
- data/app/assets/javascripts/Scene/WebMapServiceImageryProvider.js +374 -0
- data/app/assets/javascripts/Scene/WebMercatorTilingScheme.js +291 -0
- data/app/assets/javascripts/Scene/package.json +6 -0
- data/app/assets/javascripts/Shaders/BillboardCollectionFS.glsl +30 -0
- data/app/assets/javascripts/Shaders/BillboardCollectionFS.js +31 -0
- data/app/assets/javascripts/Shaders/BillboardCollectionVS.glsl +68 -0
- data/app/assets/javascripts/Shaders/BillboardCollectionVS.js +54 -0
- data/app/assets/javascripts/Shaders/BuiltinFunctions.glsl +927 -0
- data/app/assets/javascripts/Shaders/BuiltinFunctions.js +322 -0
- data/app/assets/javascripts/Shaders/CentralBodyFS.glsl +106 -0
- data/app/assets/javascripts/Shaders/CentralBodyFS.js +82 -0
- data/app/assets/javascripts/Shaders/CentralBodyFSDepth.glsl +20 -0
- data/app/assets/javascripts/Shaders/CentralBodyFSDepth.js +22 -0
- data/app/assets/javascripts/Shaders/CentralBodyFSPole.glsl +29 -0
- data/app/assets/javascripts/Shaders/CentralBodyFSPole.js +28 -0
- data/app/assets/javascripts/Shaders/CentralBodyVS.glsl +88 -0
- data/app/assets/javascripts/Shaders/CentralBodyVS.js +69 -0
- data/app/assets/javascripts/Shaders/CentralBodyVSDepth.glsl +9 -0
- data/app/assets/javascripts/Shaders/CentralBodyVSDepth.js +13 -0
- data/app/assets/javascripts/Shaders/CentralBodyVSPole.glsl +12 -0
- data/app/assets/javascripts/Shaders/CentralBodyVSPole.js +15 -0
- data/app/assets/javascripts/Shaders/ComplexConicSensorVolumeFS.glsl +448 -0
- data/app/assets/javascripts/Shaders/ComplexConicSensorVolumeFS.js +361 -0
- data/app/assets/javascripts/Shaders/ComplexConicSensorVolumeVS.glsl +19 -0
- data/app/assets/javascripts/Shaders/ComplexConicSensorVolumeVS.js +20 -0
- data/app/assets/javascripts/Shaders/ConstructiveSolidGeometry.glsl +886 -0
- data/app/assets/javascripts/Shaders/ConstructiveSolidGeometry.js +586 -0
- data/app/assets/javascripts/Shaders/CustomSensorVolumeFS.glsl +126 -0
- data/app/assets/javascripts/Shaders/CustomSensorVolumeFS.js +95 -0
- data/app/assets/javascripts/Shaders/CustomSensorVolumeVS.glsl +14 -0
- data/app/assets/javascripts/Shaders/CustomSensorVolumeVS.js +18 -0
- data/app/assets/javascripts/Shaders/EllipsoidFS.glsl +40 -0
- data/app/assets/javascripts/Shaders/EllipsoidFS.js +38 -0
- data/app/assets/javascripts/Shaders/EllipsoidVS.glsl +26 -0
- data/app/assets/javascripts/Shaders/EllipsoidVS.js +16 -0
- data/app/assets/javascripts/Shaders/Materials/AsphaltMaterial.glsl +25 -0
- data/app/assets/javascripts/Shaders/Materials/AsphaltMaterial.js +23 -0
- data/app/assets/javascripts/Shaders/Materials/BlobMaterial.glsl +18 -0
- data/app/assets/javascripts/Shaders/Materials/BlobMaterial.js +19 -0
- data/app/assets/javascripts/Shaders/Materials/BrickMaterial.glsl +42 -0
- data/app/assets/javascripts/Shaders/Materials/BrickMaterial.js +36 -0
- data/app/assets/javascripts/Shaders/Materials/BumpMapMaterial.glsl +29 -0
- data/app/assets/javascripts/Shaders/Materials/BumpMapMaterial.js +27 -0
- data/app/assets/javascripts/Shaders/Materials/CementMaterial.glsl +19 -0
- data/app/assets/javascripts/Shaders/Materials/CementMaterial.js +20 -0
- data/app/assets/javascripts/Shaders/Materials/CheckerboardMaterial.glsl +38 -0
- data/app/assets/javascripts/Shaders/Materials/CheckerboardMaterial.js +32 -0
- data/app/assets/javascripts/Shaders/Materials/DotMaterial.glsl +17 -0
- data/app/assets/javascripts/Shaders/Materials/DotMaterial.js +18 -0
- data/app/assets/javascripts/Shaders/Materials/ErosionMaterial.glsl +23 -0
- data/app/assets/javascripts/Shaders/Materials/ErosionMaterial.js +24 -0
- data/app/assets/javascripts/Shaders/Materials/FacetMaterial.glsl +18 -0
- data/app/assets/javascripts/Shaders/Materials/FacetMaterial.js +19 -0
- data/app/assets/javascripts/Shaders/Materials/FresnelMaterial.glsl +12 -0
- data/app/assets/javascripts/Shaders/Materials/FresnelMaterial.js +15 -0
- data/app/assets/javascripts/Shaders/Materials/GrassMaterial.glsl +28 -0
- data/app/assets/javascripts/Shaders/Materials/GrassMaterial.js +26 -0
- data/app/assets/javascripts/Shaders/Materials/NormalMapMaterial.glsl +19 -0
- data/app/assets/javascripts/Shaders/Materials/NormalMapMaterial.js +21 -0
- data/app/assets/javascripts/Shaders/Materials/ReflectionMaterial.glsl +13 -0
- data/app/assets/javascripts/Shaders/Materials/ReflectionMaterial.js +16 -0
- data/app/assets/javascripts/Shaders/Materials/RefractionMaterial.glsl +14 -0
- data/app/assets/javascripts/Shaders/Materials/RefractionMaterial.js +17 -0
- data/app/assets/javascripts/Shaders/Materials/RimLightingMaterial.glsl +18 -0
- data/app/assets/javascripts/Shaders/Materials/RimLightingMaterial.js +19 -0
- data/app/assets/javascripts/Shaders/Materials/StripeMaterial.glsl +29 -0
- data/app/assets/javascripts/Shaders/Materials/StripeMaterial.js +26 -0
- data/app/assets/javascripts/Shaders/Materials/TieDyeMaterial.glsl +17 -0
- data/app/assets/javascripts/Shaders/Materials/TieDyeMaterial.js +19 -0
- data/app/assets/javascripts/Shaders/Materials/Water.glsl +91 -0
- data/app/assets/javascripts/Shaders/Materials/Water.js +60 -0
- data/app/assets/javascripts/Shaders/Materials/WoodMaterial.glsl +36 -0
- data/app/assets/javascripts/Shaders/Materials/WoodMaterial.js +31 -0
- data/app/assets/javascripts/Shaders/Noise.glsl +453 -0
- data/app/assets/javascripts/Shaders/Noise.js +242 -0
- data/app/assets/javascripts/Shaders/PolygonFS.glsl +27 -0
- data/app/assets/javascripts/Shaders/PolygonFS.js +23 -0
- data/app/assets/javascripts/Shaders/PolygonFSPick.glsl +6 -0
- data/app/assets/javascripts/Shaders/PolygonFSPick.js +11 -0
- data/app/assets/javascripts/Shaders/PolygonVS.glsl +38 -0
- data/app/assets/javascripts/Shaders/PolygonVS.js +39 -0
- data/app/assets/javascripts/Shaders/PolygonVSPick.glsl +30 -0
- data/app/assets/javascripts/Shaders/PolygonVSPick.js +32 -0
- data/app/assets/javascripts/Shaders/PolylineFS.glsl +6 -0
- data/app/assets/javascripts/Shaders/PolylineFS.js +11 -0
- data/app/assets/javascripts/Shaders/PolylineVS.glsl +34 -0
- data/app/assets/javascripts/Shaders/PolylineVS.js +35 -0
- data/app/assets/javascripts/Shaders/Ray.glsl +532 -0
- data/app/assets/javascripts/Shaders/Ray.js +357 -0
- data/app/assets/javascripts/Shaders/ReprojectWebMercatorFS.glsl +26 -0
- data/app/assets/javascripts/Shaders/ReprojectWebMercatorFS.js +22 -0
- data/app/assets/javascripts/Shaders/ReprojectWebMercatorVS.glsl +11 -0
- data/app/assets/javascripts/Shaders/ReprojectWebMercatorVS.js +14 -0
- data/app/assets/javascripts/Shaders/SensorVolume.glsl +43 -0
- data/app/assets/javascripts/Shaders/SensorVolume.js +31 -0
- data/app/assets/javascripts/Shaders/Shaders.profile.js +8 -0
- data/app/assets/javascripts/Shaders/SkyAtmosphereFS.glsl +70 -0
- data/app/assets/javascripts/Shaders/SkyAtmosphereFS.js +62 -0
- data/app/assets/javascripts/Shaders/SkyAtmosphereVS.glsl +131 -0
- data/app/assets/javascripts/Shaders/SkyAtmosphereVS.js +115 -0
- data/app/assets/javascripts/Shaders/SkyBoxFS.glsl +10 -0
- data/app/assets/javascripts/Shaders/SkyBoxFS.js +14 -0
- data/app/assets/javascripts/Shaders/SkyBoxVS.glsl +10 -0
- data/app/assets/javascripts/Shaders/SkyBoxVS.js +14 -0
- data/app/assets/javascripts/Shaders/ViewportQuadFS.glsl +16 -0
- data/app/assets/javascripts/Shaders/ViewportQuadFS.js +17 -0
- data/app/assets/javascripts/Shaders/ViewportQuadVS.glsl +10 -0
- data/app/assets/javascripts/Shaders/ViewportQuadVS.js +14 -0
- data/app/assets/javascripts/Shaders/package.json +6 -0
- data/app/assets/javascripts/ThirdParty/ThirdParty.profile.js +8 -0
- data/app/assets/javascripts/ThirdParty/Tween.js +678 -0
- data/app/assets/javascripts/ThirdParty/Uri.js +277 -0
- data/app/assets/javascripts/ThirdParty/measureText.js +197 -0
- data/app/assets/javascripts/ThirdParty/package.json +6 -0
- data/app/assets/javascripts/ThirdParty/sprintf.js +319 -0
- data/app/assets/javascripts/ThirdParty/when.js +748 -0
- data/app/assets/javascripts/Widgets/Dojo/CesiumViewerWidget.css +175 -0
- data/app/assets/javascripts/Widgets/Dojo/CesiumViewerWidget.html +52 -0
- data/app/assets/javascripts/Widgets/Dojo/CesiumViewerWidget.js +1237 -0
- data/app/assets/javascripts/Widgets/Dojo/CesiumWidget.html +4 -0
- data/app/assets/javascripts/Widgets/Dojo/CesiumWidget.js +349 -0
- data/app/assets/javascripts/Widgets/Dojo/TimelineWidget.css +1 -0
- data/app/assets/javascripts/Widgets/Dojo/TimelineWidget.js +47 -0
- data/app/assets/javascripts/Widgets/Dojo/checkForChromeFrame.js +71 -0
- data/app/assets/javascripts/Widgets/Images/Bing_Logo_51x19_White.png +0 -0
- data/app/assets/javascripts/Widgets/Images/Cesium_Logo_overlay.png +0 -0
- data/app/assets/javascripts/Widgets/Images/TimelineIcons.png +0 -0
- data/app/assets/javascripts/Widgets/Images/ajax-loader.gif +0 -0
- data/app/assets/javascripts/Widgets/Images/animationBar.png +0 -0
- data/app/assets/javascripts/Widgets/Images/viewControlBar.png +0 -0
- data/app/assets/javascripts/Widgets/Timeline.css +113 -0
- data/app/assets/javascripts/Widgets/Timeline.js +629 -0
- data/app/assets/javascripts/Widgets/TimelineHighlightRange.js +51 -0
- data/app/assets/javascripts/Widgets/TimelineTrack.js +54 -0
- data/app/assets/javascripts/Widgets/Widgets.profile.js +8 -0
- data/app/assets/javascripts/Widgets/package.json +6 -0
- data/app/assets/javascripts/Workers/Workers.profile.js +8 -0
- data/app/assets/javascripts/Workers/cesiumWorkerBootstrapper.js +2015 -0
- data/app/assets/javascripts/Workers/createTaskProcessorWorker.js +55 -0
- data/app/assets/javascripts/Workers/createVerticesFromExtent.js +24 -0
- data/app/assets/javascripts/Workers/package.json +6 -0
- data/app/assets/javascripts/copyrightHeader.js +22 -0
- data/app/assets/javascripts/main.js +10 -0
- data/app/assets/stylesheets/cesium.css +4 -0
- data/app/controllers/cesium_controller.rb +4 -0
- data/app/helpers/cesium_helper.rb +2 -0
- data/app/views/cesium/index.html.erb +3 -0
- data/config/routes.rb +3 -0
- data/lib/cesium.rb +4 -0
- data/lib/cesium/engine.rb +4 -0
- data/lib/cesium/version.rb +3 -0
- data/lib/tasks/cesium_tasks.rake +4 -0
- data/test/cesium_test.rb +7 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/adapters/jquery-adapter.js.coffee +4 -0
- data/test/dummy/app/assets/javascripts/app.js.coffee +11 -0
- data/test/dummy/app/assets/javascripts/application.js.coffee +73 -0
- data/test/dummy/app/assets/stylesheets/application.css +12 -0
- data/test/dummy/app/controllers/application_controller.rb +4 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +21 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/requirejs.yml +10 -0
- data/test/dummy/config/routes.rb +3 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/functional/cesium_controller_test.rb +9 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/test_helper.rb +15 -0
- data/test/unit/helpers/cesium_helper_test.rb +4 -0
- metadata +641 -0
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
// This file is automatically rebuilt by the Cesium build process.
|
|
2
|
+
/*global define*/
|
|
3
|
+
define(function() {
|
|
4
|
+
"use strict";
|
|
5
|
+
return "const float czm_infinity = 5906376272000.0;\n\
|
|
6
|
+
const float czm_epsilon1 = 0.1;\n\
|
|
7
|
+
const float czm_epsilon2 = 0.01;\n\
|
|
8
|
+
const float czm_epsilon3 = 0.001;\n\
|
|
9
|
+
const float czm_epsilon4 = 0.0001;\n\
|
|
10
|
+
const float czm_epsilon5 = 0.00001;\n\
|
|
11
|
+
const float czm_epsilon6 = 0.000001;\n\
|
|
12
|
+
const float czm_epsilon7 = 0.0000001;\n\
|
|
13
|
+
bool czm_equalsEpsilon(float left, float right, float epsilon) {\n\
|
|
14
|
+
return (abs(left - right) <= epsilon);\n\
|
|
15
|
+
}\n\
|
|
16
|
+
bool czm_equalsEpsilon(float left, float right) {\n\
|
|
17
|
+
return (abs(left - right) <= czm_epsilon7);\n\
|
|
18
|
+
}\n\
|
|
19
|
+
mat2 czm_transpose(mat2 matrix)\n\
|
|
20
|
+
{\n\
|
|
21
|
+
return mat2(\n\
|
|
22
|
+
matrix[0][0], matrix[1][0],\n\
|
|
23
|
+
matrix[0][1], matrix[1][1]);\n\
|
|
24
|
+
}\n\
|
|
25
|
+
mat3 czm_transpose(mat3 matrix)\n\
|
|
26
|
+
{\n\
|
|
27
|
+
return mat3(\n\
|
|
28
|
+
matrix[0][0], matrix[1][0], matrix[2][0],\n\
|
|
29
|
+
matrix[0][1], matrix[1][1], matrix[2][1],\n\
|
|
30
|
+
matrix[0][2], matrix[1][2], matrix[2][2]);\n\
|
|
31
|
+
}\n\
|
|
32
|
+
mat4 czm_transpose(mat4 matrix)\n\
|
|
33
|
+
{\n\
|
|
34
|
+
return mat4(\n\
|
|
35
|
+
matrix[0][0], matrix[1][0], matrix[2][0], matrix[3][0],\n\
|
|
36
|
+
matrix[0][1], matrix[1][1], matrix[2][1], matrix[3][1],\n\
|
|
37
|
+
matrix[0][2], matrix[1][2], matrix[2][2], matrix[3][2],\n\
|
|
38
|
+
matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]);\n\
|
|
39
|
+
}\n\
|
|
40
|
+
vec4 czm_modelToWindowCoordinates(vec4 position)\n\
|
|
41
|
+
{\n\
|
|
42
|
+
vec4 q = czm_modelViewProjection * position;\n\
|
|
43
|
+
q.xyz /= q.w;\n\
|
|
44
|
+
q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz;\n\
|
|
45
|
+
return q;\n\
|
|
46
|
+
}\n\
|
|
47
|
+
vec4 czm_eyeToWindowCoordinates(vec4 positionEC)\n\
|
|
48
|
+
{\n\
|
|
49
|
+
vec4 q = czm_projection * positionEC;\n\
|
|
50
|
+
q.xyz /= q.w;\n\
|
|
51
|
+
q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz;\n\
|
|
52
|
+
return q;\n\
|
|
53
|
+
}\n\
|
|
54
|
+
vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)\n\
|
|
55
|
+
{\n\
|
|
56
|
+
float x = 2.0 * (fragmentCoordinate.x - czm_viewport.x) / czm_viewport.z - 1.0;\n\
|
|
57
|
+
float y = 2.0 * (fragmentCoordinate.y - czm_viewport.y) / czm_viewport.w - 1.0;\n\
|
|
58
|
+
float z = (fragmentCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];\n\
|
|
59
|
+
vec4 q = vec4(x, y, z, 1.0);\n\
|
|
60
|
+
q /= fragmentCoordinate.w;\n\
|
|
61
|
+
q = czm_inverseProjection * q;\n\
|
|
62
|
+
return q;\n\
|
|
63
|
+
}\n\
|
|
64
|
+
vec4 czm_eyeOffset(vec4 positionEC, vec3 eyeOffset)\n\
|
|
65
|
+
{\n\
|
|
66
|
+
vec4 p = positionEC;\n\
|
|
67
|
+
vec4 zEyeOffset = normalize(p) * eyeOffset.z;\n\
|
|
68
|
+
p.xy += eyeOffset.xy + zEyeOffset.xy;\n\
|
|
69
|
+
p.z += zEyeOffset.z;\n\
|
|
70
|
+
return p;\n\
|
|
71
|
+
}\n\
|
|
72
|
+
vec3 czm_geodeticSurfaceNormal(vec3 positionOnEllipsoid, vec3 ellipsoidCenter, vec3 oneOverEllipsoidRadiiSquared)\n\
|
|
73
|
+
{\n\
|
|
74
|
+
return normalize((positionOnEllipsoid - ellipsoidCenter) * oneOverEllipsoidRadiiSquared);\n\
|
|
75
|
+
}\n\
|
|
76
|
+
vec2 czm_ellipsoidWgs84TextureCoordinates(vec3 normal)\n\
|
|
77
|
+
{\n\
|
|
78
|
+
return vec2(atan(normal.y, normal.x) * czm_oneOverTwoPi + 0.5, asin(normal.z) * czm_oneOverPi + 0.5);\n\
|
|
79
|
+
}\n\
|
|
80
|
+
mat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC)\n\
|
|
81
|
+
{\n\
|
|
82
|
+
vec3 tangentMC = normalize(vec3(-positionMC.y, positionMC.x, 0.0));\n\
|
|
83
|
+
vec3 tangentEC = normalize(czm_normal * tangentMC);\n\
|
|
84
|
+
vec3 bitangentEC = normalize(cross(normalEC, tangentEC));\n\
|
|
85
|
+
return mat3(\n\
|
|
86
|
+
tangentEC.x, tangentEC.y, tangentEC.z,\n\
|
|
87
|
+
bitangentEC.x, bitangentEC.y, bitangentEC.z,\n\
|
|
88
|
+
normalEC.x, normalEC.y, normalEC.z);\n\
|
|
89
|
+
}\n\
|
|
90
|
+
struct czm_materialInput\n\
|
|
91
|
+
{\n\
|
|
92
|
+
float s;\n\
|
|
93
|
+
vec2 st;\n\
|
|
94
|
+
vec3 str;\n\
|
|
95
|
+
vec3 normalEC;\n\
|
|
96
|
+
mat3 tangentToEyeMatrix;\n\
|
|
97
|
+
vec3 positionToEyeEC;\n\
|
|
98
|
+
vec3 positionMC;\n\
|
|
99
|
+
};\n\
|
|
100
|
+
struct czm_material\n\
|
|
101
|
+
{\n\
|
|
102
|
+
vec3 diffuse;\n\
|
|
103
|
+
float specular;\n\
|
|
104
|
+
float shininess;\n\
|
|
105
|
+
vec3 normal;\n\
|
|
106
|
+
vec3 emission;\n\
|
|
107
|
+
float alpha;\n\
|
|
108
|
+
};\n\
|
|
109
|
+
czm_material czm_getDefaultMaterial(czm_materialInput materialInput)\n\
|
|
110
|
+
{\n\
|
|
111
|
+
czm_material material;\n\
|
|
112
|
+
material.diffuse = vec3(0.0);\n\
|
|
113
|
+
material.specular = 0.0;\n\
|
|
114
|
+
material.shininess = 1.0;\n\
|
|
115
|
+
material.normal = materialInput.normalEC;\n\
|
|
116
|
+
material.emission = vec3(0.0);\n\
|
|
117
|
+
material.alpha = 1.0;\n\
|
|
118
|
+
return material;\n\
|
|
119
|
+
}\n\
|
|
120
|
+
float getLambertDiffuse(vec3 lightDirection, czm_material material)\n\
|
|
121
|
+
{\n\
|
|
122
|
+
return max(dot(lightDirection, material.normal), 0.0);\n\
|
|
123
|
+
}\n\
|
|
124
|
+
float getSpecular(vec3 lightDirection, vec3 toEye, czm_material material)\n\
|
|
125
|
+
{\n\
|
|
126
|
+
vec3 toReflectedLight = reflect(-lightDirection, material.normal);\n\
|
|
127
|
+
float specular = max(dot(toReflectedLight, toEye), 0.0);\n\
|
|
128
|
+
return pow(specular, material.shininess);\n\
|
|
129
|
+
}\n\
|
|
130
|
+
vec4 czm_phong(vec3 toEye, czm_material material)\n\
|
|
131
|
+
{\n\
|
|
132
|
+
float diffuse = getLambertDiffuse(vec3(0.0, 0.0, 1.0), material) + getLambertDiffuse(vec3(0.0, 1.0, 0.0), material);\n\
|
|
133
|
+
float specular = getSpecular(czm_sunDirectionEC, toEye, material) + getSpecular(czm_moonDirectionEC, toEye, material);\n\
|
|
134
|
+
vec3 ambient = vec3(0.0);\n\
|
|
135
|
+
vec3 color = ambient + material.emission;\n\
|
|
136
|
+
color += material.diffuse * diffuse;\n\
|
|
137
|
+
color += material.specular * specular;\n\
|
|
138
|
+
return vec4(color, material.alpha);\n\
|
|
139
|
+
}\n\
|
|
140
|
+
float czm_luminance(vec3 rgb)\n\
|
|
141
|
+
{\n\
|
|
142
|
+
const vec3 W = vec3(0.2125, 0.7154, 0.0721);\n\
|
|
143
|
+
return dot(rgb, W);\n\
|
|
144
|
+
}\n\
|
|
145
|
+
vec3 czm_hue(vec3 rgb, float adjustment)\n\
|
|
146
|
+
{\n\
|
|
147
|
+
const mat3 toYIQ = mat3(0.299, 0.587, 0.114,\n\
|
|
148
|
+
0.595716, -0.274453, -0.321263,\n\
|
|
149
|
+
0.211456, -0.522591, 0.311135);\n\
|
|
150
|
+
const mat3 toRGB = mat3(1.0, 0.9563, 0.6210,\n\
|
|
151
|
+
1.0, -0.2721, -0.6474,\n\
|
|
152
|
+
1.0, -1.107, 1.7046);\n\
|
|
153
|
+
vec3 yiq = toYIQ * rgb;\n\
|
|
154
|
+
float hue = atan(yiq.z, yiq.y) + adjustment;\n\
|
|
155
|
+
float chroma = sqrt(yiq.z * yiq.z + yiq.y * yiq.y);\n\
|
|
156
|
+
vec3 color = vec3(yiq.x, chroma * cos(hue), chroma * sin(hue));\n\
|
|
157
|
+
return toRGB * color;\n\
|
|
158
|
+
}\n\
|
|
159
|
+
vec3 czm_saturation(vec3 rgb, float adjustment)\n\
|
|
160
|
+
{\n\
|
|
161
|
+
vec3 intensity = vec3(czm_luminance(rgb));\n\
|
|
162
|
+
return mix(intensity, rgb, adjustment);\n\
|
|
163
|
+
}\n\
|
|
164
|
+
vec3 czm_multiplyWithColorBalance(vec3 left, vec3 right)\n\
|
|
165
|
+
{\n\
|
|
166
|
+
const vec3 W = vec3(0.2125, 0.7154, 0.0721);\n\
|
|
167
|
+
vec3 target = left * right;\n\
|
|
168
|
+
float leftLuminance = dot(left, W);\n\
|
|
169
|
+
float rightLuminance = dot(right, W);\n\
|
|
170
|
+
float targetLuminance = dot(target, W);\n\
|
|
171
|
+
return ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target;\n\
|
|
172
|
+
}\n\
|
|
173
|
+
const float czm_webMercatorMaxLatitude = 1.4844222297453323669610967939;\n\
|
|
174
|
+
const int czm_scene2D = 0;\n\
|
|
175
|
+
const int czm_columbusView = 1;\n\
|
|
176
|
+
const int czm_scene3D = 2;\n\
|
|
177
|
+
const int czm_morphing = 3;\n\
|
|
178
|
+
vec4 czm_columbusViewMorph(vec3 position2D, vec3 position3D, float time)\n\
|
|
179
|
+
{\n\
|
|
180
|
+
vec3 p = mix(position2D, position3D, time);\n\
|
|
181
|
+
return vec4(p, 1.0);\n\
|
|
182
|
+
}\n\
|
|
183
|
+
struct czm_ray\n\
|
|
184
|
+
{\n\
|
|
185
|
+
vec3 origin;\n\
|
|
186
|
+
vec3 direction;\n\
|
|
187
|
+
};\n\
|
|
188
|
+
vec3 czm_pointAlongRay(czm_ray ray, float time)\n\
|
|
189
|
+
{\n\
|
|
190
|
+
return ray.origin + (time * ray.direction);\n\
|
|
191
|
+
}\n\
|
|
192
|
+
struct czm_raySegment\n\
|
|
193
|
+
{\n\
|
|
194
|
+
float start;\n\
|
|
195
|
+
float stop;\n\
|
|
196
|
+
};\n\
|
|
197
|
+
const czm_raySegment czm_emptyRaySegment = czm_raySegment(-czm_infinity, -czm_infinity);\n\
|
|
198
|
+
const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity);\n\
|
|
199
|
+
bool czm_isEmpty(czm_raySegment interval)\n\
|
|
200
|
+
{\n\
|
|
201
|
+
return (interval.stop < 0.0);\n\
|
|
202
|
+
}\n\
|
|
203
|
+
bool czm_isFull(czm_raySegment interval)\n\
|
|
204
|
+
{\n\
|
|
205
|
+
return (interval.start == 0.0 && interval.stop == czm_infinity);\n\
|
|
206
|
+
}\n\
|
|
207
|
+
struct czm_ellipsoid\n\
|
|
208
|
+
{\n\
|
|
209
|
+
vec3 center;\n\
|
|
210
|
+
vec3 radii;\n\
|
|
211
|
+
vec3 inverseRadii;\n\
|
|
212
|
+
vec3 inverseRadiiSquared;\n\
|
|
213
|
+
};\n\
|
|
214
|
+
czm_ellipsoid czm_ellipsoidNew(vec3 center, vec3 radii)\n\
|
|
215
|
+
{\n\
|
|
216
|
+
vec3 inverseRadii = vec3(1.0 / radii.x, 1.0 / radii.y, 1.0 / radii.z);\n\
|
|
217
|
+
vec3 inverseRadiiSquared = inverseRadii * inverseRadii;\n\
|
|
218
|
+
czm_ellipsoid temp = czm_ellipsoid(center, radii, inverseRadii, inverseRadiiSquared);\n\
|
|
219
|
+
return temp;\n\
|
|
220
|
+
}\n\
|
|
221
|
+
bool czm_ellipsoidContainsPoint(czm_ellipsoid ellipsoid, vec3 point)\n\
|
|
222
|
+
{\n\
|
|
223
|
+
vec3 scaled = ellipsoid.inverseRadii * (czm_inverseModelView * vec4(point, 1.0)).xyz;\n\
|
|
224
|
+
return (dot(scaled, scaled) <= 1.0);\n\
|
|
225
|
+
}\n\
|
|
226
|
+
czm_raySegment czm_rayEllipsoidIntersectionInterval(czm_ray ray, czm_ellipsoid ellipsoid)\n\
|
|
227
|
+
{\n\
|
|
228
|
+
vec3 q = ellipsoid.inverseRadii * (czm_inverseModelView * vec4(ray.origin, 1.0)).xyz;\n\
|
|
229
|
+
vec3 w = ellipsoid.inverseRadii * (czm_inverseModelView * vec4(ray.direction, 0.0)).xyz;\n\
|
|
230
|
+
q = q - ellipsoid.inverseRadii * (czm_inverseModelView * vec4(ellipsoid.center, 1.0)).xyz;\n\
|
|
231
|
+
float q2 = dot(q, q);\n\
|
|
232
|
+
float qw = dot(q, w);\n\
|
|
233
|
+
if (q2 > 1.0)\n\
|
|
234
|
+
{\n\
|
|
235
|
+
if (qw >= 0.0)\n\
|
|
236
|
+
{\n\
|
|
237
|
+
return czm_emptyRaySegment;\n\
|
|
238
|
+
}\n\
|
|
239
|
+
else\n\
|
|
240
|
+
{\n\
|
|
241
|
+
float qw2 = qw * qw;\n\
|
|
242
|
+
float difference = q2 - 1.0;\n\
|
|
243
|
+
float w2 = dot(w, w);\n\
|
|
244
|
+
float product = w2 * difference;\n\
|
|
245
|
+
if (qw2 < product)\n\
|
|
246
|
+
{\n\
|
|
247
|
+
return czm_emptyRaySegment;\n\
|
|
248
|
+
}\n\
|
|
249
|
+
else if (qw2 > product)\n\
|
|
250
|
+
{\n\
|
|
251
|
+
float discriminant = qw * qw - product;\n\
|
|
252
|
+
float temp = -qw + sqrt(discriminant);\n\
|
|
253
|
+
float root0 = temp / w2;\n\
|
|
254
|
+
float root1 = difference / temp;\n\
|
|
255
|
+
if (root0 < root1)\n\
|
|
256
|
+
{\n\
|
|
257
|
+
czm_raySegment i = czm_raySegment(root0, root1);\n\
|
|
258
|
+
return i;\n\
|
|
259
|
+
}\n\
|
|
260
|
+
else\n\
|
|
261
|
+
{\n\
|
|
262
|
+
czm_raySegment i = czm_raySegment(root1, root0);\n\
|
|
263
|
+
return i;\n\
|
|
264
|
+
}\n\
|
|
265
|
+
}\n\
|
|
266
|
+
else\n\
|
|
267
|
+
{\n\
|
|
268
|
+
float root = sqrt(difference / w2);\n\
|
|
269
|
+
czm_raySegment i = czm_raySegment(root, root);\n\
|
|
270
|
+
return i;\n\
|
|
271
|
+
}\n\
|
|
272
|
+
}\n\
|
|
273
|
+
}\n\
|
|
274
|
+
else if (q2 < 1.0)\n\
|
|
275
|
+
{\n\
|
|
276
|
+
float difference = q2 - 1.0;\n\
|
|
277
|
+
float w2 = dot(w, w);\n\
|
|
278
|
+
float product = w2 * difference;\n\
|
|
279
|
+
float discriminant = qw * qw - product;\n\
|
|
280
|
+
float temp = -qw + sqrt(discriminant);\n\
|
|
281
|
+
czm_raySegment i = czm_raySegment(0.0, temp / w2);\n\
|
|
282
|
+
return i;\n\
|
|
283
|
+
}\n\
|
|
284
|
+
else\n\
|
|
285
|
+
{\n\
|
|
286
|
+
if (qw < 0.0)\n\
|
|
287
|
+
{\n\
|
|
288
|
+
float w2 = dot(w, w);\n\
|
|
289
|
+
czm_raySegment i = czm_raySegment(0.0, -qw / w2);\n\
|
|
290
|
+
return i;\n\
|
|
291
|
+
}\n\
|
|
292
|
+
else\n\
|
|
293
|
+
{\n\
|
|
294
|
+
return czm_emptyRaySegment;\n\
|
|
295
|
+
}\n\
|
|
296
|
+
}\n\
|
|
297
|
+
}\n\
|
|
298
|
+
czm_ellipsoid czm_getWgs84EllipsoidEC()\n\
|
|
299
|
+
{\n\
|
|
300
|
+
return czm_ellipsoidNew(\n\
|
|
301
|
+
czm_view[3].xyz,\n\
|
|
302
|
+
vec3(6378137.0, 6378137.0, 6356752.314245));\n\
|
|
303
|
+
}\n\
|
|
304
|
+
float czm_latitudeToWebMercatorFraction(float latitude, float southMercatorYLow, float southMercatorYHigh, float oneOverMercatorHeight)\n\
|
|
305
|
+
{\n\
|
|
306
|
+
float sinLatitude = sin(latitude);\n\
|
|
307
|
+
float mercatorY = 0.5 * log((1.0 + sinLatitude) / (1.0 - sinLatitude));\n\
|
|
308
|
+
float t1 = 0.0 - southMercatorYLow;\n\
|
|
309
|
+
float e = t1 - 0.0;\n\
|
|
310
|
+
float t2 = ((-southMercatorYLow - e) + (0.0 - (t1 - e))) + mercatorY - southMercatorYHigh;\n\
|
|
311
|
+
float highDifference = t1 + t2;\n\
|
|
312
|
+
float lowDifference = t2 - (highDifference - t1);\n\
|
|
313
|
+
return highDifference * oneOverMercatorHeight + lowDifference * oneOverMercatorHeight;\n\
|
|
314
|
+
}\n\
|
|
315
|
+
vec3 czm_translateRelativeToEye(vec3 high, vec3 low)\n\
|
|
316
|
+
{\n\
|
|
317
|
+
vec3 highDifference = high - czm_encodedCameraPositionMCHigh;\n\
|
|
318
|
+
vec3 lowDifference = low - czm_encodedCameraPositionMCLow;\n\
|
|
319
|
+
return highDifference + lowDifference;\n\
|
|
320
|
+
}\n\
|
|
321
|
+
";
|
|
322
|
+
});
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
//#define SHOW_TILE_BOUNDARIES
|
|
2
|
+
//#define SHOW_TEXTURE_BOUNDARIES
|
|
3
|
+
|
|
4
|
+
#if TEXTURE_UNITS > 0
|
|
5
|
+
uniform sampler2D u_dayTextures[TEXTURE_UNITS];
|
|
6
|
+
uniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS];
|
|
7
|
+
uniform float u_dayTextureAlpha[TEXTURE_UNITS];
|
|
8
|
+
uniform float u_dayTextureBrightness[TEXTURE_UNITS];
|
|
9
|
+
uniform float u_dayTextureContrast[TEXTURE_UNITS];
|
|
10
|
+
uniform float u_dayTextureHue[TEXTURE_UNITS];
|
|
11
|
+
uniform float u_dayTextureSaturation[TEXTURE_UNITS];
|
|
12
|
+
uniform float u_dayTextureOneOverGamma[TEXTURE_UNITS];
|
|
13
|
+
uniform vec4 u_dayTextureTexCoordsExtent[TEXTURE_UNITS];
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
varying vec3 v_positionMC;
|
|
17
|
+
varying vec3 v_positionEC;
|
|
18
|
+
|
|
19
|
+
varying vec2 v_textureCoordinates;
|
|
20
|
+
|
|
21
|
+
vec3 sampleAndBlend(
|
|
22
|
+
vec3 previousColor,
|
|
23
|
+
sampler2D texture,
|
|
24
|
+
vec2 tileTextureCoordinates,
|
|
25
|
+
vec4 textureCoordinateExtent,
|
|
26
|
+
vec4 textureCoordinateTranslationAndScale,
|
|
27
|
+
float textureAlpha,
|
|
28
|
+
float textureBrightness,
|
|
29
|
+
float textureContrast,
|
|
30
|
+
float textureHue,
|
|
31
|
+
float textureSaturation,
|
|
32
|
+
float textureOneOverGamma)
|
|
33
|
+
{
|
|
34
|
+
// This crazy step stuff sets the alpha to 0.0 if this following condition is true:
|
|
35
|
+
// tileTextureCoordinates.s < textureCoordinateExtent.s ||
|
|
36
|
+
// tileTextureCoordinates.s > textureCoordinateExtent.p ||
|
|
37
|
+
// tileTextureCoordinates.t < textureCoordinateExtent.t ||
|
|
38
|
+
// tileTextureCoordinates.t > textureCoordinateExtent.q
|
|
39
|
+
// In other words, the alpha is zero if the fragment is outside the extent
|
|
40
|
+
// covered by this texture. Would an actual 'if' yield better performance?
|
|
41
|
+
vec2 alphaMultiplier = step(textureCoordinateExtent.st, tileTextureCoordinates);
|
|
42
|
+
textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y;
|
|
43
|
+
|
|
44
|
+
alphaMultiplier = step(vec2(0.0), textureCoordinateExtent.pq - tileTextureCoordinates);
|
|
45
|
+
textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y;
|
|
46
|
+
|
|
47
|
+
vec2 translation = textureCoordinateTranslationAndScale.xy;
|
|
48
|
+
vec2 scale = textureCoordinateTranslationAndScale.zw;
|
|
49
|
+
vec2 textureCoordinates = tileTextureCoordinates * scale + translation;
|
|
50
|
+
vec4 sample = texture2D(texture, textureCoordinates);
|
|
51
|
+
vec3 color = sample.rgb;
|
|
52
|
+
float alpha = sample.a;
|
|
53
|
+
|
|
54
|
+
#ifdef APPLY_BRIGHTNESS
|
|
55
|
+
color = mix(vec3(0.0, 0.0, 0.0), color, textureBrightness);
|
|
56
|
+
#endif
|
|
57
|
+
|
|
58
|
+
#ifdef APPLY_CONTRAST
|
|
59
|
+
color = mix(vec3(0.5, 0.5, 0.5), color, textureContrast);
|
|
60
|
+
#endif
|
|
61
|
+
|
|
62
|
+
#ifdef APPLY_HUE
|
|
63
|
+
color = czm_hue(color, textureHue);
|
|
64
|
+
#endif
|
|
65
|
+
|
|
66
|
+
#ifdef APPLY_SATURATION
|
|
67
|
+
color = czm_saturation(color, textureSaturation);
|
|
68
|
+
#endif
|
|
69
|
+
|
|
70
|
+
#ifdef APPLY_GAMMA
|
|
71
|
+
color = pow(color, vec3(textureOneOverGamma));
|
|
72
|
+
#endif
|
|
73
|
+
|
|
74
|
+
#ifdef SHOW_TEXTURE_BOUNDARIES
|
|
75
|
+
if (textureCoordinates.x < (1.0/256.0) || textureCoordinates.x > (255.0/256.0) ||
|
|
76
|
+
textureCoordinates.y < (1.0/256.0) || textureCoordinates.y > (255.0/256.0))
|
|
77
|
+
{
|
|
78
|
+
color = vec3(1.0, 1.0, 0.0);
|
|
79
|
+
alpha = 1.0;
|
|
80
|
+
}
|
|
81
|
+
#endif
|
|
82
|
+
|
|
83
|
+
return mix(previousColor, color, alpha * textureAlpha);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
vec3 computeDayColor(vec3 initialColor, vec2 textureCoordinates);
|
|
87
|
+
|
|
88
|
+
void main()
|
|
89
|
+
{
|
|
90
|
+
// The clamp below works around an apparent bug in Chrome Canary v23.0.1241.0
|
|
91
|
+
// where the fragment shader sees textures coordinates < 0.0 and > 1.0 for the
|
|
92
|
+
// fragments on the edges of tiles even though the vertex shader is outputting
|
|
93
|
+
// coordinates strictly in the 0-1 range.
|
|
94
|
+
vec3 initialColor = vec3(0.0, 0.0, 0.5);
|
|
95
|
+
vec3 startDayColor = computeDayColor(initialColor, clamp(v_textureCoordinates, 0.0, 1.0));
|
|
96
|
+
|
|
97
|
+
#ifdef SHOW_TILE_BOUNDARIES
|
|
98
|
+
if (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) ||
|
|
99
|
+
v_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0))
|
|
100
|
+
{
|
|
101
|
+
startDayColor = vec3(1.0, 0.0, 0.0);
|
|
102
|
+
}
|
|
103
|
+
#endif
|
|
104
|
+
|
|
105
|
+
gl_FragColor = vec4(startDayColor, 1.0);
|
|
106
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// This file is automatically rebuilt by the Cesium build process.
|
|
2
|
+
/*global define*/
|
|
3
|
+
define(function() {
|
|
4
|
+
"use strict";
|
|
5
|
+
return "#if TEXTURE_UNITS > 0\n\
|
|
6
|
+
uniform sampler2D u_dayTextures[TEXTURE_UNITS];\n\
|
|
7
|
+
uniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS];\n\
|
|
8
|
+
uniform float u_dayTextureAlpha[TEXTURE_UNITS];\n\
|
|
9
|
+
uniform float u_dayTextureBrightness[TEXTURE_UNITS];\n\
|
|
10
|
+
uniform float u_dayTextureContrast[TEXTURE_UNITS];\n\
|
|
11
|
+
uniform float u_dayTextureHue[TEXTURE_UNITS];\n\
|
|
12
|
+
uniform float u_dayTextureSaturation[TEXTURE_UNITS];\n\
|
|
13
|
+
uniform float u_dayTextureOneOverGamma[TEXTURE_UNITS];\n\
|
|
14
|
+
uniform vec4 u_dayTextureTexCoordsExtent[TEXTURE_UNITS];\n\
|
|
15
|
+
#endif\n\
|
|
16
|
+
varying vec3 v_positionMC;\n\
|
|
17
|
+
varying vec3 v_positionEC;\n\
|
|
18
|
+
varying vec2 v_textureCoordinates;\n\
|
|
19
|
+
vec3 sampleAndBlend(\n\
|
|
20
|
+
vec3 previousColor,\n\
|
|
21
|
+
sampler2D texture,\n\
|
|
22
|
+
vec2 tileTextureCoordinates,\n\
|
|
23
|
+
vec4 textureCoordinateExtent,\n\
|
|
24
|
+
vec4 textureCoordinateTranslationAndScale,\n\
|
|
25
|
+
float textureAlpha,\n\
|
|
26
|
+
float textureBrightness,\n\
|
|
27
|
+
float textureContrast,\n\
|
|
28
|
+
float textureHue,\n\
|
|
29
|
+
float textureSaturation,\n\
|
|
30
|
+
float textureOneOverGamma)\n\
|
|
31
|
+
{\n\
|
|
32
|
+
vec2 alphaMultiplier = step(textureCoordinateExtent.st, tileTextureCoordinates);\n\
|
|
33
|
+
textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y;\n\
|
|
34
|
+
alphaMultiplier = step(vec2(0.0), textureCoordinateExtent.pq - tileTextureCoordinates);\n\
|
|
35
|
+
textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y;\n\
|
|
36
|
+
vec2 translation = textureCoordinateTranslationAndScale.xy;\n\
|
|
37
|
+
vec2 scale = textureCoordinateTranslationAndScale.zw;\n\
|
|
38
|
+
vec2 textureCoordinates = tileTextureCoordinates * scale + translation;\n\
|
|
39
|
+
vec4 sample = texture2D(texture, textureCoordinates);\n\
|
|
40
|
+
vec3 color = sample.rgb;\n\
|
|
41
|
+
float alpha = sample.a;\n\
|
|
42
|
+
#ifdef APPLY_BRIGHTNESS\n\
|
|
43
|
+
color = mix(vec3(0.0, 0.0, 0.0), color, textureBrightness);\n\
|
|
44
|
+
#endif\n\
|
|
45
|
+
#ifdef APPLY_CONTRAST\n\
|
|
46
|
+
color = mix(vec3(0.5, 0.5, 0.5), color, textureContrast);\n\
|
|
47
|
+
#endif\n\
|
|
48
|
+
#ifdef APPLY_HUE\n\
|
|
49
|
+
color = czm_hue(color, textureHue);\n\
|
|
50
|
+
#endif\n\
|
|
51
|
+
#ifdef APPLY_SATURATION\n\
|
|
52
|
+
color = czm_saturation(color, textureSaturation);\n\
|
|
53
|
+
#endif\n\
|
|
54
|
+
#ifdef APPLY_GAMMA\n\
|
|
55
|
+
color = pow(color, vec3(textureOneOverGamma));\n\
|
|
56
|
+
#endif\n\
|
|
57
|
+
#ifdef SHOW_TEXTURE_BOUNDARIES\n\
|
|
58
|
+
if (textureCoordinates.x < (1.0/256.0) || textureCoordinates.x > (255.0/256.0) ||\n\
|
|
59
|
+
textureCoordinates.y < (1.0/256.0) || textureCoordinates.y > (255.0/256.0))\n\
|
|
60
|
+
{\n\
|
|
61
|
+
color = vec3(1.0, 1.0, 0.0);\n\
|
|
62
|
+
alpha = 1.0;\n\
|
|
63
|
+
}\n\
|
|
64
|
+
#endif\n\
|
|
65
|
+
return mix(previousColor, color, alpha * textureAlpha);\n\
|
|
66
|
+
}\n\
|
|
67
|
+
vec3 computeDayColor(vec3 initialColor, vec2 textureCoordinates);\n\
|
|
68
|
+
void main()\n\
|
|
69
|
+
{\n\
|
|
70
|
+
vec3 initialColor = vec3(0.0, 0.0, 0.5);\n\
|
|
71
|
+
vec3 startDayColor = computeDayColor(initialColor, clamp(v_textureCoordinates, 0.0, 1.0));\n\
|
|
72
|
+
#ifdef SHOW_TILE_BOUNDARIES\n\
|
|
73
|
+
if (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) ||\n\
|
|
74
|
+
v_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0))\n\
|
|
75
|
+
{\n\
|
|
76
|
+
startDayColor = vec3(1.0, 0.0, 0.0);\n\
|
|
77
|
+
}\n\
|
|
78
|
+
#endif\n\
|
|
79
|
+
gl_FragColor = vec4(startDayColor, 1.0);\n\
|
|
80
|
+
}\n\
|
|
81
|
+
";
|
|
82
|
+
});
|