bitangentView
bitangentView
提供已正确变换到视图空间(View Space)的副切线向量,是进行视角相关高级光照计算的基础。
核心优势
核心优势在于它将“使用法线矩阵将局部副切线变换到视图空间”这一极其复杂且易错的过程完全封装,确保了与 `normalView` 等节点在数学上的一致性。
常见用途
在视图空间中构建TBN矩阵,以应用法线贴图。
与法线贴图结合,实现依赖于视角的高级边缘光效果。
为SSAO等屏幕空间效果提供精确的表面细节信息。
通过将其可视化为颜色,调试与视角相关的向量变换。
如何调整
该节点的值由模型UV、物体变换和相机视角共同决定,无法直接调整。其与视角相关的特性可以通过对比 `bitangentView` 和 `bitangentLocal` 的可视化颜色来观察:旋转物体时,`bitangentLocal` 的颜色会“粘”在模型上,而 `bitangentView` 的颜色会改变。
代码示例
1// 构建视图空间TBN矩阵
2const tbn = tbnView( normalView, tangentView, bitangentView );
3
4// 将法线贴图中的法线从切线空间变换到视图空间
5const detailNormal = tbn.mul( normalMapNode );