ModelExperimental

new Cesium.ModelExperimental(options)

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.
Default Value: 0.5
Defines how the color blends with the model.
Default Value: ColorBlendMode.HIGHLIGHT
The model's custom shader, if it exists. Using custom shaders with a Cesium3DTileStyle may lead to undefined behavior.

debugShowBoundingVolume : Boolean

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.

Default Value: false

featureIdAttributeIndex : Number

The index of the feature ID attribute to use for picking features per-instance or per-primitive.
Default Value: 0

featureIdTextureIndex : Number

The index of the feature ID texture to use for picking features per-primitive.
Default Value: 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.
Default Value: 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.
Default Value: true

Methods

static Cesium.ModelExperimental.fromGltf(options)ModelExperimental

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: