neil@yc.estec.nl (Neil Dixon) (12/12/89)
Is it possible to pick from a device independent display list? As a first guess I assume that the only way to do it is to traverse the display list, issuing display_segment calls and checking for hits on the pick aperture, but how do I get the correct segment when using hidden surface removal? Do I have to traverse the list twice? -- Neil Dixon <neil@yc.estec.nl> UUCP:...!mcvax!esatst!neil, BITNET: NDIXON@ESTEC Thermal Control & Life Support Division (YC) European Space Research and Technology Centre (ESTEC), Noordwijk, The Netherlands.
stroyan@hpfcdq.HP.COM (Mike Stroyan) (12/13/89)
>Is it possible to pick from a device independent display list? Yes. >As a first guess I assume that the only way to do it is to traverse >the display list, issuing display_segment calls and checking for hits >on the pick aperture, but how do I get the correct segment when using >hidden surface removal? Do I have to traverse the list twice? The Starbase device independent display list supports pick_from_segment, but it does not support hidden surface removal. You could use a display device's Z buffer by starting hit mode on the display device and using display_segment or display_element calls seperated by inquire_hit calls as you described. You would need to traverse the list once to set up the Z buffer and once again to test for hits. This is discussed in the hit_mode(3G) manual entry. The same double traversal is performed inside a pick_from_segment from a display list on a device which has hidden_surface enabled. Mike Stroyan, stroyan@hpfcla.hp.com