Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 6 of 6

Thread: picking: don't want to pick hidden objects

  1. #1
    Guest

    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

  2. #2
    Junior Member Regular Contributor
    Join Date
    May 2003
    Location
    Germany
    Posts
    232

    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.

  3. #3
    Guest

    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?

  4. #4
    Junior Member Regular Contributor
    Join Date
    May 2003
    Location
    Germany
    Posts
    232

    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!

  5. #5
    Guest

    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.

  6. #6
    Advanced Member Frequent Contributor
    Join Date
    May 2000
    Location
    Oxford, England
    Posts
    547

    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
  •