XGen ParallelRenderer calls the wrong callback

XGen ParallelRenderer calls the wrong callback

dimitar.toshev
Explorer Explorer
182 Views
0 Replies
Message 1 of 1

XGen ParallelRenderer calls the wrong callback

dimitar.toshev
Explorer
Explorer

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() ?

183 Views
0 Replies
Replies (0)