着色器

着色器分为两种:顶点着色器(Vertex shader)和片元(或片段)着色器(Fragment shader)。

顶点着色器

用于描述顶点特征(比如位置,大小,颜色等)的程序,在这里就是一段字符串,为了书写和调试方便,常常这样书写:

<script type='x-shader/x-vertex' id='vs'>
    // 定义参数
    void main(){
        // 设置顶点特征
    }
</script>

片元着色器

用于配置逐片元处理过程中,如何计算光照等数据,和上面一样,也是一段字符串,和上面的区别在于,这是针对全部点的配置:

<script type='x-shader/x-fragment' id='fs'>
    // 基本配置
    // 定义参数
    void main(){
        // 设置顶点特征
    }
</script>

使用着色器

render3D.shader($$('#vs')[0].innerHTML, $$('#fs')[0].innerHTML);

编辑好着色器字符串以后,运行上面的语句,表示启用着色器,然后才可以借助这两个着色器程序绘图(编译着色器字符串创建的着色器程序存储在gl.program中)。