常用 shader 内置 Uniform
要在 shader 中使用内置变量,需要包含对应头文件。 目前所有的内置变量,按所在头文件分组,依次有:
cc-local.chunk
| Name | Type | Info |
|---|---|---|
| cc_matWorld | mat4 | 模型空间转世界空间矩阵 |
| cc_matWorldIT | mat4 | 模型空间转世界空间逆转置矩阵 |
cc-global.chunk
| Name | Type | Info |
|---|---|---|
| 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 | xyz:主方向光颜色 w:主方向光强度 |
| cc_ambientSky | vec4 | xyz:天空颜色 w:亮度 |
| cc_ambientGround | vec4 | xyz:地面反射光颜色 |
cc-environment.chunk
| Name | Type | Info |
|---|---|---|
| cc_environment | samplerCube | IBL 环境贴图 |
cc-forward-light.chunk
| Name | Type | Info |
|---|---|---|
| cc_sphereLitPos[MAX_LIGHTS] | vec4 | xyz:球面光位置 |
| cc_sphereLitSizeRange[MAX_LIGHTS] | vec4 | x:球光尺寸 y:球光范围 |
| cc_sphereLitColor[MAX_LIGHTS] | vec4 | xyz:球光颜色 w:球光强度 |
| cc_spotLitPos[MAX_LIGHTS] | vec4 | xyz:聚光灯位置 |
| cc_spotLitSizeRangeAngle[MAX_LIGHTS] | vec4 | x:聚光灯尺寸 y:聚光灯范围 z:聚光灯角度 |
| cc_spotLitDir[MAX_LIGHTS] | vec4 | xyz:聚光灯方向 |
| cc_spotLitColor[MAX_LIGHTS] | vec4 | xyz:聚光灯颜色 w:聚光灯强度 |
cc-shadow.chunk
| Name | Type | Info |
|---|---|---|
| cc_matLightPlaneProj | mat4 | 平面阴影的变换矩阵 |
| cc_shadowColor | vec4 | 阴影颜色 |