首页 / 浏览问题 / 三维GIS / 问题详情
vue项目中三位地图加载GLTF文件报错
8EXP 2022年08月12日
使用产品: iClient 3D-WebGL 操作系统:win10 x64

问题详细描述:初始化三位地图报错,点击Ok后,刷新页面又可以正常加载

VM21796:1 [Cesium WebGL] Fragment shader compile log: ERROR: 0:9: '{' : syntax error
VM21796:1 [Cesium WebGL] Fragment shader translation failed.
pJ @ VM21796:1
VM21796:1 An error occurred while rendering.  Rendering has stopped.
undefined
RuntimeError: Fragment shader failed to compile.  Compile log: ERROR: 0:9: '{' : syntax error

2 个回答

您好,

您看您的报错有提到语法错误。

建议您查看一下代码中的问题。

另外有提到着色器编译失败,建议您这边从这方面入手。

或者更换浏览器看是否会遇到相同的问题。
4,151EXP 2022年08月12日

非常感谢,在Edge正常显示,在google上就会报下面的错,我的编译器里面没有提示语法错误,我也没有找到

在Edge正常显示,在google上才会报错,那应该不是包或者代码的问题。

您这边google是否是最新版本?

使用firefox等浏览器是否正常?

判断可能是当前您使用的谷歌浏览器在着色器的编译方面出现了问题。
可以贴代码看看的。
555EXP 2022年08月12日

在Google浏览器就会报错,首次加载是可以显示的,再刷新一次就报错,麻烦帮忙看下,谢谢了

//叠加模型
addGltf(){
  viewer.entities.add({
    name: "gltf",
    position: new Cesium.Cartesian3.fromDegrees(
        Number(117.03203201),
        Number(31.82579435),
        Number(0)
    ),
    model: {
      uri: '../../../static/model/pump.gltf',
      scale: 1.0, // 缩放比例
      minimumPixelSize: 128, // 最小像素大小
      maximumScale: 20000, // 模型的最大比例尺大小。 minimumPixelSize的上限
      incrementallyLoadTextures: true, // 加载模型后纹理是否可以继续流入
      shadows: Cesium.ShadowMode.ENABLED,//DISABLED 对象不投射或接收阴影;ENABLED 对象投射并接收阴影;CAST_ONLY  对象仅投射阴影;RECEIVE_ONLY  对象仅接收阴影
    }
  });
},
谢谢,是参考这个例子的
...