1.着色器分为顶点着色器和片元着色器以及计算着色器,运行于GPU
2.由** main** 函数开始执行
3.着色器通过定义 attribute, varying, uniform 和 uniform block 来接收外部数据( 3.0 es 是 in,out,uniform)
4.片元着色器会在每一个像素点上执行
5.从顶点着色器传递给片元着色器的数据会被自动插值
6.类型的默认精度较小, 会有益出风险, 如int类型, 在手机上可能超过1万多就会益出成负数,需要通过精度限定符提升类型的位宽(precision, highp, mediump, lowp)
7.片元着色器和片段着色器的版本必须一致
- 一些常用关键词
#version 310 es
layout location binding local_size_x local_size_y local_size_z RGBA32F std430
attribute varying uniform in out precision highp mediump lowp readonly writeonly
struct buffer sampler2d image2d uint
texture2d texture texelFetch imageLoad imageStore
gl_GlobalInvocationID gl_FragColor gl_FragCoord
- 学习资料: