内置效果资源
内置效果和定义
框架内置了一些效果资源。
内置效果
目前除去内部效果之外,暴露给开发者会使用的效果有两个:
在内置的之外,开发者还可能会自定义效果,这里就可能会用到一些内置的uniforms、宏和着色器方法,我们将其列举如下:
内置Uniforms和宏
框架内置了一些uniforms和宏,便于开发者使用,它们分为以下几个大类:
基础
类型 | 宏 | 说明 |
---|---|---|
是否为蒙皮网格 | WX_SKINNED |
bool |
骨骼数量 | WX_BONE_NUM |
int |
是否使用骨骼数据纹理 | WX_USE_BONE_MATRIX_TEXTURE |
bool |
类型 | uniforms | 说明 |
---|---|---|
视图矩阵 | u_view |
mat4 |
投影矩阵 | u_projection |
mat4 |
世界矩阵 | u_world |
mat4 |
视图投影矩阵 | u_vp |
mat4 |
视图逆矩阵 | u_viewInverse |
mat4 |
游戏时间戳 | u_gameTime |
float |
骨骼偏移矩阵 | u_boneOffsetMatrix |
mat4[宏决定] |
骨骼矩阵太大时,转换为的贴图 | u_boneMatrixTexture |
texture2d |
图元数据相关
图元数据相关的主要是创建几何数据时定义的那些attributes
,由usage
决定,每中usage
对应唯一的宏,比如:
xrFrameSystem.EVertexLayoutUsage.NORMAL
对应于WX_USE_NORMAL
。
后处理相关
主要是要注意开了后处理时,前置的渲染流程需要保证输出是线性的,可能要视情况removeGamma
:
vec3 removeGammaCorrection(vec3 color) {
return pow(color, vec3(2.2));
}
类型 | 宏 | 说明 |
---|---|---|
是否开启了后处理 | WX_PP_ACTIVE |
bool |
光照和阴影相关
可见灯光相关部分。
环境相关
可见环境相关部分。
内置着色器方法
@todo