Skip to content

Commit f636bf1

Browse files
authored
NodeMaterialObserver: Force refresh when rendering velocity. (#30840)
1 parent 7f74cfa commit f636bf1

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

src/materials/nodes/manager/NodeMaterialObserver.js

+15-1
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,20 @@ class NodeMaterialObserver {
126126

127127
}
128128

129+
/**
130+
* Returns `true` if the current rendering produces motion vectors.
131+
*
132+
* @param {Renderer} renderer - The renderer.
133+
* @return {boolean} Whether the current rendering produces motion vectors or not.
134+
*/
135+
needsVelocity( renderer ) {
136+
137+
const mrt = renderer.getMRT();
138+
139+
return ( mrt !== null && mrt.has( 'velocity' ) );
140+
141+
}
142+
129143
/**
130144
* Returns monitoring data for the given render object.
131145
*
@@ -479,7 +493,7 @@ class NodeMaterialObserver {
479493
*/
480494
needsRefresh( renderObject, nodeFrame ) {
481495

482-
if ( this.hasNode || this.hasAnimation || this.firstInitialization( renderObject ) )
496+
if ( this.hasNode || this.hasAnimation || this.firstInitialization( renderObject ) || this.needsVelocity( nodeFrame.renderer ) )
483497
return true;
484498

485499
const { renderId } = nodeFrame;

0 commit comments

Comments
 (0)