• 内置 shader 变量

    内置 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阴影颜色。