zoukankan      html  css  js  c++  java
  • shader原理之个人见解

    shader原理入门

    在不涉及任何复杂效果的情况下。

    shader实际上就是编写顶点着色器和片元着色器。

    在编写shader的时候,实际上无论是threejs还是cesium都已经内置了很多的方法和变量。

    我们需要做的只是将这些变量取出来,然后通过一些算法算出想要的位置和色值通过gl_Position和gl_FragColor返回着色器。

    顶点着色器中:

    顶点着色器主要用来获取position(位置)、normal(法线)、uv(贴图)还有一些threejs、cesium内置的属性。然后通过varying传递给片元着色器。

    片元着色器中:

    在每渲染一个像素的时候都会去调用片源着色器取计算这个像素的颜色等信息。所以其中算法的效率很重要。

    着色器中涉及大量矩阵运算,可以回去补一下线性代数了。

    cesium中的坐标系问题:

    cesium中编写着色器涉及到了各种坐标系,需要将数据矩阵在各个坐标系中来回转换。在api中有转换的方法。

    api:https://www.cnblogs.com/s313139232/p/14317366.html

    注意:矩阵的点乘a*b和b*a是不同的。

    钻研不易,转载请注明出处。。。。。。

  • 相关阅读:
    适配问题
    屏幕适配
    软键盘适配
    即时通讯
    缩减APK包大小
    基于RulesEngine的业务规则实现
    基于NXBRE规则引擎实现的柔性折扣策略
    SQL Server代码如何快速格式化
    SQL Server 跨库同步数据
    HTML+AngularJS+Groovy如何实现登录功能
  • 原文地址:https://www.cnblogs.com/s313139232/p/14317140.html
Copyright © 2011-2022 走看看