A 3D model. This is a new architecture that is more decoupled than the older
Model. This class is still experimental.
Do not call this function directly, instead use the `from` functions to create
the Model from your source data type.
| Name |
Type |
Description |
options |
Object
|
Object with the following properties:
| Name |
Type |
Default |
Description |
resource |
Resource
|
|
The Resource to the 3D model. |
modelMatrix |
Matrix4
|
Matrix4.IDENTITY
|
optional
The 4x4 transformation matrix that transforms the model from model to world coordinates. |
debugShowBoundingVolume |
Boolean
|
false
|
optional
For debugging only. Draws the bounding sphere for each draw command in the model. |
cull |
Boolean
|
true
|
optional
Whether or not to cull the model using frustum/horizon culling. If the model is part of a 3D Tiles tileset, this property will always be false, since the 3D Tiles culling system is used. |
opaquePass |
Boolean
|
Pass.OPAQUE
|
optional
The pass to use in the DrawCommand for the opaque portions of the model. |
allowPicking |
Boolean
|
true
|
optional
When true, each primitive is pickable with Scene#pick. |
customShader |
CustomShader
|
|
optional
A custom shader. This will add user-defined GLSL code to the vertex and fragment shaders. Using custom shaders with a Cesium3DTileStyle may lead to undefined behavior. |
content |
Cesium3DTileContent
|
|
optional
The tile content this model belongs to. This property will be undefined if model is not loaded as part of a tileset. |
show |
Boolean
|
true
|
optional
Whether or not to render the model. |
color |
Color
|
|
optional
A color that blends with the model's rendered color. |
colorBlendMode |
ColorBlendMode
|
ColorBlendMode.HIGHLIGHT
|
optional
Defines how the color blends with the model. |
colorBlendAmount |
Number
|
0.5
|
optional
Value used to determine the color strength when the colorBlendMode is MIX. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two. |
featureIdAttributeIndex |
Number
|
0
|
optional
The index of the feature ID attribute to use for picking features per-instance or per-primitive. |
featureIdTextureIndex |
Number
|
0
|
optional
The index of the feature ID texture to use for picking features per-primitive. |
|
Experimental
This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
Members
Gets the model's bounding sphere.
The color to blend with the model's rendered color.
Value used to determine the color strength when the colorBlendMode is MIX. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two.
0.5
Defines how the color blends with the model.
ColorBlendMode.HIGHLIGHT
The model's custom shader, if it exists. Using custom shaders with a
Cesium3DTileStyle
may lead to undefined behavior.
This property is for debugging only; it is not for production use nor is it optimized.
Draws the bounding sphere for each draw command in the model.
false
The index of the feature ID attribute to use for picking features per-instance or per-primitive.
0
The index of the feature ID texture to use for picking features per-primitive.
0
When
true, this model is ready to render, i.e., the external binary, image,
and shader files were downloaded and the WebGL resources were created. This is set to
true right before
ModelExperimental#readyPromise is resolved.
false
Gets the promise that will be resolved when this model is ready to render, i.e. when the external resources
have been downloaded and the WebGL resources are created.
This promise is resolved at the end of the frame before the first frame the model is rendered in.
Whether or not to render the model.
true
Methods
Creates a model from a glTF asset. When the model is ready to render, i.e., when the external binary, image,
and shader files are downloaded and the WebGL resources are created, the Model#readyPromise is resolved.
The model can be a traditional glTF asset with a .gltf extension or a Binary glTF using the .glb extension.
| Name |
Type |
Description |
options |
Object
|
Object with the following properties:
| Name |
Type |
Default |
Description |
gltf |
String
|
Resource
|
Uint8Array
|
Object
|
|
A Resource/URL to a glTF/glb file, a binary glTF buffer, or a JSON object containing the glTF contents |
basePath |
String
|
Resource
|
''
|
optional
The base path that paths in the glTF JSON are relative to. |
modelMatrix |
Matrix4
|
Matrix4.IDENTITY
|
optional
The 4x4 transformation matrix that transforms the model from model to world coordinates. |
incrementallyLoadTextures |
Boolean
|
true
|
optional
Determine if textures may continue to stream in after the model is loaded. |
releaseGltfJson |
Boolean
|
false
|
optional
When true, the glTF JSON is released once the glTF is loaded. This is is especially useful for cases like 3D Tiles, where each .gltf model is unique and caching the glTF JSON is not effective. |
debugShowBoundingVolume |
Boolean
|
false
|
optional
For debugging only. Draws the bounding sphere for each draw command in the model. |
cull |
Boolean
|
true
|
optional
Whether or not to cull the model using frustum/horizon culling. If the model is part of a 3D Tiles tileset, this property will always be false, since the 3D Tiles culling system is used. |
opaquePass |
Boolean
|
Pass.OPAQUE
|
optional
The pass to use in the DrawCommand for the opaque portions of the model. |
upAxis |
Axis
|
Axis.Y
|
optional
The up-axis of the glTF model. |
forwardAxis |
Axis
|
Axis.Z
|
optional
The forward-axis of the glTF model. |
allowPicking |
Boolean
|
true
|
optional
When true, each primitive is pickable with Scene#pick. |
customShader |
CustomShader
|
|
optional
A custom shader. This will add user-defined GLSL code to the vertex and fragment shaders. Using custom shaders with a Cesium3DTileStyle may lead to undefined behavior. |
content |
Cesium3DTileContent
|
|
optional
The tile content this model belongs to. This property will be undefined if model is not loaded as part of a tileset. |
show |
Boolean
|
true
|
optional
Whether or not to render the model. |
color |
Color
|
|
optional
A color that blends with the model's rendered color. |
colorBlendMode |
ColorBlendMode
|
ColorBlendMode.HIGHLIGHT
|
optional
Defines how the color blends with the model. |
colorBlendAmount |
Number
|
0.5
|
optional
Value used to determine the color strength when the colorBlendMode is MIX. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two. |
featureIdAttributeIndex |
Number
|
0
|
optional
The index of the feature ID attribute to use for picking features per-instance or per-primitive. |
featureIdTextureIndex |
Number
|
0
|
optional
The index of the feature ID texture to use for picking features per-primitive. |
|
Returns:
The newly created model.
Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
release of WebGL resources, instead of relying on the garbage collector to destroy this object.
Once an object is destroyed, it should not be used; calling any function other than
isDestroyed will result in a
DeveloperError exception. Therefore,
assign the return value (
undefined) to the object as done in the example.
Throws:
-
DeveloperError
: This object was destroyed, i.e., destroy() was called.
Example:
model = model && model.destroy();
See:
Returns true if this object was destroyed; otherwise, false.
If this object was destroyed, it should not be used; calling any function other than
isDestroyed will result in a
DeveloperError exception.
Returns:
true if this object was destroyed; otherwise, false.
See:
Called when
Viewer or
CesiumWidget render the scene to
get the draw commands needed to render this primitive.
Do not call this function directly. This is documented just to
list the exceptions that may be propagated when the scene is rendered:
Throws: