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,358 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/DeveloperError',
|
|
4
|
+
'../Core/destroyObject',
|
|
5
|
+
'../Core/Math',
|
|
6
|
+
'./MipmapHint',
|
|
7
|
+
'./TextureMagnificationFilter',
|
|
8
|
+
'./TextureMinificationFilter',
|
|
9
|
+
'./TextureWrap',
|
|
10
|
+
'./CubeMapFace'
|
|
11
|
+
], function(
|
|
12
|
+
DeveloperError,
|
|
13
|
+
destroyObject,
|
|
14
|
+
CesiumMath,
|
|
15
|
+
MipmapHint,
|
|
16
|
+
TextureMagnificationFilter,
|
|
17
|
+
TextureMinificationFilter,
|
|
18
|
+
TextureWrap,
|
|
19
|
+
CubeMapFace) {
|
|
20
|
+
"use strict";
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* A cube map with faces +x, -x, +y, -y, +z, and -z. Cube maps are used for environment techniques like
|
|
24
|
+
* approximate reflection and refraction as used in the Reflection and Refraction {@link Material}s.
|
|
25
|
+
*
|
|
26
|
+
* @alias CubeMap
|
|
27
|
+
* @internalConstructor
|
|
28
|
+
*
|
|
29
|
+
* @see Context#createCubeMap
|
|
30
|
+
*/
|
|
31
|
+
var CubeMap = function(gl, textureFilterAnisotropic, textureTarget, texture, pixelFormat, pixelDatatype, size, preMultiplyAlpha, flipY) {
|
|
32
|
+
this._gl = gl;
|
|
33
|
+
this._textureFilterAnisotropic = textureFilterAnisotropic;
|
|
34
|
+
this._textureTarget = textureTarget;
|
|
35
|
+
this._texture = texture;
|
|
36
|
+
this._pixelFormat = pixelFormat;
|
|
37
|
+
this._pixelDatatype = pixelDatatype;
|
|
38
|
+
this._size = size;
|
|
39
|
+
this._preMultiplyAlpha = preMultiplyAlpha;
|
|
40
|
+
this._flipY = flipY;
|
|
41
|
+
this._sampler = undefined;
|
|
42
|
+
|
|
43
|
+
this._positiveX = new CubeMapFace(gl, texture, textureTarget, gl.TEXTURE_CUBE_MAP_POSITIVE_X, pixelFormat, pixelDatatype, size, preMultiplyAlpha, flipY);
|
|
44
|
+
this._negativeX = new CubeMapFace(gl, texture, textureTarget, gl.TEXTURE_CUBE_MAP_NEGATIVE_X, pixelFormat, pixelDatatype, size, preMultiplyAlpha, flipY);
|
|
45
|
+
this._positiveY = new CubeMapFace(gl, texture, textureTarget, gl.TEXTURE_CUBE_MAP_POSITIVE_Y, pixelFormat, pixelDatatype, size, preMultiplyAlpha, flipY);
|
|
46
|
+
this._negativeY = new CubeMapFace(gl, texture, textureTarget, gl.TEXTURE_CUBE_MAP_NEGATIVE_Y, pixelFormat, pixelDatatype, size, preMultiplyAlpha, flipY);
|
|
47
|
+
this._positiveZ = new CubeMapFace(gl, texture, textureTarget, gl.TEXTURE_CUBE_MAP_POSITIVE_Z, pixelFormat, pixelDatatype, size, preMultiplyAlpha, flipY);
|
|
48
|
+
this._negativeZ = new CubeMapFace(gl, texture, textureTarget, gl.TEXTURE_CUBE_MAP_NEGATIVE_Z, pixelFormat, pixelDatatype, size, preMultiplyAlpha, flipY);
|
|
49
|
+
|
|
50
|
+
this.setSampler();
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Returns the +x face of this cube map for modification, rendering to, etc.
|
|
55
|
+
*
|
|
56
|
+
* @memberof CubeMap
|
|
57
|
+
*
|
|
58
|
+
* @returns {CubeMapFace} The +x face of this cube map.
|
|
59
|
+
*
|
|
60
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
61
|
+
*/
|
|
62
|
+
CubeMap.prototype.getPositiveX = function() {
|
|
63
|
+
return this._positiveX;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Returns the -x face of this cube map for modification, rendering to, etc.
|
|
68
|
+
*
|
|
69
|
+
* @memberof CubeMap
|
|
70
|
+
*
|
|
71
|
+
* @returns {CubeMapFace} The -x face of this cube map.
|
|
72
|
+
*
|
|
73
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
74
|
+
*/
|
|
75
|
+
CubeMap.prototype.getNegativeX = function() {
|
|
76
|
+
return this._negativeX;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Returns the +y face of this cube map for modification, rendering to, etc.
|
|
81
|
+
*
|
|
82
|
+
* @memberof CubeMap
|
|
83
|
+
*
|
|
84
|
+
* @returns {CubeMapFace} The +y face of this cube map.
|
|
85
|
+
*
|
|
86
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
87
|
+
*/
|
|
88
|
+
CubeMap.prototype.getPositiveY = function() {
|
|
89
|
+
return this._positiveY;
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Returns the -y face of this cube map for modification, rendering to, etc.
|
|
94
|
+
*
|
|
95
|
+
* @memberof CubeMap
|
|
96
|
+
*
|
|
97
|
+
* @returns {CubeMapFace} The -y face of this cube map.
|
|
98
|
+
*
|
|
99
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
100
|
+
*/
|
|
101
|
+
CubeMap.prototype.getNegativeY = function() {
|
|
102
|
+
return this._negativeY;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Returns the +z face of this cube map for modification, rendering to, etc.
|
|
107
|
+
*
|
|
108
|
+
* @memberof CubeMap
|
|
109
|
+
*
|
|
110
|
+
* @returns {CubeMapFace} The +z face of this cube map.
|
|
111
|
+
*
|
|
112
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
113
|
+
*/
|
|
114
|
+
CubeMap.prototype.getPositiveZ = function() {
|
|
115
|
+
return this._positiveZ;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Returns the -z face of this cube map for modification, rendering to, etc.
|
|
120
|
+
*
|
|
121
|
+
* @memberof CubeMap
|
|
122
|
+
*
|
|
123
|
+
* @returns {CubeMapFace} The -z face of this cube map.
|
|
124
|
+
*
|
|
125
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
126
|
+
*/
|
|
127
|
+
CubeMap.prototype.getNegativeZ = function() {
|
|
128
|
+
return this._negativeZ;
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Generates a complete mipmap chain for each cubemap face.
|
|
133
|
+
*
|
|
134
|
+
* @memberof CubeMap
|
|
135
|
+
*
|
|
136
|
+
* @param {MipmapHint} [hint=MipmapHint.DONT_CARE] A performance vs. quality hint.
|
|
137
|
+
*
|
|
138
|
+
* @exception {DeveloperError} hint is invalid.
|
|
139
|
+
* @exception {DeveloperError} This CubeMap's width must be a power of two to call generateMipmap().
|
|
140
|
+
* @exception {DeveloperError} This CubeMap's height must be a power of two to call generateMipmap().
|
|
141
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* // Generate mipmaps, and then set the sampler so mipmaps are used for
|
|
145
|
+
* // minification when the cube map is sampled.
|
|
146
|
+
* cubeMap.generateMipmap();
|
|
147
|
+
* cubeMap.setSampler(context.createSampler({
|
|
148
|
+
* minificationFilter : TextureMinificationFilter.NEAREST_MIPMAP_LINEAR
|
|
149
|
+
* }));
|
|
150
|
+
*/
|
|
151
|
+
CubeMap.prototype.generateMipmap = function(hint) {
|
|
152
|
+
if ((this._size > 1) && !CesiumMath.isPowerOfTwo(this._size)) {
|
|
153
|
+
throw new DeveloperError('width and height must be a power of two to call generateMipmap().');
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
hint = hint || MipmapHint.DONT_CARE;
|
|
157
|
+
if (!MipmapHint.validate(hint)) {
|
|
158
|
+
throw new DeveloperError('hint is invalid.');
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
var gl = this._gl;
|
|
162
|
+
var target = this._textureTarget;
|
|
163
|
+
|
|
164
|
+
gl.hint(gl.GENERATE_MIPMAP_HINT, hint);
|
|
165
|
+
gl.activeTexture(gl.TEXTURE0);
|
|
166
|
+
gl.bindTexture(target, this._texture);
|
|
167
|
+
gl.generateMipmap(target);
|
|
168
|
+
gl.bindTexture(target, null);
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* DOC_TBA
|
|
173
|
+
*
|
|
174
|
+
* @memberof CubeMap
|
|
175
|
+
*
|
|
176
|
+
* @param [sampler] DOC_TBA
|
|
177
|
+
*
|
|
178
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
179
|
+
*/
|
|
180
|
+
CubeMap.prototype.setSampler = function(sampler) {
|
|
181
|
+
var s = sampler || {
|
|
182
|
+
wrapS : TextureWrap.CLAMP,
|
|
183
|
+
wrapT : TextureWrap.CLAMP,
|
|
184
|
+
minificationFilter : TextureMinificationFilter.LINEAR,
|
|
185
|
+
magnificationFilter : TextureMagnificationFilter.LINEAR,
|
|
186
|
+
maximumAnisotropy : 1.0
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
var gl = this._gl;
|
|
190
|
+
var target = this._textureTarget;
|
|
191
|
+
|
|
192
|
+
gl.activeTexture(gl.TEXTURE0);
|
|
193
|
+
gl.bindTexture(target, this._texture);
|
|
194
|
+
gl.texParameteri(target, gl.TEXTURE_MIN_FILTER, s.minificationFilter);
|
|
195
|
+
gl.texParameteri(target, gl.TEXTURE_MAG_FILTER, s.magnificationFilter);
|
|
196
|
+
gl.texParameteri(target, gl.TEXTURE_WRAP_S, s.wrapS);
|
|
197
|
+
gl.texParameteri(target, gl.TEXTURE_WRAP_T, s.wrapT);
|
|
198
|
+
if (this._textureFilterAnisotropic) {
|
|
199
|
+
gl.texParameteri(target, this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT, s.maximumAnisotropy);
|
|
200
|
+
}
|
|
201
|
+
gl.bindTexture(target, null);
|
|
202
|
+
|
|
203
|
+
this._sampler = {
|
|
204
|
+
wrapS : s.wrapS,
|
|
205
|
+
wrapT : s.wrapT,
|
|
206
|
+
minificationFilter : s.minificationFilter,
|
|
207
|
+
magnificationFilter : s.magnificationFilter,
|
|
208
|
+
maximumAnisotropy : s.maximumAnisotropy
|
|
209
|
+
};
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* DOC_TBA
|
|
214
|
+
*
|
|
215
|
+
* @memberof CubeMap
|
|
216
|
+
*
|
|
217
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
218
|
+
*/
|
|
219
|
+
CubeMap.prototype.getSampler = function() {
|
|
220
|
+
return this._sampler;
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Returns the pixel format of this cube map. All faces in the same cube map have the same pixel format.
|
|
225
|
+
*
|
|
226
|
+
* @memberof CubeMap
|
|
227
|
+
*
|
|
228
|
+
* @returns {PixelFormat} The pixel format of this cubemap.
|
|
229
|
+
*
|
|
230
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
231
|
+
*/
|
|
232
|
+
CubeMap.prototype.getPixelFormat = function() {
|
|
233
|
+
return this._pixelFormat;
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Returns the pixel datatype of this cube map. All faces in the same cube map have the same pixel datatype.
|
|
238
|
+
*
|
|
239
|
+
* @memberof CubeMap
|
|
240
|
+
*
|
|
241
|
+
* @returns {PixelDatatype} The pixel datatype of this cubemap.
|
|
242
|
+
*
|
|
243
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
244
|
+
*/
|
|
245
|
+
CubeMap.prototype.getPixelDatatype = function() {
|
|
246
|
+
return this._pixelDatatype;
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Returns the width, in texels, of faces in this cube map. All faces in the same cube map have the same width and height, and the width equals the height.
|
|
251
|
+
*
|
|
252
|
+
* @memberof CubeMap
|
|
253
|
+
*
|
|
254
|
+
* @returns {Number} The width, in texels, of faces in this cube map.
|
|
255
|
+
*
|
|
256
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
257
|
+
*/
|
|
258
|
+
CubeMap.prototype.getWidth = function() {
|
|
259
|
+
return this._size;
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Returns the height, in texels, of faces in this cube map. All faces in the same cube map have the same width and height, and the width equals the height.
|
|
264
|
+
*
|
|
265
|
+
* @memberof CubeMap
|
|
266
|
+
*
|
|
267
|
+
* @returns {Number} The height, in texels, of faces in this cube map.
|
|
268
|
+
*
|
|
269
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
270
|
+
*/
|
|
271
|
+
CubeMap.prototype.getHeight = function() {
|
|
272
|
+
return this._size;
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Returns true if the cubemap was created with premultiplied alpha (UNPACK_PREMULTIPLY_ALPHA_WEBGL).
|
|
277
|
+
*
|
|
278
|
+
* @memberof CubeMap
|
|
279
|
+
*
|
|
280
|
+
* @returns {Boolean} true if the cubemap was created with premultiplied alpha; otherwise, false.
|
|
281
|
+
*
|
|
282
|
+
* @exception {DeveloperError} This cube map was destroyed, i.e., destroy() was called.
|
|
283
|
+
*/
|
|
284
|
+
CubeMap.prototype.getPreMultiplyAlpha = function() {
|
|
285
|
+
return this._preMultiplyAlpha;
|
|
286
|
+
};
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Returns true if the source pixels are flipped vertically when cube-map faces are created or updated, i.e.,
|
|
290
|
+
* <code>UNPACK_FLIP_Y_WEBGL</code> is used.
|
|
291
|
+
*
|
|
292
|
+
* @memberof CubeMap
|
|
293
|
+
*
|
|
294
|
+
* @return {Boolean} True if the source pixels are flipped vertically; otherwise, false.
|
|
295
|
+
*
|
|
296
|
+
* @exception {DeveloperError} This cube map was destroyed, i.e., destroy() was called.
|
|
297
|
+
*/
|
|
298
|
+
CubeMap.prototype.getFlipY = function() {
|
|
299
|
+
return this._flipY;
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
CubeMap.prototype._getTexture = function() {
|
|
303
|
+
return this._texture;
|
|
304
|
+
};
|
|
305
|
+
|
|
306
|
+
CubeMap.prototype._getTarget = function() {
|
|
307
|
+
return this._textureTarget;
|
|
308
|
+
};
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Returns true if this object was destroyed; otherwise, false.
|
|
312
|
+
* <br /><br />
|
|
313
|
+
* If this object was destroyed, it should not be used; calling any function other than
|
|
314
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
|
|
315
|
+
*
|
|
316
|
+
* @memberof CubeMap
|
|
317
|
+
*
|
|
318
|
+
* @return {Boolean} True if this object was destroyed; otherwise, false.
|
|
319
|
+
*
|
|
320
|
+
* @see CubeMap#destroy
|
|
321
|
+
*/
|
|
322
|
+
CubeMap.prototype.isDestroyed = function() {
|
|
323
|
+
return false;
|
|
324
|
+
};
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
|
|
328
|
+
* release of WebGL resources, instead of relying on the garbage collector to destroy this object.
|
|
329
|
+
* <br /><br />
|
|
330
|
+
* Once an object is destroyed, it should not be used; calling any function other than
|
|
331
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
|
|
332
|
+
* assign the return value (<code>undefined</code>) to the object as done in the example.
|
|
333
|
+
*
|
|
334
|
+
* @memberof CubeMap
|
|
335
|
+
*
|
|
336
|
+
* @return {undefined}
|
|
337
|
+
*
|
|
338
|
+
* @exception {DeveloperError} This cube map was destroyed, i.e., destroy() was called.
|
|
339
|
+
*
|
|
340
|
+
* @see CubeMap#isDestroyed
|
|
341
|
+
* @see <a href='http://www.khronos.org/opengles/sdk/2.0/docs/man/glDeleteTextures.xml'>glDeleteTextures</a>
|
|
342
|
+
*
|
|
343
|
+
* @example
|
|
344
|
+
* cubeMap = cubeMap && cubeMap.destroy();
|
|
345
|
+
*/
|
|
346
|
+
CubeMap.prototype.destroy = function() {
|
|
347
|
+
this._gl.deleteTexture(this._texture);
|
|
348
|
+
this._positiveX = destroyObject(this._positiveX);
|
|
349
|
+
this._negativeX = destroyObject(this._negativeX);
|
|
350
|
+
this._positiveY = destroyObject(this._positiveY);
|
|
351
|
+
this._negativeY = destroyObject(this._negativeY);
|
|
352
|
+
this._positiveZ = destroyObject(this._positiveZ);
|
|
353
|
+
this._negativeZ = destroyObject(this._negativeZ);
|
|
354
|
+
return destroyObject(this);
|
|
355
|
+
};
|
|
356
|
+
|
|
357
|
+
return CubeMap;
|
|
358
|
+
});
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/defaultValue',
|
|
4
|
+
'../Core/DeveloperError',
|
|
5
|
+
'../Core/destroyObject',
|
|
6
|
+
'./MipmapHint',
|
|
7
|
+
'./TextureMagnificationFilter',
|
|
8
|
+
'./TextureMinificationFilter',
|
|
9
|
+
'./TextureWrap'
|
|
10
|
+
], function(
|
|
11
|
+
defaultValue,
|
|
12
|
+
DeveloperError,
|
|
13
|
+
destroyObject,
|
|
14
|
+
MipmapHint,
|
|
15
|
+
TextureMagnificationFilter,
|
|
16
|
+
TextureMinificationFilter,
|
|
17
|
+
TextureWrap) {
|
|
18
|
+
"use strict";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* A face of a cube map (+x, -x, +y, -y, +z, or -z) that can be modified and rendered to.
|
|
22
|
+
*
|
|
23
|
+
* @alias CubeMapFace
|
|
24
|
+
* @internalConstructor
|
|
25
|
+
*
|
|
26
|
+
* @see CubeMap
|
|
27
|
+
*/
|
|
28
|
+
var CubeMapFace = function(gl, texture, textureTarget, targetFace, pixelFormat, pixelDatatype, size, preMultiplyAlpha, flipY) {
|
|
29
|
+
this._gl = gl;
|
|
30
|
+
this._texture = texture;
|
|
31
|
+
this._textureTarget = textureTarget;
|
|
32
|
+
this._targetFace = targetFace;
|
|
33
|
+
this._pixelFormat = pixelFormat;
|
|
34
|
+
this._pixelDatatype = pixelDatatype;
|
|
35
|
+
this._size = size;
|
|
36
|
+
this._preMultiplyAlpha = preMultiplyAlpha;
|
|
37
|
+
this._flipY = flipY;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Copies texels from the source to the cubemap's face.
|
|
42
|
+
*
|
|
43
|
+
* @memberof CubeMapFace
|
|
44
|
+
*
|
|
45
|
+
* @param {Object} source The source ImageData, HTMLImageElement, HTMLCanvasElement, HTMLVideoElement, or an object with a width, height, and typed array as shown in the example.
|
|
46
|
+
* @param {Number} [xOffset=0] An offset in the x direction in the cubemap where copying begins.
|
|
47
|
+
* @param {Number} [yOffset=0] An offset in the y direction in the cubemap where copying begins.
|
|
48
|
+
*
|
|
49
|
+
* @exception {DeveloperError} source is required.
|
|
50
|
+
* @exception {DeveloperError} xOffset must be greater than or equal to zero.
|
|
51
|
+
* @exception {DeveloperError} yOffset must be greater than or equal to zero.
|
|
52
|
+
* @exception {DeveloperError} xOffset + source.width must be less than or equal to getWidth().
|
|
53
|
+
* @exception {DeveloperError} yOffset + source.height must be less than or equal to getHeight().
|
|
54
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* // Create a cubemap with 1x1 faces, and make the +x face red.
|
|
58
|
+
* var cubeMap = context.createCubeMap({
|
|
59
|
+
* width : 1,
|
|
60
|
+
* height : 1
|
|
61
|
+
* });
|
|
62
|
+
* cubeMap.getPositiveX().copyFrom({
|
|
63
|
+
* width : 1,
|
|
64
|
+
* height : 1,
|
|
65
|
+
* arrayBufferView : new Uint8Array([255, 0, 0, 255])
|
|
66
|
+
* });
|
|
67
|
+
*/
|
|
68
|
+
CubeMapFace.prototype.copyFrom = function(source, xOffset, yOffset) {
|
|
69
|
+
if (!source) {
|
|
70
|
+
throw new DeveloperError('source is required.');
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
xOffset = defaultValue(xOffset, 0);
|
|
74
|
+
yOffset = defaultValue(yOffset, 0);
|
|
75
|
+
|
|
76
|
+
var width = source.width;
|
|
77
|
+
var height = source.height;
|
|
78
|
+
|
|
79
|
+
if (xOffset < 0) {
|
|
80
|
+
throw new DeveloperError('xOffset must be greater than or equal to zero.');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (yOffset < 0) {
|
|
84
|
+
throw new DeveloperError('yOffset must be greater than or equal to zero.');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (xOffset + width > this._size) {
|
|
88
|
+
throw new DeveloperError('xOffset + source.width must be less than or equal to getWidth().');
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (yOffset + height > this._size) {
|
|
92
|
+
throw new DeveloperError('yOffset + source.height must be less than or equal to getHeight().');
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
var gl = this._gl;
|
|
96
|
+
var target = this._textureTarget;
|
|
97
|
+
|
|
98
|
+
// TODO: gl.pixelStorei(gl._UNPACK_ALIGNMENT, 4);
|
|
99
|
+
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this._preMultiplyAlpha);
|
|
100
|
+
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, this._flipY);
|
|
101
|
+
gl.activeTexture(gl.TEXTURE0);
|
|
102
|
+
gl.bindTexture(target, this._texture);
|
|
103
|
+
|
|
104
|
+
//Firefox bug: texSubImage2D has overloads and can't resolve our enums, so we use + to explicitly convert to a number.
|
|
105
|
+
if (source.arrayBufferView) {
|
|
106
|
+
gl.texSubImage2D(this._targetFace, 0, xOffset, yOffset, width, height, +this._pixelFormat, +this._pixelDatatype, source.arrayBufferView);
|
|
107
|
+
} else {
|
|
108
|
+
gl.texSubImage2D(this._targetFace, 0, xOffset, yOffset, +this._pixelFormat, +this._pixelDatatype, source);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
gl.bindTexture(target, null);
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Copies texels from the framebuffer to the cubemap's face.
|
|
116
|
+
*
|
|
117
|
+
* @memberof CubeMapFace
|
|
118
|
+
*
|
|
119
|
+
* @param {Number} [xOffset=0] An offset in the x direction in the cubemap where copying begins.
|
|
120
|
+
* @param {Number} [yOffset=0] An offset in the y direction in the cubemap where copying begins.
|
|
121
|
+
* @param {Number} [framebufferXOffset=0] An offset in the x direction in the framebuffer where copying begins from.
|
|
122
|
+
* @param {Number} [framebufferYOffset=0] An offset in the y direction in the framebuffer where copying begins from.
|
|
123
|
+
* @param {Number} [width=CubeMap's width] The width of the subimage to copy.
|
|
124
|
+
* @param {Number} [height=CubeMap's height] The height of the subimage to copy.
|
|
125
|
+
*
|
|
126
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
127
|
+
* @exception {DeveloperError} xOffset must be greater than or equal to zero.
|
|
128
|
+
* @exception {DeveloperError} yOffset must be greater than or equal to zero.
|
|
129
|
+
* @exception {DeveloperError} framebufferXOffset must be greater than or equal to zero.
|
|
130
|
+
* @exception {DeveloperError} framebufferYOffset must be greater than or equal to zero.
|
|
131
|
+
* @exception {DeveloperError} xOffset + source.width must be less than or equal to getWidth().
|
|
132
|
+
* @exception {DeveloperError} yOffset + source.height must be less than or equal to getHeight().
|
|
133
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* // Copy the framebuffer contents to the +x cube map face.
|
|
137
|
+
* cubeMap.getPositiveX().copyFromFramebuffer();
|
|
138
|
+
*/
|
|
139
|
+
CubeMapFace.prototype.copyFromFramebuffer = function(xOffset, yOffset, framebufferXOffset, framebufferYOffset, width, height) {
|
|
140
|
+
xOffset = defaultValue(xOffset, 0);
|
|
141
|
+
yOffset = defaultValue(yOffset, 0);
|
|
142
|
+
framebufferXOffset = defaultValue(framebufferXOffset, 0);
|
|
143
|
+
framebufferYOffset = defaultValue(framebufferYOffset, 0);
|
|
144
|
+
width = defaultValue(width, this._size);
|
|
145
|
+
height = defaultValue(height, this._size);
|
|
146
|
+
|
|
147
|
+
if (xOffset < 0) {
|
|
148
|
+
throw new DeveloperError('xOffset must be greater than or equal to zero.');
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
if (yOffset < 0) {
|
|
152
|
+
throw new DeveloperError('yOffset must be greater than or equal to zero.');
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
if (framebufferXOffset < 0) {
|
|
156
|
+
throw new DeveloperError('framebufferXOffset must be greater than or equal to zero.');
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
if (framebufferYOffset < 0) {
|
|
160
|
+
throw new DeveloperError('framebufferYOffset must be greater than or equal to zero.');
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
if (xOffset + width > this._size) {
|
|
164
|
+
throw new DeveloperError('xOffset + source.width must be less than or equal to getWidth().');
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
if (yOffset + height > this._size) {
|
|
168
|
+
throw new DeveloperError('yOffset + source.height must be less than or equal to getHeight().');
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
var gl = this._gl;
|
|
172
|
+
var target = this._textureTarget;
|
|
173
|
+
|
|
174
|
+
gl.activeTexture(gl.TEXTURE0);
|
|
175
|
+
gl.bindTexture(target, this._texture);
|
|
176
|
+
gl.copyTexSubImage2D(this._targetFace, 0, xOffset, yOffset, framebufferXOffset, framebufferYOffset, width, height);
|
|
177
|
+
gl.bindTexture(target, null);
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Returns the pixel format of this cube map face. All faces in the same cube map have the same pixel format.
|
|
182
|
+
*
|
|
183
|
+
* @memberof CubeMapFace
|
|
184
|
+
*
|
|
185
|
+
* @returns {PixelFormat} The pixel format of this cubemap face.
|
|
186
|
+
*
|
|
187
|
+
* @exception {DeveloperError} This CubeMap was destroyed, i.e., destroy() was called.
|
|
188
|
+
*/
|
|
189
|
+
CubeMapFace.prototype.getPixelFormat = function() {
|
|
190
|
+
return this._pixelFormat;
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
CubeMapFace.prototype._getTexture = function() {
|
|
194
|
+
return this._texture;
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
CubeMapFace.prototype._getTarget = function() {
|
|
198
|
+
return this._targetFace;
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
return CubeMapFace;
|
|
202
|
+
});
|