Jump to content
  • Advertisement
Sign in to follow this  
howbizarre79

Occlusion Techniques !!!

This topic is 4854 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

Hi, Finally I am done with ABTs, thanks to all the people at GameDev. Now the next step is to have occlusion culling. To start with I will like to know what are the techniques available for the purpose and where can i find information on those techniques. I have read the Occlusion Threads in "Greatest Hits by Yann" Section, but I will really appreciate if someone can send me links, where I can find further information on the various techniques mentioned. Regards, Hussain

Share this post


Link to post
Share on other sites
Advertisement
From what i've read the most useful occlusion culling techniques for real-time rendering are conservative image space techniques, if you do a google search on siggraph papers on visibility techniques, also check the one of the reference manuals on dPVS library which also describe most of visibility algorithms available to date.

I think Yann uses a modified version of the hierarchical occlusion maps (HOMs) algorithm, you can also find the original paper on google.

[Edited by - snk_kid on February 15, 2005 9:57:39 AM]

Share this post


Link to post
Share on other sites
i've coded different occlusion culling algorithm and as far as i know
they have some glithces too, one is that you should separate your rendering geometry by the occlusion geometry , i mean you will end to have two maps for the same geometrical topology , one for rendering and one with a lower level of detail for occlusion , more over the occlusion culling itslef isn't handled very wel by the video board due to bubbles in the pipeline, so Yann and others
uses a software rasterizer , in parallel with the opengl pipeline, the advantage is that you might end up with a lower resolution and a fast rasterizer, i advice you not to render every single triangle, render a polysoup made of coplanar or nearly coplanar triangles, again, detecting in real time when an occluder is a good occluder could kill the fps, heuristics are performed based on projective size of triangles, with today's trend pushing more and more triangles, on occlusion culler is overloaded with choices not always trivial , topology itslef isn't an easy topic, if you can affor to draw your level two times, go with that, i personally gave up occlusion culling one year ago , and moved towards portal , and of course i'm working an a ray tracer in my spare time waiting for gpus to do it for me in real time.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by ketek
i've coded different occlusion culling algorithm and as far as i know
they have some glithces too, one is that you should separate your rendering geometry by the occlusion geometry , i mean you will end to have two maps for the same geometrical topology , one for rendering and one with a lower level of detail for occlusion , more over the occlusion culling itslef isn't handled very wel by the video board due to bubbles in the pipeline, so Yann and others
uses a software rasterizer , in parallel with the opengl pipeline, the advantage is that you might end up with a lower resolution and a fast rasterizer, i advice you not to render every single triangle, render a polysoup made of coplanar or nearly coplanar triangles, again, detecting in real time when an occluder is a good occluder could kill the fps, heuristics are performed based on projective size of triangles, with today's trend pushing more and more triangles, on occlusion culler is overloaded with choices not always trivial , topology itslef isn't an easy topic, if you can affor to draw your level two times, go with that, i personally gave up occlusion culling one year ago , and moved towards portal , and of course i'm working an a ray tracer in my spare time waiting for gpus to do it for me in real time.


There's this thing called a period represented by a '.' that is used to separate sentences. Sentences are grammatical constructs that are used to delineate ideas. Paragraphs are used to organize sentances into relatively related subjects. Line breaks are used to separate paragraphs for easy readibility.

There, now you have no more excuses.

Share this post


Link to post
Share on other sites
Thanks anonimous poster, since now i will be more carefull about my grammar
and thanks not lowering my user rate like someone of you did just because i gave a rude answer.

Share this post


Link to post
Share on other sites


I use directx9 occlusing query with a dynamic algorithm. Do you think it s a good way compare with method quoted here ?

/


Well from my findings, so far, the software based methods are much better than the hardware based methods. Reason being, in hardware based methods there is a continuous communication going on between CPU and GPU. In software based methods you can execute your Occlusion Queries parallel to your Rendering i-e, during the time, GPU is busy rendering the current frame, you can do your Occlusion Calcualtions on your CPU.
Please correct me if I am wrong.

Regards,
Hussain.

Share this post


Link to post
Share on other sites
Quote:
Original post by howbizarre79

Well from my findings, so far, the software based methods are much better than the hardware based methods...
... Please correct me if I am wrong.

Regards,
Hussain.


You got that right. Actually while your GPU is busy in rendering you have ample of time to do occlusion culling, play some songs, watch a DVD and wash your clothes :D. Which GPU are you using anyway? TNT 1 :D.

Share this post


Link to post
Share on other sites
btw. I dont know about anyone else... but I personally dont think that occlusion culling will help you out that much in your game since you already have optimized your drawing by using ABTs.

I seriously think that the overhead of discarding the few faces would be way more than just simply drawing them. I would suggest that you look at some other techniques out there to optimize your drawing.

Correct me guys if Im wrong...

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.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!