Correct frustum culling

Iñigo Quilez wrote a little article that I thought was interesting, one of those “Doh! didn’t think of that” moments :slight_smile:

http://www.iquilezles.org/www/articles/frustumcorrect/frustumcorrect.htm

I wonder if the engine does it “correctly”?
Don’t have jME set up right now so I only browsed the source from the web (i.e. I probably missed a lot) but I couldn’t find that ‘reverse’ check iq writes about in the article. Maybe jME doesn’t do it “correctly” :slight_smile:

1 Like

Where did you look?

I looked in Camera that delegates to bounding volume which lead me to BoundingBox and the check for which side of the frustum planes things are.
But as I said, I didn’t look to carefully. Big chance I missed some vital part in the engine. The reason I posted was more that it was a nice article and maybe someone that knows the engine better than I do could look and see if that corner case was covered.

@jmaasing said: I looked in Camera that delegates to bounding volume which lead me to BoundingBox and the check for which side of the frustum planes things are. But as I said, I didn't look to carefully. Big chance I missed some vital part in the engine. The reason I posted was more that it was a nice article and maybe someone that knows the engine better than I do could look and see if that corner case was covered.
Its possible that we are vulnerable to this, since we simply check if the bound is within or intersects the plane. In the edge case shown, the bound intersects or is inside all of the planes but still should be culled. We don't have any workarounds to handle that edge case.