Cesium快速上手8-Appearance&Material

摘要:
image.png比较通用的有两个:Cesium.MaterialAppearance(options)可以设置纹理图案Cesium.PerInstanceColorAppearance(options)主要用于颜色属性,与Cesium.GeometryInstance中attributes中colo属性;每个GeometryInstance一个颜色;另外需要注意:EllipsoidSurface

Cesium快速上手8-Appearance&Material第1张

image.png

比较通用的有两个:
Cesium.MaterialAppearance(options) 可以设置纹理图案
Cesium.PerInstanceColorAppearance(options) 主要用于颜色属性,与 Cesium.GeometryInstance中attributes中 colo属性 ; 每个GeometryInstance 一个颜色;

另外需要注意:
EllipsoidSurfaceAppearance / MaterialAppearance  / PolylineMaterialAppearance 可设置Material属性
PerInstanceColorAppearance / PolylineColorAppearance  不可设置Material属性,只可更改颜色

//Add Primitives
scene.primitives.add(new Cesium.Primitive({
    geometryInstances : new Cesium.GeometryInstance({
        geometry : Cesium.BoxGeometry.fromDimensions({
            vertexFormat : Cesium.PerInstanceColorAppearance.VERTEX_FORMAT,
            dimensions : new Cesium.Cartesian3(400000.0, 300000.0, 500000.0)
        }),
        modelMatrix : Cesium.Matrix4.multiplyByTranslation(
            Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Cartesian3.fromDegrees(-105.0, 45.0)),
            new Cesium.Cartesian3(0.0, 0.0, 250000), new Cesium.Matrix4()),
        attributes : {
            color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.RED.withAlpha(0.5))
        }
    }),
    appearance : new Cesium.PerInstanceColorAppearance({
        closed: true
    })
}));

MaterialAppearance

http://localhost:8080/Apps/Sandcastle/index.html?src=Materials.html&label=Development

Cesium快速上手8-Appearance&Material第2张

image.png

function applyDiffuseMaterial(primitive, scene) {
    Sandcastle.declare(applyDiffuseMaterial);   // For highlighting in Sandcastle.
    primitive.appearance.material = new Cesium.Material({
        fabric : {
            type : 'DiffuseMap',
            uniforms : {
                image : '../images/Cesium_Logo_Color.jpg'
            }
        }
    });
}

MaterialAppearance2

http://localhost:8080/Apps/Sandcastle/index.html?src=development%2FCoplanar%20Polygon.html&label=Development

Cesium快速上手8-Appearance&Material第3张

image.png

scene.primitives.add(new Cesium.Primitive({
    geometryInstances : polygonInstance,
    appearance : new Cesium.MaterialAppearance({
        material : Cesium.Material.fromType('Checkerboard'),
        materialSupport : Cesium.MaterialAppearance.MaterialSupport.TEXTURED
    })
}));

PolylineColorAppearance

http://localhost:8080/Apps/Sandcastle/index.html?src=development%2FPolyline%20Color.html&label=Development

Cesium快速上手8-Appearance&Material第4张

image.png

Material 文档

Material API

// Create a color material with fromType:
polygon.material = Cesium.Material.fromType('Color');
polygon.material.uniforms.color = new Cesium.Color(1.0, 1.0, 0.0, 1.0);

// Create the default material:
polygon.material = new Cesium.Material();

// Create a color material with full Fabric notation:
polygon.material = new Cesium.Material({
    fabric : {
        type : 'Color',
        uniforms : {
            color : new Cesium.Color(1.0, 1.0, 0.0, 1.0)
        }
    }
});

本文转自 https://www.jianshu.com/p/ad1b6271e937,如有侵权,请联系删除。

免责声明:文章转载自《Cesium快速上手8-Appearance&Material》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android Fastboot 与 Recovery 和刷机 千山万水迷了鹿SVN 取消版本控制并添加至忽略列表下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Three.js Demo源码分析1.MorphTargets与BufferGeometry

Three.js主页上有很多绚丽的Demo,是学习的极佳素材。我正利用闲暇时间学习这些Demo,并将心得体会记录下来。 老调重弹 先睹为快 空间中旋转的立方体板条箱,恐怕是主页上最简单的一个例子了。在WebGL原生API教程中就有这个例子,用Three.js实现起来更加方便了。但是,作为开始的开始,还是再重弹一遍老调吧。 较简单的例子多采用这种一目了然的结...

Unity CombineChildren和MeshCombineUtility

原理 Unity3D如何通过CombineChildren和MeshCombineUtility优化场景? 首先解释下联结的原理和意思:文档里说,显卡对于一个含100个面片的物体的和含1500个面片的物体的渲染消耗几乎是等价的。所以如果你有N个同一材质的东西,那么把他们联成同一个物体再统一用一个material那么对于显卡的渲染消耗就要降低N倍。 方法 1...

GitHub 和 Gitee 开源免费 10 个超赞后台管理面板,看完惊呆了!

软件工程师在实际项目开发中不可避免需要依赖一些前后端的后台管理系统框架,而不是从零开始一点点的搭建,浪费人力。目前市面上有很多开放源码、且免费的后台管理面板,样式色彩也比较丰富美观。 今天整理了一下GitHub和Gitee上比较优秀的后台管理面板,这些后台管理面板有的是包含前后端代码有的是UI框架含前端代码,都支持Git命令下载编译,运行即可正常访问。 1...

15. Unity NGUI核心组件之UIPanel

NGUI:UIPanel UIPanel负责创建实际的集合图形。你不需要手动的添加UIPanel-一旦你创建一个控件,它会自动被添加。如果你想将你的UI渲染拆分到不同的Draw Call中,你可以手动创建你自己的UIPanel,例如你要创建一个分屏的游戏,每个屏用一个摄像机进行渲染,这种秦光下你就需要2个UIPanel来避免控件互相重叠。 参数 Pan...

Material design之Material Theme

Material Theme提供了三方面的内容: 系统组件的颜色可以自定义更改 系统组件添加了触摸反馈动画效果 Activity切换动画效果 系统主题默认被定义在以下三个样式中: 使用Material主题的时候需要注意,Material目前只能运行在Android L的预览版本上。 系统组件颜色的更改: 通过在res/values/styles建立一个...

Cesium原理篇:Material【转】

https://www.cnblogs.com/fuckgiser/p/6171245.html Shader 首先,在本文开始前,我们先普及一下材质的概念,这里推荐材质,普及材质的内容都是截取自该网站,我觉得他写的已经够好了。在开始普及概念前,推荐一首我此刻想到的歌《光---陈粒》。 在真实世界里,每个物体会对光产生不同的反应。钢看起来比陶瓷花瓶更闪闪...