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

Status of DX11RayIntervalSplatting? #9

Open
ScottJohnson2718 opened this issue Dec 21, 2016 · 1 comment
Open

Status of DX11RayIntervalSplatting? #9

ScottJohnson2718 opened this issue Dec 21, 2016 · 1 comment

Comments

@ScottJohnson2718
Copy link

I am using VoxelHash with a Geforce965M and a Kinect V1. The camera is fixed on the desk so the scene is just the wall opposite my desk with another desk and chair in the scene. The scene is one frustum and is pretty small. A sample timing snapshot is

Total Time Filter Color: 0.204405
Total Time Filter Depth: 1.21188
Total Time RGBD Adapter: 1.15558
Total Time RayCast: 39.6679 <--- Look here
Total Time Compactify Hash: 1.15764
Total Time Alloc: 0.35257
Total Time Integrate: 0.358649

Obviously the rayCasting is taking the most time by far. There is code to implement splatting of some sort in the ray caster. Splatting is a fast way to render a lot of voxels. Perhaps the original authors tried this approach and either gave it up or ran out of time. Currently in VoxelHash the rayIntervalSplatting isn't being called but the code is still there.

How far was this taken and am I right in thinking that it was coded to address the rayCasting speed?

Scott

@ScottJohnson2718
Copy link
Author

The rayIntervalSplatting does help with the speed in my tests. It renders the voxels to a buffer that determines the nearest distance for each pixel and then it renders again to a buffer that shows the furthest distance. Then each ray in the ray cast renderer only needs to traverse from the min distance to the max instead of the entire ray. The RayCast is by far the slowest function of VoxelHash and this is a speed up as measured by the internal timers. It appears to work fine because the results are the same with it on and with it off but it is faster. I coded it so I can hit a key and toggle it on/off.

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

1 participant