Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Frustum Culling BufferGeometry #144

Closed
Rizzist opened this issue Aug 23, 2020 · 3 comments
Closed

Frustum Culling BufferGeometry #144

Rizzist opened this issue Aug 23, 2020 · 3 comments

Comments

@Rizzist
Copy link

Rizzist commented Aug 23, 2020

Not really an issue and not entirely related to the library. Basically I have a problem where parts of buffergeometry is not culled when cannot be seen, the entire geometry is rendered, leading to frame rate drop. Basically I am using this library for raycasting to something along the line of minecraft voxels. Not sure where else to ask but here, but will continue to research.

Excellent Library!

@gkjohnson
Copy link
Owner

Hello and thank you!

I'm not fully understanding your issue. Can you elaborate? Are you encountering a rendering problem that you would like to use this library for? Or for raycasting against voxels?

Do you have an example of the geometry to share?

@Rizzist
Copy link
Author

Rizzist commented Aug 23, 2020

Hello! Yes, basically the library works really well with raycasting against voxels when using buffer geometry, im not sure how bvh is organized, but I was thinking that perhaps there would be some way to cull geometry not visible in buffergeometry of voxel chunk. Here is small video (lagging because of recording, usually hits 45fps+ regardless of map size, havent found bottleneck yet, but fps drop happens on small chunk size aswell) https://streamable.com/cg58am

Been using chrome dev tools to find where browser is chocking.. Any advice would be appreciated!

@gkjohnson
Copy link
Owner

Without understanding the source of the slow down I can't really give advice, unfortunately. There area lot of different bottlenecks that could trigger low performance. If a small map still runs at low framerate then it doesn't sound like a frustum culling issue.

Specific app aside this library could be used for frustum culling with some hackery but I don't recommend it. You would likely run into other problems fairly quickly. At a broad stroke I would create a frustum shape caster and for every leaf that was intersected in a frame create a set of groups that renders the triangles in the leaf nodes. However with complex enough geometry and enough granularity in the tree you'd run into performance issues due to the number of draw calls.

Ultimately using something like a tiling solution built for rendering terrain would be a better approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants