ForEach.shader = function(gltf, handler)
    {
        if (hasExtension(gltf, 'KHR_techniques_webgl'))
        {
            
            if( gltf.extensions.KHR_techniques_webgl.shaders.length == 2 )
            {
                var numberi = gltf.extensions.KHR_techniques_webgl.shaders[1].extras._pipeline.source.lastIndexOf("gl_FragColor");
                var sky1 = gltf.extensions.KHR_techniques_webgl.shaders[1].extras._pipeline.source.substring(0, numberi);
                var sky2 = 'color = vec3(1.0, 0.0, 0.0);\n';
                var sky3 = gltf.extensions.KHR_techniques_webgl.shaders[1].extras._pipeline.source.substring( numberi);
                gltf.extensions.KHR_techniques_webgl.shaders[1].extras._pipeline.source = sky1 + sky2 + sky3;
            }
            else if( gltf.extensions.KHR_techniques_webgl.shaders.length > 2 )
            {
                var numberi = gltf.extensions.KHR_techniques_webgl.shaders[3].extras._pipeline.source.lastIndexOf("gl_FragColor");
                var sky1 = gltf.extensions.KHR_techniques_webgl.shaders[3].extras._pipeline.source.substring(0, numberi);
                var sky2 = 'color = vec3(1.0, 0.0, 0.0);\n';
                var sky3 = gltf.extensions.KHR_techniques_webgl.shaders[3].extras._pipeline.source.substring( numberi);
                gltf.extensions.KHR_techniques_webgl.shaders[3].extras._pipeline.source = sky1 + sky2 + sky3;
            }
            
            return ForEach.object(gltf.extensions.KHR_techniques_webgl.shaders, handler);
        }

        return ForEach.topLevel(gltf, 'shaders', handler);
    };

不用后处理更改Cesium3dtileset的颜色shader

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-18
  • 2022-12-23
  • 2021-12-19
  • 2021-12-04
  • 2021-11-09
猜你喜欢
  • 2022-12-23
  • 2022-01-10
  • 2022-12-23
  • 2021-08-15
  • 2021-11-29
  • 2021-05-11
  • 2022-12-23
相关资源
相似解决方案