区块链技术博客
www.b2bchain.cn

修改Batch3DModelContent的片元着色器:让白模穿品如的衣服求职学习资料

D0b2wT.gif

本文介绍了修改Batch3DModelContent的片元着色器:让白模穿品如的衣服求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

  • 片元着色器

参考自 DC-SDK 中关于 shp白模生成 3dTiles 自定义着色器的例子。


效果:

修改Batch3DModelContent的片元着色器:让白模穿品如的衣服

效果有关的着色器,必然要改动 片元着色器

片元着色器

varying vec3 v_positionEC; // 相机坐标系的模型坐标  void main() {   /** 渐变效果 */   vec4 position = czm_inverseModelView * vec4(v_positionEC, 1); // 解算出模型坐标   float glowRange = 200.0; // 光环的移动范围(高度),最高到200米   gl_FragColor = vec4(0.2, 0.5, 1.0, 1.0); // 基础蓝色   gl_FragColor *= vec4(vec3(position.z / 100.0), 1.0); // 按模型高度进行颜色变暗处理   /** 扫描线 */   float time = fract(czm_frameNumber / 360.0); // 计算当前着色器的时间,帧率/(6*60),即时间放慢6倍   float diff = step(0.005, abs(clamp(position.z / glowRange, 0.0, 1.0) - time)); // 根据时间来计算颜色差异,比例   gl_FragColor.rgb += gl_FragColor.rgb * (1.0 - diff); // 原有颜色加上颜色差异值提高亮度 }

其基本知识即根据高度来控制 rgb(值越小越暗淡,越大越亮)。

  • 片元着色器

参考自 DC-SDK 中关于 shp白模生成 3dTiles 自定义着色器的例子。


效果:

修改Batch3DModelContent的片元着色器:让白模穿品如的衣服

效果有关的着色器,必然要改动 片元着色器

片元着色器

varying vec3 v_positionEC; // 相机坐标系的模型坐标  void main() {   /** 渐变效果 */   vec4 position = czm_inverseModelView * vec4(v_positionEC, 1); // 解算出模型坐标   float glowRange = 200.0; // 光环的移动范围(高度),最高到200米   gl_FragColor = vec4(0.2, 0.5, 1.0, 1.0); // 基础蓝色   gl_FragColor *= vec4(vec3(position.z / 100.0), 1.0); // 按模型高度进行颜色变暗处理   /** 扫描线 */   float time = fract(czm_frameNumber / 360.0); // 计算当前着色器的时间,帧率/(6*60),即时间放慢6倍   float diff = step(0.005, abs(clamp(position.z / glowRange, 0.0, 1.0) - time)); // 根据时间来计算颜色差异,比例   gl_FragColor.rgb += gl_FragColor.rgb * (1.0 - diff); // 原有颜色加上颜色差异值提高亮度 }

其基本知识即根据高度来控制 rgb(值越小越暗淡,越大越亮)。

  • 片元着色器

参考自 DC-SDK 中关于 shp白模生成 3dTiles 自定义着色器的例子。


效果:

修改Batch3DModelContent的片元着色器:让白模穿品如的衣服

效果有关的着色器,必然要改动 片元着色器

片元着色器

varying vec3 v_positionEC; // 相机坐标系的模型坐标  void main() {   /** 渐变效果 */   vec4 position = czm_inverseModelView * vec4(v_positionEC, 1); // 解算出模型坐标   float glowRange = 200.0; // 光环的移动范围(高度),最高到200米   gl_FragColor = vec4(0.2, 0.5, 1.0, 1.0); // 基础蓝色   gl_FragColor *= vec4(vec3(position.z / 100.0), 1.0); // 按模型高度进行颜色变暗处理   /** 扫描线 */   float time = fract(czm_frameNumber / 360.0); // 计算当前着色器的时间,帧率/(6*60),即时间放慢6倍   float diff = step(0.005, abs(clamp(position.z / glowRange, 0.0, 1.0) - time)); // 根据时间来计算颜色差异,比例   gl_FragColor.rgb += gl_FragColor.rgb * (1.0 - diff); // 原有颜色加上颜色差异值提高亮度 }

其基本知识即根据高度来控制 rgb(值越小越暗淡,越大越亮)。

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 修改Batch3DModelContent的片元着色器:让白模穿品如的衣服求职学习资料
分享到: 更多 (0)
D0b2wT.gif

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们