Jump to content
  • Advertisement
Sign in to follow this  

Image space occlusion culling and occluder clipping

This topic is 1929 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am trying to use this library ISOCE to help my scene culling. So i generated my occluder (just one quad for test) and everything culls correct if whole occlusion quad is in view:


but getting incorrect results if it crosses screen boundaries:


There is mention about that in librarys documentation:

The occluder Data contains the Quads that represent the virtual occluders.
The quads expected must:

        Be in Screen Space:

The x and y coordinates should be between 0 and BufferSizeX - 1. If the Occlusion Buffer is downsampled, then you should scale the points too.

        Have a Correct Depth Value:
        The depth should be a value between 0 and 1 (inclusive). If Occluder Boxes lay behind the near plane, clip the quads manually.

Since i am not math wizard i have tried and found some article with source about polygon clipping which might suit my need.



Now i can obtain clipped vertices but don't know how to obtain depth data for those since i need that also? Please, any help?

Thank you for your time.

Share this post

Link to post
Share on other sites


Found some C# demo (with code) in their download package which does the job. I needed to clip polygons in "world space" against frustum planes and then transform to "screen space".



Edited by belfegor

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!