内置 shader 变量

所有内置可使用的 shader 变量在被调用之前都必须引入包含该变量的头文件,所有的头文件都被包含在 chunks 目录下。接下来说明一下每一个头文件所包含变量的说明。

1.cc-local.inc

变量名类型变量说明
cc_matWorldhighp mat4本地空间转世界空间。
cc_matWorldIThighp mat4本地空间转世界空间逆转置。

2.cc-global.inc

变量名类型变量说明
cc_timevec4x:游戏运行时间(秒)。
cc_screenSizevec4xy:屏幕尺寸 zw:屏幕尺寸倒数。
cc_screenScalevec4xy:屏幕缩放 zw:屏幕缩放倒数。
cc_nativeSizevec4xy:实际着色缓冲的尺寸 zw:实际着色缓冲的尺寸倒数。
cc_matViewmat4视图矩阵。
cc_matViewInvmat4视图逆矩阵。
cc_matProjmat4投影矩阵。
cc_matProjInvmat4投影逆矩阵。
cc_matViewProjmat4视图投影矩阵。
cc_matViewProjInvmat4视图投影逆矩阵。
cc_cameraPosvec4xyz:相机位置。
cc_exposurevec4x:相机曝光 y:相机曝光倒数 z:是否启用 HDR w:HDR 转 LDR 缩放参数
cc_mainLitDirvec4xyz:主方向光源方向。
cc_mainLitColorvec4主方向光颜色。
cc_ambientSkyvec4xyz:天空颜色 w:亮度。
cc_ambientGroundvec4xyz:地面反射光颜色。

3.cc-environment.inc

变量名类型变量说明
cc_environmentsamplerCube环境贴图。

4.cc-forward-light.inc

变量名类型变量说明
cc_sphereLitPos[MAX_LIGHTS]highp vec4xyz:球面光位置。
cc_sphereLitSizeRange[MAX_LIGHTS]vec4x:球光尺寸 y:球光范围。
cc_sphereLitColor[MAX_LIGHTS]vec4xyz:球光颜色 w:球光强度。
cc_spotLitPos[MAX_LIGHTS]highp vec4xyz:聚光位置。
cc_spotLitSizeRangeAngle[MAX_LIGHTS]vec4x:聚光尺寸 y:聚光范围 z:聚光角度
cc_spotLitDir[MAX_LIGHTS]vec4xyz:聚光方向。
cc_spotLitColor[MAX_LIGHTS]vec4xyz:聚光颜色 w:聚光强度。

5.cc-shadow.inc

变量名类型变量说明
cc_matLightPlaneProjhighp mat4主平行光光源空间的变换矩阵。
cc_shadowColorvec4阴影颜色。