cesium源码研究关于ShaderSource的replaceMain方法巧妙用处

Posted hpugisers

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cesium源码研究关于ShaderSource的replaceMain方法巧妙用处相关的知识,希望对你有一定的参考价值。

在做底层扩展开发的时候,有时候我们想从外部传入一段shader代码,那该如何将该段shader代码加入main函数中呢?最笨的方法就是利用正则表达去截取字符串,然后加上需要添加的shader代码,最后将所有的字符串拼装到一起。下面利用cesiun自带的功能去处理这个问题。

1、如何使用
第一步

shader = ShaderSource.replaceMain(shader, 'czm_light_main');

第二步(以main方式去构建自己需要添加的shader代码)

           //这里可以定义的变量
            void main() 
             
	           czm_light_main(); //注意和上面replaceMain函数中第二个参数保持一致
	           //这里添加你增加shader代码
           

原理:是将之前main函数用一个自定函数替代,然后申明新的main函数,在新的main函数中,执行自定义函数。

以上是关于cesium源码研究关于ShaderSource的replaceMain方法巧妙用处的主要内容,如果未能解决你的问题,请参考以下文章

SpringMVC关于jsonxml自动转换的原理研究[附带源码分析]

SpringMVC关于jsonxml自动转换的原理研究[附带源码分析]

SpringMVC关于jsonxml自动转换的原理研究[附带源码分析]

关于HttpClient重试策略的研究

关于视觉里程计以及VI融合的相关研究(长期更新)

jdk源码研究1-HashMap