Cocos Shader 内置全局 Uniform

要在 Cocos Shader 中使用内置变量 Uniform,需要包含对应的着色器片段(Chunk)即可,如下代码所示:

//local uniforms
#include <builtin/uniforms/cc-local>
//global uniforms
#include <builtin/uniforms/cc-global>

以下是常用内置变量,按所在着色器片段进行分组,列表如下:

cc-local.chunk

Name Type Info
cc_matWorld mat4 模型空间转世界空间矩阵
cc_matWorldIT mat4 模型空间转世界空间逆转置矩阵

cc-global.chunk

Name Type Info
cc_time vec4 x:游戏运行时间(秒)
y:帧时间(秒)
z:游戏运行帧数
w:未使用
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:相机位置
w:combineSignY
cc_exposure vec4 x:相机曝光
y:相机曝光倒数
z:是否启用 HDR
w:HDR 转 LDR 缩放参数
cc_mainLitDir vec4 xyz:主方向光源方向
w:是否启用阴影
cc_mainLitColor vec4 xyz:主方向光颜色
w:主方向光强度
cc_ambientSky vec4 xyz:天空颜色
w:亮度
cc_ambientGround vec4 xyz:地面反射光颜色
w:环境贴图 Mipmap 等级

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

完整常量列表,请参考 internal/builtin/uniforms/ 目录。

条与 "" 相匹配的结果

    没有与 "" 匹配的结果