Glsl 铯在Cartesian3空间中定义的轴对齐边界框内绘制地球表面

Glsl 铯在Cartesian3空间中定义的轴对齐边界框内绘制地球表面,glsl,cesium,Glsl,Cesium,我想用铯来标记曲面上边界框内的区域。我首先使用BoxGraphics绘制边界框,但是,当您在笛卡尔空间中指定位置时,它会自动转换为在Lat/Lon空间中旋转并调整大小的框。我使用多段线来绘制,尽管必须使用最新版本来支持ArcType,以防止人为地绘制曲线 然而,这两者都画了一个盒子,这个盒子并没有被地球本身很好地遮挡,并且很难分辨它与地表相交的地方 然后,我开始查看创建的fragement着色器,该着色器将在viewer.scene.globe.material上使用,该着色器将根据世界位置使用

我想用铯来标记曲面上边界框内的区域。我首先使用BoxGraphics绘制边界框,但是,当您在笛卡尔空间中指定位置时,它会自动转换为在Lat/Lon空间中旋转并调整大小的框。我使用多段线来绘制,尽管必须使用最新版本来支持ArcType,以防止人为地绘制曲线

然而,这两者都画了一个盒子,这个盒子并没有被地球本身很好地遮挡,并且很难分辨它与地表相交的地方

然后,我开始查看创建的fragement着色器,该着色器将在viewer.scene.globe.material上使用,该着色器将根据世界位置使用不同的颜色(如果在边界框内,则使用不同的颜色)。这是通过源着色器而不是组件着色器完成的,因为需要更多的控制

但是,着色器函数czm_material czm_getMaterial(czm_materialInput materialInput)无权访问世界坐标

首先,我尝试了“改变vec4 worldCoord”,但我认为这可能适用于顶点着色器,因为它失败了

然后我尝试了“in vec4 fl_FragCoord”;但我得到了一个错误“'in”:仅GLSL ES 3.00及以上版本支持的存储限定符”

在这种情况下,也许我使用了错误的着色器方法?也许有更好的方法获得fragement着色器源的世界位置int

我真的不知道从这里到哪里在我的ECEF轴对齐边界框中为地球表面着色