内置 shader 变量
所有内置可使用的 shader 变量在被调用之前都必须引入包含该变量的头文件,所有的头文件都被包含在 chunks 目录下。接下来说明一下每一个头文件所包含变量的说明。
1.cc-local.chunk
变量名 | 类型 | 变量说明 |
---|---|---|
cc_matWorld | highp mat4 | 本地空间转世界空间。 |
cc_matWorldIT | highp mat4 | 本地空间转世界空间逆转置。 |
2.cc-global.chunk
变量名 | 类型 | 变量说明 |
---|---|---|
cc_time | vec4 | x:游戏运行时间(秒)。 |
cc_screenSize | vec4 | xy:屏幕尺寸 zw:屏幕尺寸倒数。 |
cc_screenScale | vec4 | xy:屏幕缩放 zw:屏幕缩放倒数。 |
cc_nativeSize | vec4 | xy:实际着色缓冲的尺寸 zw:实际着色缓冲的尺寸倒数。 |
cc_matView | mat4 | 视图矩阵。 |
cc_matViewInv | mat4 | 视图逆矩阵。 |
cc_matProj | mat4 | 投影矩阵。 |
cc_matProjInv | mat4 | 投影逆矩阵。 |
cc_matViewProj | mat4 | 视图投影矩阵。 |
cc_matViewProjInv | mat4 | 视图投影逆矩阵。 |
cc_cameraPos | vec4 | xyz:相机位置。 |
cc_exposure | vec4 | x:相机曝光 y:相机曝光倒数 z:是否启用 HDR w:HDR 转 LDR 缩放参数 |
cc_mainLitDir | vec4 | xyz:主方向光源方向。 |
cc_mainLitColor | vec4 | 主方向光颜色。 |
cc_ambientSky | vec4 | xyz:天空颜色 w:亮度。 |
cc_ambientGround | vec4 | xyz:地面反射光颜色。 |
3.cc-environment.chunk
变量名 | 类型 | 变量说明 |
---|---|---|
cc_environment | samplerCube | 环境贴图。 |
4.cc-forward-light.chunk
变量名 | 类型 | 变量说明 |
---|---|---|
cc_sphereLitPos[MAX_LIGHTS] | highp vec4 | xyz:球面光位置。 |
cc_sphereLitSizeRange[MAX_LIGHTS] | vec4 | x:球光尺寸 y:球光范围。 |
cc_sphereLitColor[MAX_LIGHTS] | vec4 | xyz:球光颜色 w:球光强度。 |
cc_spotLitPos[MAX_LIGHTS] | highp vec4 | xyz:聚光位置。 |
cc_spotLitSizeRangeAngle[MAX_LIGHTS] | vec4 | x:聚光尺寸 y:聚光范围 z:聚光角度 |
cc_spotLitDir[MAX_LIGHTS] | vec4 | xyz:聚光方向。 |
cc_spotLitColor[MAX_LIGHTS] | vec4 | xyz:聚光颜色 w:聚光强度。 |
5.cc-shadow.chunk
变量名 | 类型 | 变量说明 |
---|---|---|
cc_matLightPlaneProj | highp mat4 | 主平行光光源空间的变换矩阵。 |
cc_shadowColor | vec4 | 阴影颜色。 |