@cesium/engine 9.0.0 → 9.2.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.
- package/Build/ThirdParty/Workers/pako_deflate.min.js +108 -210
- package/Build/ThirdParty/Workers/pako_inflate.min.js +466 -568
- package/Build/ThirdParty/Workers/z-worker-pako.js +56 -105
- package/Build/Workers/{chunk-VR5RBW52.js → chunk-26NE4LRW.js} +7 -7
- package/Build/Workers/{chunk-P2YAAMT2.js → chunk-26XJDV3D.js} +15 -15
- package/Build/Workers/{chunk-L4BW3RUA.js → chunk-2TRB253J.js} +7 -7
- package/Build/Workers/{chunk-NP2GYYE5.js → chunk-3PV5HQ2R.js} +6 -6
- package/Build/Workers/{chunk-BCU2LH5T.js → chunk-3VDHTBY5.js} +10 -10
- package/Build/Workers/{chunk-WHUSTDIB.js → chunk-4RG6WOXH.js} +10 -10
- package/Build/Workers/{chunk-P4XKB3QZ.js → chunk-5OK5JFDP.js} +5 -5
- package/Build/Workers/{chunk-2ZBL3MVO.js → chunk-7HLZRYGD.js} +10 -12
- package/Build/Workers/chunk-7PFZ4Z7C.js +961 -0
- package/Build/Workers/{chunk-24YTYWNB.js → chunk-A5CSB5ZE.js} +11 -13
- package/Build/Workers/{chunk-RMOEYCZW.js → chunk-AROLUUGS.js} +2 -2
- package/Build/Workers/{chunk-3NCVAGDA.js → chunk-BBBTT36L.js} +14 -14
- package/Build/Workers/{chunk-QKBGRKKG.js → chunk-BNT2SNWU.js} +4 -4
- package/Build/Workers/{chunk-LQJ5FFFR.js → chunk-CFBGPZU6.js} +11 -13
- package/Build/Workers/{chunk-C6OI26DR.js → chunk-CVCVMOQA.js} +1 -1
- package/Build/Workers/{chunk-SS4ESNE3.js → chunk-DIVFF6DK.js} +2 -2
- package/Build/Workers/{chunk-PXB7T27O.js → chunk-EJZVBTX4.js} +6 -6
- package/Build/Workers/{chunk-TZORKRNK.js → chunk-EODIOQ35.js} +1 -1
- package/Build/Workers/{chunk-QCQUZGXI.js → chunk-ETC45PHH.js} +5 -6
- package/Build/Workers/{chunk-E6WXPSJS.js → chunk-G7IAO7CW.js} +7 -7
- package/Build/Workers/{chunk-X2F6BEPY.js → chunk-GOQEANLM.js} +16 -16
- package/Build/Workers/{chunk-7COR472O.js → chunk-GUFV24F4.js} +7197 -5096
- package/Build/Workers/{chunk-5TIV3L26.js → chunk-GX2BWBN2.js} +13 -13
- package/Build/Workers/{chunk-ADOVHYWO.js → chunk-GX5LMUGZ.js} +469 -6
- package/Build/Workers/{chunk-2632RVPI.js → chunk-I6CW7ZE5.js} +7 -7
- package/Build/Workers/{chunk-YDVSBWEO.js → chunk-IF2OX6R4.js} +3 -5
- package/Build/Workers/{chunk-RSJXEO2A.js → chunk-IXYFH7DV.js} +95 -155
- package/Build/Workers/{chunk-ZNVSKMQ2.js → chunk-K5F23SZO.js} +6 -6
- package/Build/Workers/{chunk-MWV7IZK4.js → chunk-KTZK2UDR.js} +7 -7
- package/Build/Workers/{chunk-HBQPB6IH.js → chunk-LZFFO4KB.js} +12 -12
- package/Build/Workers/{chunk-GFA4SMXV.js → chunk-OYP23VAL.js} +11 -11
- package/Build/Workers/{chunk-ZYPTP7GS.js → chunk-PHT53MCH.js} +11 -11
- package/Build/Workers/{chunk-TJBU6GML.js → chunk-PUQR43HZ.js} +6 -6
- package/Build/Workers/{chunk-CO35JNNE.js → chunk-QZIWFSRM.js} +4 -4
- package/Build/Workers/{chunk-C3XBUYBO.js → chunk-RDR4KVPA.js} +17 -17
- package/Build/Workers/{chunk-YV4H2Y7M.js → chunk-RRUO4QEK.js} +4 -4
- package/Build/Workers/{chunk-LAQP3SCC.js → chunk-RTIT7UDN.js} +2 -2
- package/Build/Workers/{chunk-Z7FQLK6N.js → chunk-SC3TBKST.js} +4 -4
- package/Build/Workers/{chunk-GXUXEOE2.js → chunk-TDIGL45B.js} +1 -1
- package/Build/Workers/{chunk-EOXYZ34O.js → chunk-TP4FFUAH.js} +2 -2
- package/Build/Workers/{chunk-N4KXMWQU.js → chunk-U2LSTOMA.js} +2 -2
- package/Build/Workers/{chunk-6WF3KIF5.js → chunk-U6MTSO6A.js} +47 -84
- package/Build/Workers/{chunk-I37B3MZ2.js → chunk-UICVDDCQ.js} +1 -1
- package/Build/Workers/{chunk-DPUSFA7S.js → chunk-UKJCFXVV.js} +6 -6
- package/Build/Workers/{chunk-EPKE7GE3.js → chunk-UYKG3UFK.js} +5 -5
- package/Build/Workers/{chunk-RV7ZOSS6.js → chunk-W4OS542B.js} +13 -13
- package/Build/Workers/{chunk-DGDUKCJJ.js → chunk-WHDEZSAL.js} +6 -6
- package/Build/Workers/{chunk-NZWNZA6S.js → chunk-WOYQB5HM.js} +5 -5
- package/Build/Workers/{chunk-M2AYBTNH.js → chunk-WP3LCUOE.js} +13 -13
- package/Build/Workers/{chunk-73FKKY52.js → chunk-YGNQJ4YI.js} +5 -5
- package/Build/Workers/{chunk-SE4PXOEA.js → chunk-YGTWKLFY.js} +19 -19
- package/Build/Workers/{chunk-5R6VWLMH.js → chunk-ZHJDE6JN.js} +6 -6
- package/Build/Workers/combineGeometry.js +22 -24
- package/Build/Workers/createBoxGeometry.js +16 -18
- package/Build/Workers/createBoxOutlineGeometry.js +14 -16
- package/Build/Workers/createCircleGeometry.js +24 -26
- package/Build/Workers/createCircleOutlineGeometry.js +17 -19
- package/Build/Workers/createCoplanarPolygonGeometry.js +33 -34
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +29 -31
- package/Build/Workers/createCorridorGeometry.js +27 -29
- package/Build/Workers/createCorridorOutlineGeometry.js +26 -28
- package/Build/Workers/createCylinderGeometry.js +18 -20
- package/Build/Workers/createCylinderOutlineGeometry.js +16 -18
- package/Build/Workers/createEllipseGeometry.js +24 -26
- package/Build/Workers/createEllipseOutlineGeometry.js +17 -19
- package/Build/Workers/createEllipsoidGeometry.js +17 -19
- package/Build/Workers/createEllipsoidOutlineGeometry.js +16 -18
- package/Build/Workers/createFrustumGeometry.js +16 -18
- package/Build/Workers/createFrustumOutlineGeometry.js +18 -19
- package/Build/Workers/createGeometry.js +22 -24
- package/Build/Workers/createGroundPolylineGeometry.js +23 -25
- package/Build/Workers/createPlaneGeometry.js +14 -16
- package/Build/Workers/createPlaneOutlineGeometry.js +13 -15
- package/Build/Workers/createPolygonGeometry.js +32 -34
- package/Build/Workers/createPolygonOutlineGeometry.js +28 -30
- package/Build/Workers/createPolylineGeometry.js +23 -25
- package/Build/Workers/createPolylineVolumeGeometry.js +29 -31
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -27
- package/Build/Workers/createRectangleGeometry.js +27 -29
- package/Build/Workers/createRectangleOutlineGeometry.js +18 -20
- package/Build/Workers/createSimplePolylineGeometry.js +21 -23
- package/Build/Workers/createSphereGeometry.js +17 -19
- package/Build/Workers/createSphereOutlineGeometry.js +16 -18
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +14 -16
- package/Build/Workers/createVectorTileGeometries.js +22 -24
- package/Build/Workers/createVectorTilePoints.js +12 -12
- package/Build/Workers/createVectorTilePolygons.js +20 -22
- package/Build/Workers/createVectorTilePolylines.js +14 -16
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +23 -25
- package/Build/Workers/createVerticesFromHeightmap.js +23 -25
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +19 -22
- package/Build/Workers/createWallGeometry.js +22 -24
- package/Build/Workers/createWallOutlineGeometry.js +21 -23
- package/Build/Workers/decodeDraco.js +11 -11
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +12 -19
- package/Build/Workers/decodeI3S.js +10 -11
- package/Build/Workers/transcodeKTX2.js +44 -80
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -22
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/Math.js +0 -5
- package/Source/Core/PixelFormat.js +1 -0
- package/Source/Core/Rectangle.js +89 -0
- package/Source/Core/TaskProcessor.js +19 -3
- package/Source/Core/sampleTerrain.js +3 -3
- package/Source/DataSources/DataSourceDisplay.js +5 -0
- package/Source/Renderer/ShaderBuilder.js +6 -3
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/Billboard.js +7 -5
- package/Source/Scene/Cesium3DTile.js +65 -0
- package/Source/Scene/Cesium3DTileset.js +48 -1
- package/Source/Scene/ClippingPolygon.js +212 -0
- package/Source/Scene/ClippingPolygonCollection.js +968 -0
- package/Source/Scene/Globe.js +14 -0
- package/Source/Scene/GlobeSurfaceShaderSet.js +81 -15
- package/Source/Scene/GlobeSurfaceTileProvider.js +81 -1
- package/Source/Scene/GltfLoader.js +458 -435
- package/Source/Scene/GltfLoaderUtil.js +3 -12
- package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +23 -7
- package/Source/Scene/GltfStructuralMetadataLoader.js +11 -9
- package/Source/Scene/Label.js +1 -1
- package/Source/Scene/Model/AlphaPipelineStage.js +1 -1
- package/Source/Scene/Model/GeometryPipelineStage.js +15 -43
- package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +7 -0
- package/Source/Scene/Model/LightingPipelineStage.js +2 -4
- package/Source/Scene/Model/MaterialPipelineStage.js +346 -29
- package/Source/Scene/Model/Model.js +91 -3
- package/Source/Scene/Model/Model3DTileContent.js +21 -0
- package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +92 -0
- package/Source/Scene/Model/ModelSceneGraph.js +5 -0
- package/Source/Scene/Model/ModelUtility.js +3 -0
- package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +4 -6
- package/Source/Scene/ModelComponents.js +169 -1
- package/Source/Scene/PickDepth.js +23 -15
- package/Source/Scene/ResourceCache.js +41 -50
- package/Source/Scene/ResourceCacheKey.js +41 -53
- package/Source/Scene/Terrain.js +2 -2
- package/Source/Shaders/Builtin/CzmBuiltins.js +6 -8
- package/Source/Shaders/Builtin/Functions/clipPolygons.glsl +37 -0
- package/Source/Shaders/Builtin/Functions/clipPolygons.js +39 -0
- package/Source/Shaders/Builtin/Functions/maximumComponent.glsl +21 -0
- package/Source/Shaders/Builtin/Functions/maximumComponent.js +23 -0
- package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +108 -44
- package/Source/Shaders/Builtin/Functions/pbrLighting.js +108 -44
- package/Source/Shaders/Builtin/Functions/unpackClippingExtents.glsl +14 -0
- package/Source/Shaders/Builtin/Functions/unpackClippingExtents.js +15 -0
- package/Source/Shaders/Builtin/Structs/modelMaterial.glsl +14 -0
- package/Source/Shaders/Builtin/Structs/modelMaterial.js +14 -0
- package/Source/Shaders/GlobeFS.glsl +13 -1
- package/Source/Shaders/GlobeFS.js +13 -1
- package/Source/Shaders/GlobeVS.glsl +32 -0
- package/Source/Shaders/GlobeVS.js +32 -0
- package/Source/Shaders/Model/GeometryStageVS.glsl +1 -1
- package/Source/Shaders/Model/GeometryStageVS.js +1 -1
- package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +211 -133
- package/Source/Shaders/Model/ImageBasedLightingStageFS.js +212 -133
- package/Source/Shaders/Model/LightingStageFS.glsl +113 -48
- package/Source/Shaders/Model/LightingStageFS.js +113 -48
- package/Source/Shaders/Model/MaterialStageFS.glsl +399 -137
- package/Source/Shaders/Model/MaterialStageFS.js +399 -137
- package/Source/Shaders/Model/ModelClippingPolygonsStageFS.glsl +6 -0
- package/Source/Shaders/Model/ModelClippingPolygonsStageFS.js +8 -0
- package/Source/Shaders/Model/ModelClippingPolygonsStageVS.glsl +27 -0
- package/Source/Shaders/Model/ModelClippingPolygonsStageVS.js +29 -0
- package/Source/Shaders/Model/ModelFS.glsl +6 -0
- package/Source/Shaders/Model/ModelFS.js +7 -1
- package/Source/Shaders/Model/ModelVS.glsl +4 -0
- package/Source/Shaders/Model/ModelVS.js +4 -0
- package/Source/Shaders/PolygonSignedDistanceFS.glsl +100 -0
- package/Source/Shaders/PolygonSignedDistanceFS.js +101 -0
- package/Source/ThirdParty/Workers/z-worker-pako.js +1 -1
- package/index.d.ts +230 -4
- package/index.js +234 -229
- package/package.json +1 -1
- package/Build/Workers/chunk-2KACWKS4.js +0 -501
- package/Build/Workers/chunk-2XPLH3JY.js +0 -2977
- package/Build/Workers/chunk-X6XOMPWL.js +0 -73
- package/Source/Shaders/Builtin/Functions/defaultPbrMaterial.glsl +0 -16
- package/Source/Shaders/Builtin/Functions/defaultPbrMaterial.js +0 -18
- package/Source/Shaders/Builtin/Functions/pbrMetallicRoughnessMaterial.glsl +0 -37
- package/Source/Shaders/Builtin/Functions/pbrMetallicRoughnessMaterial.js +0 -39
- package/Source/Shaders/Builtin/Functions/pbrSpecularGlossinessMaterial.glsl +0 -30
- package/Source/Shaders/Builtin/Functions/pbrSpecularGlossinessMaterial.js +0 -32
- package/Source/Shaders/Builtin/Structs/pbrParameters.glsl +0 -16
- package/Source/Shaders/Builtin/Structs/pbrParameters.js +0 -18
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Cesium - https://github.com/CesiumGS/cesium
|
|
4
|
-
* Version 1.116
|
|
5
|
-
*
|
|
6
|
-
* Copyright 2011-2022 Cesium Contributors
|
|
7
|
-
*
|
|
8
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
-
* you may not use this file except in compliance with the License.
|
|
10
|
-
* You may obtain a copy of the License at
|
|
11
|
-
*
|
|
12
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
-
*
|
|
14
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
15
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
-
* See the License for the specific language governing permissions and
|
|
18
|
-
* limitations under the License.
|
|
19
|
-
*
|
|
20
|
-
* Columbus View (Pat. Pend.)
|
|
21
|
-
*
|
|
22
|
-
* Portions licensed separately.
|
|
23
|
-
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
import {
|
|
27
|
-
defaultValue_default
|
|
28
|
-
} from "./chunk-TZORKRNK.js";
|
|
29
|
-
import {
|
|
30
|
-
defined_default
|
|
31
|
-
} from "./chunk-YDVSBWEO.js";
|
|
32
|
-
|
|
33
|
-
// packages/engine/Source/Core/combine.js
|
|
34
|
-
function combine(object1, object2, deep) {
|
|
35
|
-
deep = defaultValue_default(deep, false);
|
|
36
|
-
const result = {};
|
|
37
|
-
const object1Defined = defined_default(object1);
|
|
38
|
-
const object2Defined = defined_default(object2);
|
|
39
|
-
let property;
|
|
40
|
-
let object1Value;
|
|
41
|
-
let object2Value;
|
|
42
|
-
if (object1Defined) {
|
|
43
|
-
for (property in object1) {
|
|
44
|
-
if (object1.hasOwnProperty(property)) {
|
|
45
|
-
object1Value = object1[property];
|
|
46
|
-
if (object2Defined && deep && typeof object1Value === "object" && object2.hasOwnProperty(property)) {
|
|
47
|
-
object2Value = object2[property];
|
|
48
|
-
if (typeof object2Value === "object") {
|
|
49
|
-
result[property] = combine(object1Value, object2Value, deep);
|
|
50
|
-
} else {
|
|
51
|
-
result[property] = object1Value;
|
|
52
|
-
}
|
|
53
|
-
} else {
|
|
54
|
-
result[property] = object1Value;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (object2Defined) {
|
|
60
|
-
for (property in object2) {
|
|
61
|
-
if (object2.hasOwnProperty(property) && !result.hasOwnProperty(property)) {
|
|
62
|
-
object2Value = object2[property];
|
|
63
|
-
result[property] = object2Value;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
return result;
|
|
68
|
-
}
|
|
69
|
-
var combine_default = combine;
|
|
70
|
-
|
|
71
|
-
export {
|
|
72
|
-
combine_default
|
|
73
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Get default parameters for physically based rendering. These defaults
|
|
3
|
-
* describe a rough dielectric (non-metal) surface (e.g. rough plastic).
|
|
4
|
-
*
|
|
5
|
-
* @return {czm_pbrParameters} Default parameters for {@link czm_pbrLighting}
|
|
6
|
-
*/
|
|
7
|
-
czm_pbrParameters czm_defaultPbrMaterial()
|
|
8
|
-
{
|
|
9
|
-
czm_pbrParameters results;
|
|
10
|
-
results.diffuseColor = vec3(1.0);
|
|
11
|
-
results.roughness = 1.0;
|
|
12
|
-
|
|
13
|
-
const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04);
|
|
14
|
-
results.f0 = REFLECTANCE_DIELECTRIC;
|
|
15
|
-
return results;
|
|
16
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
//This file is automatically rebuilt by the Cesium build process.
|
|
2
|
-
export default "/**\n\
|
|
3
|
-
* Get default parameters for physically based rendering. These defaults\n\
|
|
4
|
-
* describe a rough dielectric (non-metal) surface (e.g. rough plastic).\n\
|
|
5
|
-
*\n\
|
|
6
|
-
* @return {czm_pbrParameters} Default parameters for {@link czm_pbrLighting}\n\
|
|
7
|
-
*/\n\
|
|
8
|
-
czm_pbrParameters czm_defaultPbrMaterial()\n\
|
|
9
|
-
{\n\
|
|
10
|
-
czm_pbrParameters results;\n\
|
|
11
|
-
results.diffuseColor = vec3(1.0);\n\
|
|
12
|
-
results.roughness = 1.0;\n\
|
|
13
|
-
\n\
|
|
14
|
-
const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04);\n\
|
|
15
|
-
results.f0 = REFLECTANCE_DIELECTRIC;\n\
|
|
16
|
-
return results;\n\
|
|
17
|
-
}\n\
|
|
18
|
-
";
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Compute parameters for physically based rendering using the
|
|
3
|
-
* metallic/roughness workflow. All inputs are linear; sRGB texture values must
|
|
4
|
-
* be decoded beforehand
|
|
5
|
-
*
|
|
6
|
-
* @name czm_pbrMetallicRoughnessMaterial
|
|
7
|
-
* @glslFunction
|
|
8
|
-
*
|
|
9
|
-
* @param {vec3} baseColor For dielectrics, this is the base color. For metals, this is the f0 value (reflectance at normal incidence)
|
|
10
|
-
* @param {float} metallic 0.0 indicates dielectric. 1.0 indicates metal. Values in between are allowed (e.g. to model rust or dirt);
|
|
11
|
-
* @param {float} roughness A value between 0.0 and 1.0
|
|
12
|
-
* @return {czm_pbrParameters} parameters to pass into {@link czm_pbrLighting}
|
|
13
|
-
*/
|
|
14
|
-
czm_pbrParameters czm_pbrMetallicRoughnessMaterial(
|
|
15
|
-
vec3 baseColor,
|
|
16
|
-
float metallic,
|
|
17
|
-
float roughness
|
|
18
|
-
)
|
|
19
|
-
{
|
|
20
|
-
czm_pbrParameters results;
|
|
21
|
-
|
|
22
|
-
// roughness is authored as perceptual roughness
|
|
23
|
-
// square it to get material roughness
|
|
24
|
-
roughness = clamp(roughness, 0.0, 1.0);
|
|
25
|
-
results.roughness = roughness * roughness;
|
|
26
|
-
|
|
27
|
-
// dielectrics use f0 = 0.04, metals use albedo as f0
|
|
28
|
-
metallic = clamp(metallic, 0.0, 1.0);
|
|
29
|
-
const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04);
|
|
30
|
-
vec3 f0 = mix(REFLECTANCE_DIELECTRIC, baseColor, metallic);
|
|
31
|
-
results.f0 = f0;
|
|
32
|
-
|
|
33
|
-
// diffuse only applies to dielectrics.
|
|
34
|
-
results.diffuseColor = baseColor * (1.0 - f0) * (1.0 - metallic);
|
|
35
|
-
|
|
36
|
-
return results;
|
|
37
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
//This file is automatically rebuilt by the Cesium build process.
|
|
2
|
-
export default "/**\n\
|
|
3
|
-
* Compute parameters for physically based rendering using the\n\
|
|
4
|
-
* metallic/roughness workflow. All inputs are linear; sRGB texture values must\n\
|
|
5
|
-
* be decoded beforehand\n\
|
|
6
|
-
*\n\
|
|
7
|
-
* @name czm_pbrMetallicRoughnessMaterial\n\
|
|
8
|
-
* @glslFunction\n\
|
|
9
|
-
*\n\
|
|
10
|
-
* @param {vec3} baseColor For dielectrics, this is the base color. For metals, this is the f0 value (reflectance at normal incidence)\n\
|
|
11
|
-
* @param {float} metallic 0.0 indicates dielectric. 1.0 indicates metal. Values in between are allowed (e.g. to model rust or dirt);\n\
|
|
12
|
-
* @param {float} roughness A value between 0.0 and 1.0\n\
|
|
13
|
-
* @return {czm_pbrParameters} parameters to pass into {@link czm_pbrLighting}\n\
|
|
14
|
-
*/\n\
|
|
15
|
-
czm_pbrParameters czm_pbrMetallicRoughnessMaterial(\n\
|
|
16
|
-
vec3 baseColor,\n\
|
|
17
|
-
float metallic,\n\
|
|
18
|
-
float roughness\n\
|
|
19
|
-
) \n\
|
|
20
|
-
{\n\
|
|
21
|
-
czm_pbrParameters results;\n\
|
|
22
|
-
\n\
|
|
23
|
-
// roughness is authored as perceptual roughness\n\
|
|
24
|
-
// square it to get material roughness\n\
|
|
25
|
-
roughness = clamp(roughness, 0.0, 1.0);\n\
|
|
26
|
-
results.roughness = roughness * roughness;\n\
|
|
27
|
-
\n\
|
|
28
|
-
// dielectrics use f0 = 0.04, metals use albedo as f0\n\
|
|
29
|
-
metallic = clamp(metallic, 0.0, 1.0);\n\
|
|
30
|
-
const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04);\n\
|
|
31
|
-
vec3 f0 = mix(REFLECTANCE_DIELECTRIC, baseColor, metallic);\n\
|
|
32
|
-
results.f0 = f0;\n\
|
|
33
|
-
\n\
|
|
34
|
-
// diffuse only applies to dielectrics.\n\
|
|
35
|
-
results.diffuseColor = baseColor * (1.0 - f0) * (1.0 - metallic);\n\
|
|
36
|
-
\n\
|
|
37
|
-
return results;\n\
|
|
38
|
-
}\n\
|
|
39
|
-
";
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Compute parameters for physically based rendering using the
|
|
3
|
-
* specular/glossy workflow. All inputs are linear; sRGB texture values must
|
|
4
|
-
* be decoded beforehand
|
|
5
|
-
*
|
|
6
|
-
* @name czm_pbrSpecularGlossinessMaterial
|
|
7
|
-
* @glslFunction
|
|
8
|
-
*
|
|
9
|
-
* @param {vec3} diffuse The diffuse color for dielectrics (non-metals)
|
|
10
|
-
* @param {vec3} specular The reflectance at normal incidence (f0)
|
|
11
|
-
* @param {float} glossiness A number from 0.0 to 1.0 indicating how smooth the surface is.
|
|
12
|
-
* @return {czm_pbrParameters} parameters to pass into {@link czm_pbrLighting}
|
|
13
|
-
*/
|
|
14
|
-
czm_pbrParameters czm_pbrSpecularGlossinessMaterial(
|
|
15
|
-
vec3 diffuse,
|
|
16
|
-
vec3 specular,
|
|
17
|
-
float glossiness
|
|
18
|
-
)
|
|
19
|
-
{
|
|
20
|
-
czm_pbrParameters results;
|
|
21
|
-
|
|
22
|
-
// glossiness is the opposite of roughness, but easier for artists to use.
|
|
23
|
-
float roughness = 1.0 - glossiness;
|
|
24
|
-
results.roughness = roughness * roughness;
|
|
25
|
-
|
|
26
|
-
results.diffuseColor = diffuse * (1.0 - max(max(specular.r, specular.g), specular.b));
|
|
27
|
-
results.f0 = specular;
|
|
28
|
-
|
|
29
|
-
return results;
|
|
30
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
//This file is automatically rebuilt by the Cesium build process.
|
|
2
|
-
export default "/**\n\
|
|
3
|
-
* Compute parameters for physically based rendering using the\n\
|
|
4
|
-
* specular/glossy workflow. All inputs are linear; sRGB texture values must\n\
|
|
5
|
-
* be decoded beforehand\n\
|
|
6
|
-
*\n\
|
|
7
|
-
* @name czm_pbrSpecularGlossinessMaterial\n\
|
|
8
|
-
* @glslFunction\n\
|
|
9
|
-
*\n\
|
|
10
|
-
* @param {vec3} diffuse The diffuse color for dielectrics (non-metals)\n\
|
|
11
|
-
* @param {vec3} specular The reflectance at normal incidence (f0)\n\
|
|
12
|
-
* @param {float} glossiness A number from 0.0 to 1.0 indicating how smooth the surface is.\n\
|
|
13
|
-
* @return {czm_pbrParameters} parameters to pass into {@link czm_pbrLighting}\n\
|
|
14
|
-
*/\n\
|
|
15
|
-
czm_pbrParameters czm_pbrSpecularGlossinessMaterial(\n\
|
|
16
|
-
vec3 diffuse,\n\
|
|
17
|
-
vec3 specular,\n\
|
|
18
|
-
float glossiness\n\
|
|
19
|
-
) \n\
|
|
20
|
-
{\n\
|
|
21
|
-
czm_pbrParameters results;\n\
|
|
22
|
-
\n\
|
|
23
|
-
// glossiness is the opposite of roughness, but easier for artists to use.\n\
|
|
24
|
-
float roughness = 1.0 - glossiness;\n\
|
|
25
|
-
results.roughness = roughness * roughness;\n\
|
|
26
|
-
\n\
|
|
27
|
-
results.diffuseColor = diffuse * (1.0 - max(max(specular.r, specular.g), specular.b));\n\
|
|
28
|
-
results.f0 = specular;\n\
|
|
29
|
-
\n\
|
|
30
|
-
return results;\n\
|
|
31
|
-
}\n\
|
|
32
|
-
";
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parameters for {@link czm_pbrLighting}
|
|
3
|
-
*
|
|
4
|
-
* @name czm_material
|
|
5
|
-
* @glslStruct
|
|
6
|
-
*
|
|
7
|
-
* @property {vec3} diffuseColor the diffuse color of the material for the lambert term of the rendering equation
|
|
8
|
-
* @property {float} roughness a value from 0.0 to 1.0 that indicates how rough the surface of the material is.
|
|
9
|
-
* @property {vec3} f0 The reflectance of the material at normal incidence
|
|
10
|
-
*/
|
|
11
|
-
struct czm_pbrParameters
|
|
12
|
-
{
|
|
13
|
-
vec3 diffuseColor;
|
|
14
|
-
float roughness;
|
|
15
|
-
vec3 f0;
|
|
16
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
//This file is automatically rebuilt by the Cesium build process.
|
|
2
|
-
export default "/**\n\
|
|
3
|
-
* Parameters for {@link czm_pbrLighting}\n\
|
|
4
|
-
*\n\
|
|
5
|
-
* @name czm_material\n\
|
|
6
|
-
* @glslStruct\n\
|
|
7
|
-
*\n\
|
|
8
|
-
* @property {vec3} diffuseColor the diffuse color of the material for the lambert term of the rendering equation\n\
|
|
9
|
-
* @property {float} roughness a value from 0.0 to 1.0 that indicates how rough the surface of the material is.\n\
|
|
10
|
-
* @property {vec3} f0 The reflectance of the material at normal incidence\n\
|
|
11
|
-
*/\n\
|
|
12
|
-
struct czm_pbrParameters\n\
|
|
13
|
-
{\n\
|
|
14
|
-
vec3 diffuseColor;\n\
|
|
15
|
-
float roughness;\n\
|
|
16
|
-
vec3 f0;\n\
|
|
17
|
-
};\n\
|
|
18
|
-
";
|