# 內(nèi)置效果和定義
框架內(nèi)置了一些效果資源。
# 內(nèi)置效果
目前除去內(nèi)部效果之外,暴露給開發(fā)者會使用的效果有兩個:
在內(nèi)置的之外,開發(fā)者還可能會自定義效果,這里就可能會用到一些內(nèi)置的uniforms、宏和著色器方法,我們將其列舉如下:
# 內(nèi)置Uniforms和宏
框架內(nèi)置了一些uniforms和宏,便于開發(fā)者使用,它們分為以下幾個大類:
# 基礎(chǔ)
| 類型 | 宏 | 說明 |
|---|---|---|
| 是否為蒙皮網(wǎng)格 | WX_SKINNED | bool |
| 骨骼數(shù)量 | WX_BONE_NUM | int |
| 是否使用骨骼數(shù)據(jù)紋理 | 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[宏決定] |
| 骨骼矩陣太大時,轉(zhuǎn)換為的貼圖 | u_boneMatrixTexture | texture2d |
# 圖元數(shù)據(jù)相關(guān)
圖元數(shù)據(jù)相關(guān)的主要是創(chuàng)建幾何數(shù)據(jù)時定義的那些attributes,由usage決定,每中usage對應(yīng)唯一的宏,比如:
xrFrameSystem.EVertexLayoutUsage.NORMAL對應(yīng)于WX_USE_NORMAL。
# 后處理相關(guān)
主要是要注意開了后處理時,前置的渲染流程需要保證輸出是線性的,可能要視情況removeGamma:
vec3 removeGammaCorrection(vec3 color) {
return pow(color, vec3(2.2));
}
| 類型 | 宏 | 說明 |
|---|---|---|
| 是否開啟了后處理 | WX_PP_ACTIVE | bool |
# 光照和陰影相關(guān)
可見燈光相關(guān)部分。
# 環(huán)境相關(guān)
# 內(nèi)置著色器方法
@todo