首页 > 其他分享 >Cesium CustomShader 不生效的问题

Cesium CustomShader 不生效的问题

时间:2023-08-11 14:55:13浏览次数:50  
标签:tileset loadTilesetTexture CustomShader 生效 Cesium enableModelExperimental custom

CustomShader官网文档(1.95版本):http://cesium.xin/cesium/en/Documentation1.95/CustomShader.html

一个比较刁钻的例子。
这几天想给模型贴图,学习用CustomShader,找了几个文章的demo和官方demo,都不生效,原来代码基本是这样的:

function loadTilesetTexture(tileset) {
    Cesium.ExperimentalFeatures.enableModelExperimental = true;

    let customShader = new Cesium.CustomShader({
        ...
    });
    tileset.customShader = customShader;
}

后来做了各种尝试包括把customShader赋值放到readyPromise之后,在加载模型时直接定义customShader,加延时,换其他类型的模型,升级Cesium等,今天才偶然发现是 enableModelExperimental 这句放的位置不对,应该放在将模型的primitive添加到scene.primitives之前:

    Cesium.ExperimentalFeatures.enableModelExperimental = true;

    tileset = viewer.scene.primitives.add(
        new Cesium.Cesium3DTileset({
            ...
        })
    );

    loadTilesetTexture(tileset);

    function loadTilesetTexture(tileset) {
        let customShader = new Cesium.CustomShader({
            ...
        });
        tileset.customShader = customShader;
    }

标签:tileset,loadTilesetTexture,CustomShader,生效,Cesium,enableModelExperimental,custom
From: https://www.cnblogs.com/cosmicbison/p/17622961.html

相关文章

  • 同时安装jdk1.8和jdk11,jdk11不生效问题
     电脑之前安装的是1.8,后来又安装了jdk11,各种环境都配置好后,java-version版本,一直显示1.8网上最后,查到一个解决方法:    只需要打开path环境,把JAVA_HOME%bin上移到最上面就行! 参考:https://blog.csdn.net/zx1234578/article/details/123377437 ......
  • 利用 3D 地理空间数据实现Cesium的沉浸式环境
    推荐:使用NSDT场景编辑器助你快速搭建可编辑的3D应用场景为了将大量异构3D地理空间数据处理和分散到各行各业的地理空间应用程序和运行时引擎,Cesium创建了3DTiles,这是一种用于高效流式传输和渲染大量异构数据集的开放标准。3DTiles是一种可流式传输的优化格式,旨在支持最苛刻......
  • SpringBoot源码实用场景:SpringBoot 3.1.0 环境下 PageHelper 1.4.0不生效问题排查
    1、技术栈:JDK17+SpringBoot3.1.0+PageHelper1.4.01<?xmlversion="1.0"encoding="UTF-8"?>2<project...>3<parent>4<groupId>org.springframework.boot</groupId>5<arti......
  • MySQL修改my.cnf配置不生效的解决方法
    MySQL修改my.cnf配置不生效的解决方法 这篇文章主要介绍了MySQL修改my.cnf配置不生效的解决方法,简单分析了配置文件的执行顺序与原理并提出解决方法,需要的朋友可以参考下本文实例讲述了MySQL修改my.cnf配置不生效的解决方法。分享给大家供大家参考,具体如下:一、问题:修改了......
  • QComboBox在ubuntu下不显示滚动条问题,下拉框出现位置不固定问题,设置显示最大数量不生
    这里的Ubuntu指的是银河麒麟,问题也是在麒麟下出现的。没有在Ubuntu试过是否有同样的问题。但是估计也差不多,毕竟国产系统跟Ubuntu本来就纠缠不清。用QT写了一个QComboBox,自定义了一些样式,在Windows下显示正常,但是在Ubuntu下不显示滚动条,下拉框位置根据当前选项变化而不是固定显示......
  • 【ES】同时使用should和must 导致只有must生效
    参数如下:{"size":10000,"query":{"bool":{"must":[{"range":{"dateTime":{......
  • uniapp 使用camera组件IOS圆角不生效问题
    <viewclass="cameraViewgui-margin-top"><cameraclass="camera-box"device-position="front"flash="off"></camera></view>.cameraView{width:600rpx;height:600rpx;border-radius:50%;bord......
  • a标签伪类设置后不生效
    a标签伪类设置后不生效检查书写伪类顺序是否正确link->visited->hover->activea{/*未访问过*/&:link{color:green;}/*访问过*/&:visited{color:red;}/*移入超链接*/&:hover{color:#abcdef;}/*按下超链接......
  • ufw设置防火墙未生效
    防火墙规则的顺序很重要。由于你一开始就为所有端口都允许使用端口80,因此此规则将与所有请求匹配,并且以后出现的拒绝规则将永远不会被匹配。所以,如果你需要的东西块particluarly,把它放在开头,然后让所有。要查看带有参考号的规则,请使用以下命令:sudoufwstatusnumbered然后,首......
  • mysql 创建索引 立即生效
    MySQL创建索引立即生效在MySQL数据库中,索引是用于提高查询效率的重要工具。当我们在表中创建索引时,默认情况下,MySQL会在后台异步地对索引进行构建。这意味着索引的创建可能需要一些时间才能完成,并且在此过程中,对表的查询性能可能会受到一定的影响。然而,在某些情况下,我们希望......