This class is used by WebGPURenderer as management component. It's primary purpose is to determine whether render objects require a refresh right before they are going to be rendered or not.
Constructs a new node material observer.
builder
The node builder.
Whether the node builder's 3D object is animated or not.
Whether the material uses node objects or not.
A list of all possible material uniforms
Holds the current render ID from the node frame.
Default is 0.
A node material can be used by more than one render object so the monitor must maintain a list of render objects.
Returns true if the node builder's material uses node properties.
builder
The current node builder.
Returns: Whether the node builder's material uses node properties or not.
Returns true if the given render object has not changed its state.
renderObject
The render object.
lightsData
The current material lights.
Returns: Whether the given render object has changed its state or not.
Returns true if the given render object is verified for the first time of this observer.
renderObject
The render object.
Returns: Whether the given render object is verified for the first time of this observer.
Returns an attribute data structure holding the attributes versions for monitoring.
attributes
The geometry attributes.
Returns: An object for monitoring the versions of attributes.
Returns the lights for the given lights node and render ID.
lightsNode
The lights node.
renderId
The render ID.
Returns: The lights for the given lights node and render ID.
Returns the lights data for the given material lights.
materialLights
The material lights.
Returns: The lights data for the given material lights.
Returns a material data structure holding the material property values for monitoring.
material
The material.
Returns: An object for monitoring material properties.
Returns monitoring data for the given render object.
renderObject
The render object.
Returns: The monitoring data.
Checks if the given render object requires a refresh.
renderObject
The render object.
nodeFrame
The current node frame.
Returns: Whether the given render object requires a refresh or not.
Returns true if the current rendering produces motion vectors.
renderer
The renderer.
Returns: Whether the current rendering produces motion vectors or not.