@cesium/engine
Version:
CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.
48 lines (47 loc) • 1.96 kB
JavaScript
//This file is automatically rebuilt by the Cesium build process.
export default "float getPointSizeFromAttenuation(vec3 positionEC) {\n\
// Variables are packed into a single vector to minimize gl.uniformXXX() calls\n\
float pointSize = model_pointCloudParameters.x;\n\
float geometricError = model_pointCloudParameters.y;\n\
float depthMultiplier = model_pointCloudParameters.z;\n\
\n\
float depth = -positionEC.z;\n\
return min((geometricError / depth) * depthMultiplier, pointSize);\n\
}\n\
\n\
#ifdef HAS_POINT_CLOUD_SHOW_STYLE\n\
float pointCloudShowStylingStage(in ProcessedAttributes attributes, in Metadata metadata) {\n\
float tiles3d_tileset_time = model_pointCloudParameters.w;\n\
return float(getShowFromStyle(attributes, metadata, tiles3d_tileset_time));\n\
}\n\
#endif\n\
\n\
#ifdef HAS_POINT_CLOUD_COLOR_STYLE\n\
vec4 pointCloudColorStylingStage(in ProcessedAttributes attributes, in Metadata metadata) {\n\
float tiles3d_tileset_time = model_pointCloudParameters.w;\n\
return getColorFromStyle(attributes, metadata, tiles3d_tileset_time);\n\
}\n\
#endif\n\
\n\
#ifdef HAS_POINT_CLOUD_POINT_SIZE_STYLE\n\
float pointCloudPointSizeStylingStage(in ProcessedAttributes attributes, in Metadata metadata) {\n\
float tiles3d_tileset_time = model_pointCloudParameters.w;\n\
return float(getPointSizeFromStyle(attributes, metadata, tiles3d_tileset_time));\n\
}\n\
#elif defined(HAS_POINT_CLOUD_ATTENUATION)\n\
float pointCloudPointSizeStylingStage(in ProcessedAttributes attributes, in Metadata metadata) {\n\
return getPointSizeFromAttenuation(v_positionEC);\n\
}\n\
#endif\n\
\n\
#ifdef HAS_POINT_CLOUD_BACK_FACE_CULLING\n\
float pointCloudBackFaceCullingStage() {\n\
#if defined(HAS_NORMALS) && !defined(HAS_DOUBLE_SIDED_MATERIAL)\n\
// This needs to be computed in eye coordinates so we can't use attributes.normalMC\n\
return step(-v_normalEC.z, 0.0);\n\
#else\n\
return 1.0;\n\
#endif\n\
}\n\
#endif\n\
";