XGen ParallelRenderer calls the wrong callback
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I am trying to make use of the ParallelRenderer class to evaluate XGen faster, but I've run into a problem. In my code I pass a different ProceduralCallbacks for each FaceRenderer::init, then enqueue them to a ParallelRenderer and call spawnAndWait. Everything works, but XGen calls the callback registered on the PatchRenderer and not the individual callbacks registered on each FaceRenderer.
I want to have a different callback on each FaceRenderer, because I need to know which face generated which hair strands. I've tried using the FaceID_XS attribute from the PrimitiveCache, however from my reading of the documentation it seems that is not guaranteed to be present, and it does not match the face index passed to the FaceRenderer when delta files are used.
So I have two questions here:
Is the behaviour of calling the PatchRenderer's callback instead of the FaceRenderer's intended or a bug?
Is there any other way to determine which FaceRenderer corresponds to the current invocation of flush() ?