Andrew Ng (nga++at++division.co.uk)
Thu, 25 Apr 1996 13:29:16 +-100
I've been trying to implement a method for reducing the latency of the view position when rendering in multi-process mode in Performer 2.0. Basically the method is to over cull in the CULL stage and then to insert the current view position into the DRAW stage from the APP.
I've managed to achieve the over culling, and the insertion of the view position into the DRAW using pfLoadMatrix in the draw callback. However, the problem I'm facing now is the synchronization between the APP and the DRAW. This is particularly important when dealing with multiple channels and pipes which need to stay in sync. Basically I need to somehow ensure that the DRAW gets the latest view position that the APP has received, but at the same time for multiple channels and/or pipes, I need to make sure that all the DRAW stages get the view positions from the same sample time in the APP, otherwise the views will drift.
I've been looking at the Performer multi-process model, trying to understand how it behaves in the various phase modes, in order to try to find a solution to the problem above. In particular how it works when there are multiple channels and/or multiple CULL and DRAW processes. What exactly does pfSync and pfFrame do in these situations? How do the processes synchronize to each other?
Any help, suggestions or comments would be greatly appreciated.
Thanks.
------------------------------------------------------------------------------
Andrew Ng (Software Engineer)
Division Limited, 19 Apex Court, Email: nga++at++division.co.uk
Woodlands, Almondsbury. Tel: +44 (0)1454 615554
Bristol BS12 4JT. UK. Fax: +44 (0)1454 615532
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:52:46 PDT