• 介绍
    • 一种二进制码,在绘制场景之前做一些事。操作在显卡中进行
    • 对每一个顶点或者片元执行一次着色器,这个操作并行执行
    • 浏览器底层只支持着色器
    • three.js底层是着色器实现的,所以着色器能实现一些three.js无法实现的功能,并能提高three.js的性能
  • 优势与性能
      1. 处理大量数据能力。顶点着色器为每一个顶点确定位置,片元着色器为每个片元确定颜色,数据量非常庞大
      • 一个3d游戏中,一帧几十万个三角形。显示器分辨率1280x1024, 有1310720个像素,每一帧由片元着色器处理。
      • 每个顶点位置与每个片元颜色几乎同时计算完成

  • webgl着色器分类
    • 无论在opengl, openes, dx中,都分为顶点着色器和片元着色器
    • 顶点着色器
      • 对顶点进行操作,如
        • 改变顶点的位置和大小
    • 片元着色器
      • 定义屏幕中各点的颜色
      • 顶点之间的颜色也被一起处理了(插值)