Is anyone seeing scene flashing at all

This is a redo of one of the regressions I posted previously. I have determined whenever I do a pick, either old school or as described in th XIN, I see what appears to be a single frame flash ( on / off) of all of the non-pickable objects in the scene.

Basically…

1 - scene renders correctly
2 - make any kind of pick call and non-pickable object sdisappear, pickable ob=jects remain
3 - once pick is complete all objects render

Walking the code a bit I see where in Canvas3D there are some single scene render calls made when a pick is called. I wonder if something is requiring all of the objects to be picked to be render in this mode. I am unfamiliar with this part of Xith. Any thoughts appreciated.

Note : In older versions of Xith this does no happen. :’(

And just as I said in the other thread, an example would help a lot ;D.

I reworked the whole picking code in Canvas3D, CanvasPeer(Impl), etc. This what was called “old-school” picking and works with “GLSelect”. It was just way too slow and PickingLibrary was much more comfortable and faster. Now GLSelect picking should be faster and at least as comfortable as PickingLibrary picking and should be the preferred way. Well long story short sense, it can be, that this error is new in current xith version. The render call is necessary, because the actual picking is done by OpenGL. It is not a real rendering, but done in a similar way.

Please, send me an example, where the error occurrs. I haven’t seen it so far.

Marvin

Try this

modify the SphereMotionLightingTest as follows…

1- in createSceneGraph after this line…

l2Trans.addChild(new Shape3D(TestUtils.createSphere(0.05f, 10), appL2));

add

   l2Trans.setPickable(false);

in [b]main/b add this and create the appropriate global vars

    myView=env.getView();
    myCanvas=canvas;

in the loopIteration call add this as the last line

// PickRenderResult[] results = myView.pick(myCanvas, 0,0, 3, 3);

When commented the green sphere is displayed, uncomment and, for me at least, it disappears.

OK, thanks. I’ll check it.

The problem is fixed. but
The problem didn’t appear in PickingLibrary picking. If you don’t face those problems described in the other thread, use GLSelect picking.

view.pick() should never be used. It is deprecated. (BTW. It is dispatched to canvas.pickAll()).
canvas.pick*() uses GLSelect picking, PickingLibrary.pick*() doesn’t. Sheduled picking of ExtXith3dEnvironment.pick*() uses PickingLibrary picking.

These are the three available ways to do picking. Chose the one of your liking.

Marvin

will try it out… ;D