viewportSharedTexture
viewportSharedTexture
提供一个全局共享的、唯一的视口纹理实例,允许多个独立的材质或效果高效地访问同一份屏幕渲染结果,避免资源冗余。
核心优势
确保整个渲染流程中,无论多少效果需要读取屏幕内容,都只存在一个视口纹理,从而极大地节省GPU内存和带宽,显著提升性能。
常见用途
多个独立折射/透明材质
混合材质特效与后期处理
动态UI背景模糊
如何调整
其调整方法与其它视口纹理节点相同,主要通过改变 `uvNode`(采样位置)和 `levelNode`(采样清晰度/Mipmap等级)来实现。例如,使用扭曲的UV实现失真,或使用较高的 `level` 实现高效的背景模糊。
代码示例
1// 效果A (例如,反色材质):
2// 直接采样共享纹理并反色
3const colorA = viewportSharedTexture().rgb.oneMinus();
4
5// 效果B (例如,折射材质):
6// 使用扭曲的UV从同一个共享纹理中采样
7const distortedUV = screenUV().add( normalWorld.xy.mul( 0.1 ) );
8const colorB = viewportSharedTexture( distortedUV );