opensourceBIM / BIMsurfer

The latest version of the BIM Surfer WebGL viewer for IFC
MIT License
382 stars 132 forks source link

Frustum.intersectsWorldAABB(minmax) #72

Open muren400 opened 4 years ago

muren400 commented 4 years ago

Hi,

the function Frustum.intersectsWorldAABB(minmax) is supposed to receive an AABB defined by its min Vector and its Dimensions.

Tests for intersection with World-space AABB, which is assumed to be: [xmin, ymin, zmin, xwidth, ywidth, zwidth]

But as I unterstand the algorithm, it should rather be a Minimum Vector and a Maximum Vector. Otherwise i get wrong results in TilingRenderLayer.cull(node) (line 88)

Also the name minmax seems a bit confusing when the second Component is supposed to be width, height and depth.

Thanks, Andreas

aothms commented 4 years ago

I think you're right. Thanks for spotting this. I find the code hard to read to be honest. Perhaps if you already took the energy to understand what's written there perhaps you can rewrite it into glmatrix/vec3 operations so that it reads a bit more like vector math (it's probably some sort of dot product) and is easier to read. Or otherwise just submit a PR that fixes the issues you mentioned. Thanks in advance.

muren400 commented 3 years ago

send you a pull request.

https://github.com/opensourceBIM/BIMsurfer/pull/83