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是不同的。

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

  • 相关阅读:
    数据结构总结(UPDATING......)
    课件例题4.11,4.12
    Luogu P1525 关押罪犯
    Luogu P1540 机器翻译
    Luogu P1313 计算系数
    Luogu P1311 选择客栈
    Luogu P1519 穿越栅栏 Overfencing
    Luogu P2863 [USACO06JAN]牛的舞会The Cow Prom
    Tarjan学习笔记
    Luogu P3393 逃离僵尸岛
  • 原文地址:https://www.cnblogs.com/s313139232/p/14317140.html
Copyright © 2011-2022 走看看