一、压平前后效果:
ps:目前只是初步实现了倾斜摄影整体压平效果,给大家分享一下思路。
此思路适用于Cesium1.87及更高版本,需要使用CustomShader官方API,无需修改源码。
二、整体思路:
[通过CustomShader中的vertexShaderText修改顶点着色阶段的模型内部坐标positionMC]。
三、思路详解:
跟大家分别分享一下三个关键点:
1、CustomShader
Cesium1.87版本推出的自定义着色器API,相关介绍和说明大家可以参考官方文档:
CustomShader - Cesium Documentation
官方也有对应的详细文档:(在/Documentation/CustomShaderGuide/Documentation/)
GitHub - CesiumGS/cesium: An open-source JavaScript library for world-class 3D globes and maps
2、vertexShaderText
Vertex Shader即顶点着色器,vertexShaderText即CustomShader中的Vertex Shader代码,通过String形式传入glsl代码进行顶点着色器的修改。
因为本人也没接触过着色器相关知识学习,这里仅针对模型压平这一功能与大家进行分享。
vertexShaderText中的代码也要遵守Cesium的规则,代码都要放在void vertexMain方法中才会生效。
3、positionMC
即Position in model,模型内部坐标,格式是vec3,具体介绍大家可以参考管网文档进行了解。
四:局部压平测试:
局部压平还在研究完善中。