reflectView
reflectView
提供一个在视图空间(相机空间)中的反射向量,是实现经典光照模型(如Phong高光)和某些特效的基础构建块。
核心优势
直接输出视图空间反射向量,完美契合传统光照模型的计算需求,并为高级用户自定义着色效果提供了灵活的中间步骤。
常见用途
实现经典的Phong镜面高光。
创建非真实感渲染(NPR)中的MatCap效果。
作为更高级节点(如 reflectVector)的内部计算基础。
如何调整
该节点本身不可调,其输出由表面法线决定。通过为材质的 `normalNode` 指定一个法线贴图,可以使高光等效果跟随表面细节变化,从而模拟凹凸不平的材质。
代码示例
1// 计算反射向量与观察方向的点积
2const specularFactor = TSL.dot( TSL.reflectView, TSL.positionViewDirection ).max( 0.0 );
3
4// 通过幂运算控制高光的大小和强度
5const specularPower = specularFactor.pow( shininess );