main.cesium.PointCloudShading.kt Maven / Gradle / Ivy
// Automatically generated - do not modify!
@file:JsModule("cesium")
@file:Suppress(
"NON_EXTERNAL_DECLARATION_IN_INAPPROPRIATE_FILE",
)
package cesium
/**
* Options for performing point attenuation based on geometric error when rendering
* point clouds using 3D Tiles.
* @see Online Documentation
*/
external class PointCloudShading {
/**
* Perform point attenuation based on geometric error.
* @see Online Documentation
*/
var attenuation: Boolean
/**
* Scale to be applied to the geometric error before computing attenuation.
* @see Online Documentation
*/
var geometricErrorScale: Double
/**
* Maximum point attenuation in pixels. If undefined, the Cesium3DTileset's maximumScreenSpaceError will be used.
* @see Online Documentation
*/
var maximumAttenuation: Int
/**
* Average base resolution for the dataset in meters.
* Used in place of geometric error when geometric error is 0.
* If undefined, an approximation will be computed for each tile that has geometric error of 0.
* @see Online Documentation
*/
var baseResolution: Int
/**
* Use eye dome lighting when drawing with point attenuation
* Requires support for EXT_frag_depth, OES_texture_float, and WEBGL_draw_buffers extensions in WebGL 1.0,
* otherwise eye dome lighting is ignored.
* @see Online Documentation
*/
var eyeDomeLighting: Boolean
/**
* Eye dome lighting strength (apparent contrast)
* @see Online Documentation
*/
var eyeDomeLightingStrength: Double
/**
* Thickness of contours from eye dome lighting
* @see Online Documentation
*/
var eyeDomeLightingRadius: Double
/**
* Determines whether back-facing points are hidden.
* This option works only if data has normals included.
* @see Online Documentation
*/
var backFaceCulling: Boolean
/**
* Determines whether a point cloud that contains normals is shaded by the scene's light source.
* @see Online Documentation
*/
var normalShading: Boolean
companion object {
/**
* Determines if point cloud shading is supported.
* @param [scene] The scene.
* @return `true` if point cloud shading is supported; otherwise, returns `false`
* @see Online Documentation
*/
fun isSupported(scene: Scene): Boolean
}
}
inline fun PointCloudShading(
block: PointCloudShading.() -> Unit,
): PointCloudShading =
PointCloudShading().apply(block)