标签:个人见解 矩阵 shader 坐标系 片元 cesium 原理 着色器
shader原理入门
在不涉及任何复杂效果的情况下。
shader实际上就是编写顶点着色器和片元着色器。
在编写shader的时候,实际上无论是threejs还是cesium都已经内置了很多的方法和变量。
我们需要做的只是将这些变量取出来,然后通过一些算法算出想要的位置和色值通过gl_Position和gl_FragColor返回着色器。
顶点着色器中:
顶点着色器主要用来获取position(位置)、normal(法线)、uv(贴图)还有一些threejs、cesium内置的属性。然后通过varying传递给片元着色器。
片元着色器中:
在每渲染一个像素的时候都会去调用片源着色器取计算这个像素的颜色等信息。所以其中算法的效率很重要。
着色器中涉及大量矩阵运算,可以回去补一下线性代数了。
cesium中的坐标系问题:
cesium中编写着色器涉及到了各种坐标系,需要将数据矩阵在各个坐标系中来回转换。在api中有转换的方法。
api:https://www.cnblogs.com/mazhenyu/p/11438990.html
注意:矩阵的点乘a*b和b*a是不同的。
钻研不易,转载请注明出处。。。。。。
标签:个人见解,矩阵,shader,坐标系,片元,cesium,原理,着色器 来源: https://www.cnblogs.com/s313139232/p/14317140.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。