Initialize() should not take long since it blocks the UI. One should create a clone of the given node graph and access that clone in ComputeIteration().
For accessing and searching for nodes in the node graph, see GraphNodes Manual.
Settings provided in Initialize() are:
maxon::nodes::PREVIEWIMAGEREQUEST::TEXTURESIZE: Defines the requested preview size in pixels.
maxon::nodes::PREVIEWIMAGEREQUEST::SUBJECT: Points to the node requested for preview.
maxon::nodes::PREVIEWIMAGEREQUEST::PROGRESSIONTHRESHOLD: Constraints the iterative refinement.
maxon::nodes::PREVIEWIMAGEREQUEST::URANGE: For 2D previews defines the horizontal range to be sampled.
maxon::nodes::PREVIEWIMAGEREQUEST::VRANGE: For 2D previews defines the vertical range to be sampled.
maxon::nodes::PREVIEWIMAGEREQUEST::SCENETYPE: The type of the 3D scene. See also maxon::nodes::NODESPACE::MATERIALPREVIEWIDS.
maxon::nodes::PREVIEWIMAGEREQUEST::FLIPVERTICALLY: Defines whether a request was made for a flipped version
maxon::nodes::PREVIEWIMAGEREQUEST::TEXTUREIDS: The set of attributes requested for preview.
maxon::nodes::PREVIEWIMAGEREQUEST::PROVIDER: Defines the instance of a PreviewImageProviderRef that is used to compute the preview.
// This example implementation of PreviewImageProviderInterface::Initialize() stores the given texture size,
// the node path and creates a copy of the given node graph.