摘要: cesium之添加Primitive大量长方体 场景: 变成中发现页面用peimitive加载上万个长方体柱子会出现页面很卡的问题。 原因: 每创建一个长方体用viewer.scene.primitives.add(new Cesium.Primitive())加载一次。 解决方法: 将所有的柱子创 阅读全文
posted @ 2021-01-23 14:33 莫小龙 阅读(3037) 评论(0) 推荐(0) 编辑
摘要: shader之双色渐变(cesium) 效果: 原理: 通过计算两个rgb的值映射到0到1的位置信息中。 完整着色器代码: vertexShaderSource: ` attribute vec3 position3DHigh; attribute vec3 position3DLow; attri 阅读全文
posted @ 2021-01-23 14:28 莫小龙 阅读(2557) 评论(0) 推荐(0) 编辑
摘要: shader之渐变长方体实现(cesium) 前置内容博客: shader之cesium应用(https://www.cnblogs.com/s313139232/p/14316829.html) shader之渐变长方体实现(threejs)(https://www.cnblogs.com/s31 阅读全文
posted @ 2021-01-23 14:17 莫小龙 阅读(2857) 评论(1) 推荐(1) 编辑
摘要: GLSL内置变量详解 顶点属性: attribute vec4 gl_Color; // 顶点颜色 attribute vec4 gl_SecondaryColor; // 辅助顶点颜色 attribute vec3 gl_Normal; // 顶点法线 attribute vec4 gl_Vert 阅读全文
posted @ 2021-01-23 13:35 莫小龙 阅读(2490) 评论(0) 推荐(0) 编辑
摘要: shader之cesium内置变量、常量、函数 内置uniform 内置uniform主要置于AutomaticUniforms类里面,该类私有未开放文档。 czm_backgroundColor 代表当前场景背景颜色的自动GLSL制服。 例: // GLSL声明 统一vec4 czm_backgr 阅读全文
posted @ 2021-01-23 13:32 莫小龙 阅读(4983) 评论(0) 推荐(1) 编辑
摘要: shader原理入门 在不涉及任何复杂效果的情况下。 shader实际上就是编写顶点着色器和片元着色器。 在编写shader的时候,实际上无论是threejs还是cesium都已经内置了很多的方法和变量。 我们需要做的只是将这些变量取出来,然后通过一些算法算出想要的位置和色值通过gl_Positio 阅读全文
posted @ 2021-01-23 13:30 莫小龙 阅读(695) 评论(0) 推荐(0) 编辑
摘要: shader之渐变长方体实现(threejs) 效果: 原理: 1.用varying将position(位置)、normal(法线)从顶点着色器传递到片元着色器 2.假设长方体高为40,将fract(vPosition.y)设置为gl_FragColor的色值可看到40行渐变: 3.通过除以长方体高 阅读全文
posted @ 2021-01-23 11:36 莫小龙 阅读(3849) 评论(0) 推荐(1) 编辑
摘要: shader之threejs应用 shader用作编写threejs自定义材质的着色器。 效果: 代码: <template> <div class="threeModel"> <div id="modelBox"></div> </div> </template> <script> import 阅读全文
posted @ 2021-01-23 11:21 莫小龙 阅读(1126) 评论(0) 推荐(0) 编辑
摘要: shader之cesium应用 shader用作编写cesium自定义材质的着色器。 效果: 代码: <template> <div class="earthSence"> <!-- 地图 --> <div id="earthContainer"></div> </div> </template> 阅读全文
posted @ 2021-01-23 11:14 莫小龙 阅读(4216) 评论(0) 推荐(2) 编辑