常用 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 | 阴影颜色 |