-
picking: don't want to pick hidden objects
hi
i got one problem: when i pick, i get also hit's from objects that are hidden by other objects and thus not visible. how do i stop openGL from returning hits for invisible objects?
thanks for help
_________________
-- hENON
-
Junior Member
Regular Contributor
Re: picking: don't want to pick hidden objects
You can't stop GL from also picking "hidden" objects unless you remove them by yourself.
But I see no problem in this, as you also get the Z-Values of the hits in your hit-buffer, which you can use to determine the nearest objects.
-
Re: picking: don't want to pick hidden objects
thank's that's what i need.
is there even more information in the hit results i dont know of?
-
Junior Member
Regular Contributor
Re: picking: don't want to pick hidden objects
Every hit in your selectionbuffer consits of a total of four values in this order, where n is the hit you process :
SelectBuffer[(n*4)] = Number of objects on the stack when the hit occured
SelectBuffer[(n*4)+1] = Smallest Z-Value of all vertices of the hit object
SelectBuffer[(n*4)+2] = Biggest Z-Value of that object
SelectBuffer[(n*4)+3] = Name of the hit object
Hope this answers your question!
-
Re: picking: don't want to pick hidden objects
yeah, thats great.
i suppose the order in the hit record depends directly on the order i am drawing the objects.
-
Advanced Member
Frequent Contributor
Re: picking: don't want to pick hidden objects
You could always use the hacky colour buffer trick where you draw the objects to the backbuffer only. Each object has it's own ID specified in the colour (use glColor3ub or glColor4ub) read the pixel back from the backbuffer.
The benefit of this is that if you enable depth buffering it will auotmatically do what you want.....
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules