Bernd Froehlich (bernd++at++viswiz.gmd.de)
Tue, 1 Mar 94 15:37:19 MET
1. what is the best way to do a point in bounding box/bounding sphere
test with Performer? I have a hierarchical scene graph with DCSs
attached to each inner and leaf node.
I thought about using pfSegsIsectNode with a zero length segment but
I think this won't help because it actually computes the
intersection of the line segment with the bounding spheres or triangles.
And if the line segment is a point it will never return an intersection.
2. We are working on a stereo-application using quad buffers.
There are two channels attached to a pipe which are linked together as
a channel group. The draw callback switches left- and rightbuffers.
The left and right eye view are set using
pfChanViewMat(chanLeft, LeftEyeView);
pfChanViewMat(chanRight, RightEyeView);
and the frustum by
pfMakePerspFrust( chanLeft, xminl, xmaxl, yminl, ymaxl );
pfFrustAspect(chanLeft, PFFRUST_CALC_VERT, TableAspect);
pfFrustNearFar( chanLeft, Z_Near, Z_Far );
pfMakePerspFrust( chanRight, xminr, xmaxr, yminr, ymaxr );
pfFrustAspect(chanRight, PFFRUST_CALC_VERT, TableAspect);
pfFrustNearFar( chanRight, Z_Near, Z_Far );
The view matrices and frustra are updated for every frame and this
seems to be a problem.
Everything works fine if pfMultiprocess(PFMP_APPCULLDRAW) or
pfMultiprocess(PFMP_APP_CULLDRAW) is set, but using
pfMultiprocess(PFMP_DEFAULT) causes a flickering view.
The objects are moving correctly only the view is flickering.
We kept the view matrices constant which doesn't help.
Then we kept the frustra constant, only changing the view matrices
which also doesn't help.
Only if you keep the viewing matrices and the frustra constant
then it works. Seems that the viewing information is not mp safe?
It would be possible to keep the viewing matrices constant and to
transform the objects into a fixed viewing coordinate system, but the
viewing frustra have to be changed for each frame in our application.
I had already a short discussion with Michael Jones and he wrote:
>This is a multiprocessing problem. Use "passthrough" data and you
>will be ok. Look and the pfPassChanData() man page for details on
>this. Your data is changing before you use it.
Shouldn't be the viewing information automatically copied
into passthrough-buffers if I call pfFrame? So is it a bug or not?
What should I put into passthrough data? I can't put the
pfChannel itself into passthrough data. It is possible to do
the stuff with GL-calls and pass-through data inside the
draw callback but this is not the way it should be.
Bernd
-------------------------------------------------------------------------
Bernd Froehlich
Scientific Visualization Dept.
GMD
Schloss Birlinghoven
D-53757 St. Augustin
Germany
-------------------------------------------------------------------------
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:50:11 PDT