An object modifier must indicate to the system which channels of the pipeline it is going to modify. To do this, the modifier needs to override the method Modifier::ChannelsChanged()
. This method returns a ChannelMask
to indicate what channels are changed and that need to be copied by the geometry pipeline. For example, consider a TriObject
and a modifier that modifies the geometry channel. Only the geometry channel (vertices) of the TriObject need to be copied before the modifier is applied to the object (not the faces, UV coordinates, material assignments, or anything else).
The method SimpleMod::ChannelsChanged()
provides a default implementation that returns PART_GEOM
. This means that only the geometry channel (i.e. the vertices) are actually modified.
The return value PART_ALL
can be returned from a modifier's Modifier::ChannelsChanged()
function but this can cause excessive copying of data and can slow things down.