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

Accuracy of volumetric renderer #1584

Open
bran-jnw opened this issue May 25, 2023 · 4 comments
Open

Accuracy of volumetric renderer #1584

bran-jnw opened this issue May 25, 2023 · 4 comments
Assignees

Comments

@bran-jnw
Copy link

I am seeing rather large discrepancies between the slice render and the volumetric renderer for the smoke_test.fds, and when enabling the GPU with adaptive integration it seems to be broken on my end (latest drivers using a RTX 2080 Super on Windows 11).

This is the slice renderer (0.125 m cells):
image

Which is in line with the verification test:
image

This is the volumetric renderer without GPU with adaptive integration on (does not seem to do anything when toggling):
image

And this is the volumetric renderer using the GPU with adaptive integration:
image

And this is without adaptive integration and GPU:
image

I assume the difference/bug is in the step length done in the ray marching process since it changes when unticking the adaptive integration.

Also, from my quick view (I only looked quickly at shaders.c and the SetVolSmokeShaders section) it does not look like Smokeview uses this approach to step length:

https://github.com/cgyurgyik/fast-voxel-traversal-algorithm/blob/master/overview/FastVoxelTraversalOverview.md

But this approach actually seems to be very suitable for traversing the mesh data (voxels), enabling use of all of the available data and reducing banding due to semi-set step length being used now (with the downside of being potentially slower due to it being impossible to do loop unrolling by the shader compiler, but it is done in a while-loop now anyway and with the default way Smokeview renders currently with only one frame once the camera is still I think speed is not an issue, ).

I also have issues with adding lights, it either crashes or doesn't show anything (it does render out the position but no in-scattering is being shown on screen), but since this is not a documented feature I assume it is a WIP.

@bran-jnw bran-jnw changed the title Improve accuracy of volumetric renderer Accuracy of volumetric renderer May 25, 2023
@gforney
Copy link
Contributor

gforney commented May 25, 2023 via email

@gforney
Copy link
Contributor

gforney commented May 26, 2023

what test case are you running?

@gforney
Copy link
Contributor

gforney commented May 26, 2023

also what version of smokeview are you using?

@bran-jnw
Copy link
Author

Running this test case:
https://github.com/firemodels/smv/blob/master/Verification/Visualization/smoke_test.fds
Using version SMV-6.8.0-0-gd02fd68-release

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